This repository has been archived by the owner on Jan 18, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
/
azure-pipelines.yml
133 lines (116 loc) · 3.67 KB
/
azure-pipelines.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
resources:
containers:
- container: tsukuyomi
image: ubntintrepid/tsukuyomi:latest
options: --security-opt seccomp=unconfined
jobs:
- job: Windows
pool:
vmImage: 'vs2017-win2016'
variables:
OPENSSL_DIR: C:\OpenSSL
OPENSSL_VERSION: 1_1_0j
steps:
- script: |
git submodule update --init --depth=1
displayName: 'sync local registry'
- script: |
mkdir %OPENSSL_DIR%
curl -sSfO http://slproweb.com/download/Win64OpenSSL-%OPENSSL_VERSION%.exe
Win64OpenSSL-%OPENSSL_VERSION%.exe /SILENT /VERYSILENT /SP- /DIR=%OPENSSL_DIR%
displayName: 'install OpenSSL'
- script: |
curl -sSf -o rustup-init.exe https://win.rustup.rs
rustup-init.exe -y --default-toolchain stable
set PATH=%PATH%;%USERPROFILE%\.cargo\bin
echo '##vso[task.setvariable variable=PATH;]%PATH%;%USERPROFILE%\.cargo\bin'
displayName: 'install rustup'
- script: |
rustup --version
rustc --version
cargo --version
displayName: 'show toolchain version'
- script: bash .ci/run_test.sh
displayName: 'run test script'
- job: macOS
pool:
vmImage: 'macOS-10.13'
steps:
- script: |
git submodule update --init --depth=1
displayName: 'sync local registry'
- script: |
curl -sSf https://sh.rustup.rs | sh -s -- --default-toolchain stable -y
echo "##vso[task.setvariable variable=PATH;]$PATH:$HOME/.cargo/bin"
displayName: 'install rustup'
- script: |
rustup --version
rustc --version
cargo --version
displayName: 'show toolchain version'
- script: bash .ci/run_test.sh
displayName: 'run test script'
- job: Linux
pool:
vmImage: 'ubuntu-16.04'
variables:
CARGO_TERM_VERBOSE: true
strategy:
matrix:
stable:
rust_toolchain: stable
beta:
rust_toolchain: beta
nightly:
rust_toolchain: nightly
minimum_supported:
rust_toolchain: 1.31.0
steps:
- script: |
git submodule update --init --depth=1
displayName: 'sync local registry'
- script: |
curl -sSf https://sh.rustup.rs | sh -s -- --default-toolchain $RUST_TOOLCHAIN -y
echo "##vso[task.setvariable variable=PATH;]$PATH:$HOME/.cargo/bin"
displayName: 'install rustup'
- script: |
rustup --version
rustc --version
cargo --version
displayName: 'show toolchain version'
- script: |
rustup component add rustfmt-preview clippy-preview
displayName: 'install supplemental components'
condition: eq(variables['rust_toolchain'], 'stable')
- script: bash .ci/run_test.sh
displayName: 'run test'
condition: ne(variables['rust_toolchain'], 'nightly')
- script: bash .ci/run_test.sh || true
displayName: 'run test (allow failure)'
condition: eq(variables['rust_toolchain'], 'nightly')
- bash: >-
rm -rf target/doc &&
bash .ci/build_doc.sh &&
bash .ci/deploy_doc.sh
displayName: 'deploy API doc'
condition: eq(variables['rust_toolchain'], 'stable')
env:
GH_TOKEN: $(myGitHubToken)
- job: linux_coverage
displayName: Linux (coverage test)
pool:
vmImage: 'ubuntu-16.04'
container: tsukuyomi
steps:
- script: |
git submodule update --init --depth=1
displayName: 'sync local registry'
- script: |
cargo --version
rustc --version
kcov --version
displayName: show tool versions
- script: bash .ci/run_coverage_test.sh
displayName: 'run coverage test'
env:
CODECOV_TOKEN: $(myCodecovToken)