diff options
Diffstat (limited to 'syn-mid/ci')
-rw-r--r-- | syn-mid/ci/azure-clippy.yml | 31 | ||||
-rw-r--r-- | syn-mid/ci/azure-install-rust.yml | 33 | ||||
-rw-r--r-- | syn-mid/ci/azure-rustdoc.yml | 13 | ||||
-rw-r--r-- | syn-mid/ci/azure-rustfmt.yml | 18 | ||||
-rw-r--r-- | syn-mid/ci/azure-test.yml | 34 |
5 files changed, 129 insertions, 0 deletions
diff --git a/syn-mid/ci/azure-clippy.yml b/syn-mid/ci/azure-clippy.yml new file mode 100644 index 0000000..22165c6 --- /dev/null +++ b/syn-mid/ci/azure-clippy.yml @@ -0,0 +1,31 @@ +jobs: +- job: ${{ parameters.name }} + displayName: Clippy + pool: + vmImage: ubuntu-16.04 + + steps: + - template: azure-install-rust.yml + parameters: + rust: ${{ parameters.rust }} + + - script: | + set +e + if rustup component add clippy; then + set -e + else + set -e + target=`curl https://rust-lang.github.io/rustup-components-history/x86_64-unknown-linux-gnu/clippy` + echo "'clippy' is unavailable on the toolchain '${{ parameters.rust }}', use the toolchain 'nightly-$target' instead" + rustup toolchain install nightly-$target + rustup default nightly-$target + rustup component add clippy + rustup toolchain list + rustc -Vv + cargo -V + fi + cargo clippy --version + displayName: rustup component add clippy + + - script: cargo clippy --all --all-features + displayName: cargo clippy --all-features diff --git a/syn-mid/ci/azure-install-rust.yml b/syn-mid/ci/azure-install-rust.yml new file mode 100644 index 0000000..6b008c6 --- /dev/null +++ b/syn-mid/ci/azure-install-rust.yml @@ -0,0 +1,33 @@ +steps: + # Linux and macOS. + - script: | + set -e + curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain none + export PATH=$PATH:$HOME/.cargo/bin + rustup toolchain install $RUSTUP_TOOLCHAIN + rustup default $RUSTUP_TOOLCHAIN + echo "##vso[task.setvariable variable=PATH;]$PATH:$HOME/.cargo/bin" + env: + RUSTUP_TOOLCHAIN: ${{ parameters.rust }} + displayName: Install rust (*nix) + condition: not(eq(variables['Agent.OS'], 'Windows_NT')) + + # Windows. + - script: | + curl -sSf -o rustup-init.exe https://win.rustup.rs + rustup-init.exe -y --default-toolchain none + set PATH=%PATH%;%USERPROFILE%\.cargo\bin + rustup toolchain install %RUSTUP_TOOLCHAIN% + rustup default %RUSTUP_TOOLCHAIN% + echo "##vso[task.setvariable variable=PATH;]%PATH%;%USERPROFILE%\.cargo\bin" + env: + RUSTUP_TOOLCHAIN: ${{ parameters.rust }} + displayName: Install rust (windows) + condition: eq(variables['Agent.OS'], 'Windows_NT') + + # All platforms. + - script: | + rustup toolchain list + rustc -Vv + cargo -V + displayName: Query rust and cargo versions diff --git a/syn-mid/ci/azure-rustdoc.yml b/syn-mid/ci/azure-rustdoc.yml new file mode 100644 index 0000000..99a43ff --- /dev/null +++ b/syn-mid/ci/azure-rustdoc.yml @@ -0,0 +1,13 @@ +jobs: +- job: ${{ parameters.name }} + displayName: Rustdoc + pool: + vmImage: ubuntu-16.04 + + steps: + - template: azure-install-rust.yml + parameters: + rust: ${{ parameters.rust }} + + - script: RUSTDOCFLAGS=-Dwarnings cargo doc --no-deps --all --all-features + displayName: cargo doc --all-features diff --git a/syn-mid/ci/azure-rustfmt.yml b/syn-mid/ci/azure-rustfmt.yml new file mode 100644 index 0000000..0b20da3 --- /dev/null +++ b/syn-mid/ci/azure-rustfmt.yml @@ -0,0 +1,18 @@ +jobs: +- job: ${{ parameters.name }} + displayName: Rustfmt + pool: + vmImage: ubuntu-16.04 + + steps: + - template: azure-install-rust.yml + parameters: + rust: ${{ parameters.rust }} + + - script: | + rustup component add rustfmt + cargo fmt --version + displayName: rustup component add rustfmt + + - script: cargo fmt --all -- --check + displayName: cargo fmt -- --check diff --git a/syn-mid/ci/azure-test.yml b/syn-mid/ci/azure-test.yml new file mode 100644 index 0000000..32a56ed --- /dev/null +++ b/syn-mid/ci/azure-test.yml @@ -0,0 +1,34 @@ +parameters: + cmd: check + +jobs: +- job: ${{ parameters.name }} + displayName: ${{ parameters.displayName }} ${{ parameters.rust }} + strategy: + matrix: + Linux: + vmImage: ubuntu-16.04 + + ${{ if parameters.cross }}: + MacOS: + vmImage: macOS-10.13 + Windows: + vmImage: vs2017-win2016 + pool: + vmImage: $(vmImage) + + steps: + - template: azure-install-rust.yml + parameters: + rust: ${{ parameters.rust }} + + - script: | + cargo ${{ parameters.cmd }} + cargo ${{ parameters.cmd }} --all-features + displayName: cargo ${{ parameters.cmd }} + + - ${{ if eq(parameters.rust, 'nightly') }}: + - script: | + cargo update -Zminimal-versions + cargo check --all-features + displayName: cargo check -Zminimal-versions |