Skip to content

Commit b36aeda

Browse files
committed
first try at an azure pipeline
1 parent bf97766 commit b36aeda

File tree

5 files changed

+97
-12
lines changed

5 files changed

+97
-12
lines changed

azure-pipelines.yml

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,34 @@
1-
21
trigger:
3-
- master
2+
- master
43

54
pr:
6-
- master
5+
- master
6+
7+
jobs:
8+
- template: ci/azure-install-apt-deps.yml
9+
condition: eq( variables['Agent.OS'], 'Linux' )
10+
11+
- template: ci/azure-rustfmt.yml
12+
parameters: rustfmt
713

8-
pool:
9-
vmImage: 'Ubuntu-16.04'
14+
- job: ${{ parameters.name }}
15+
displayName: ${{ parameters.displayName }}
16+
strategy:
17+
matrix:
18+
Linux:
19+
vmImage: ubuntu-16.04
20+
MacOS:
21+
vmImage: macOS-10.13
22+
Windows:
23+
vmImage: vs2017-win2016
24+
pool:
25+
vmImage: $(vmImage)
1026

11-
steps:
12-
- script: echo Hello, world!
13-
displayName: 'Run a one-line script'
27+
steps:
28+
- script: cargo test
29+
displayName: cargo test -p ${{ crate }}
30+
workingDirectory: $(Build.SourcesDirectory)/${{ crate }}
31+
condition: and(succeeded(), not(variables['isRelease']))
1432

15-
- script: |
16-
echo Add other tasks to build, test, and deploy your project.
17-
echo See https://aka.ms/yaml
18-
displayName: 'Run a multi-line script'
33+
- template: ci/azure-install-kcov.yml
34+
condition: eq( variables['Agent.OS'], 'Linux' )

ci/azure-install-apt-deps.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
jobs:
2+
# Check formatting
3+
- job: ${{ parameters.name }}
4+
displayName: Install Apt Deps
5+
pool:
6+
vmImage: ubuntu-16.04
7+
steps:
8+
- script: |
9+
sudo apt install zlib1g-dev libcurl4-openssl-dev libiberty-dev libdw-dev binutils-dev
10+
displayName: Install Packages

ci/azure-install-kcov.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
jobs:
2+
- job: ${{ parameters.name }}
3+
displayName: Install KCov
4+
pool:
5+
vmImage: ubuntu-16.04
6+
steps:
7+
- template: azure-install-rust.yml
8+
parameters:
9+
rust_version: stable
10+
- script: |
11+
cargo install cargo-update || echo "cargo-update already installed"
12+
cargo install cargo-travis || echo "cargo-travis already installed"
13+
cargo install-update -a
14+
displayName: Install cargo-update and cargo-travis
15+
- script: |
16+
cargo coverage --exclude-pattern '/toshi/src/bin,/src/bin,/bin,/target,/toshi/src/query/aggregate,/src/query/aggregate,/src/shutdown.rs,/src/support.rs' && bash <(curl -s https://codecov.io/bash) -s target/kcov
17+
cargo coveralls --exclude-pattern '/toshi/src/bin,/src/bin,/bin,/target,/toshi/src/query/aggregate,/src/query/aggregate,/src/shutdown.rs,/src/support.rs'
18+
displayName: Run KCov

ci/azure-install-rust.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
steps:
2+
# Linux and macOS.
3+
- script: |
4+
set -e
5+
curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain $RUSTUP_TOOLCHAIN
6+
echo "##vso[task.setvariable variable=PATH;]$PATH:$HOME/.cargo/bin"
7+
env:
8+
RUSTUP_TOOLCHAIN: ${{parameters.rust_version}}
9+
displayName: "Install rust (*nix)"
10+
condition: not(eq(variables['Agent.OS'], 'Windows_NT'))
11+
# Windows.
12+
- script: |
13+
curl -sSf -o rustup-init.exe https://win.rustup.rs
14+
rustup-init.exe -y --default-toolchain %RUSTUP_TOOLCHAIN%
15+
set PATH=%PATH%;%USERPROFILE%\.cargo\bin
16+
echo "##vso[task.setvariable variable=PATH;]%PATH%;%USERPROFILE%\.cargo\bin"
17+
env:
18+
RUSTUP_TOOLCHAIN: ${{parameters.rust_version}}
19+
displayName: "Install rust (windows)"
20+
condition: eq(variables['Agent.OS'], 'Windows_NT')
21+
# All platforms.
22+
- script: |
23+
rustc -Vv
24+
cargo -V
25+
displayName: Query rust and cargo versions

ci/azure-rustfmt.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
jobs:
2+
# Check formatting
3+
- job: ${{ parameters.name }}
4+
displayName: Check rustfmt
5+
pool:
6+
vmImage: $(vmImage)
7+
steps:
8+
- template: azure-install-rust.yml
9+
parameters:
10+
rust_version: stable
11+
- script: |
12+
rustup component add rustfmt
13+
displayName: Install rustfmt
14+
- script: |
15+
cargo fmt --all -- --check
16+
displayName: Check formatting

0 commit comments

Comments
 (0)