summaryrefslogtreecommitdiff
path: root/ci/azure.yml
blob: f908928935b00cc8d8ffce8c1ed23fdaf33fc110 (plain)
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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
variables:
  - group: secrets
resources:
  repositories:
    - repository: rustinfra
      type: github
      name: rust-lang/simpleinfra
      endpoint: gnzlbg
trigger: ["auto-libc","try"]
pr: ["master"]

jobs:
  - job: DockerLinuxTier1
    pool:
      vmImage: ubuntu-18.04
    steps:
      - template: azure-install-rust.yml
      - bash: LIBC_CI=1 sh ./ci/run-docker.sh $TARGET
        displayName: Execute run-docker.sh
    strategy:
      matrix:
        i686-unknown-linux-gnu:
          TARGET: i686-unknown-linux-gnu
        x86_64-unknown-linux-gnu:
          TARGET: x86_64-unknown-linux-gnu

  - job: DockerLinuxTier2
    #dependsOn: DockerLinuxTier1
    pool:
      vmImage: ubuntu-18.04
    steps:
      - template: azure-install-rust.yml
      - bash: LIBC_CI=1 sh ./ci/run-docker.sh $TARGET
        displayName: Execute run-docker.sh
    strategy:
      matrix:
        # FIXME: Disabled due to https://github.com/rust-lang/libc/issues/1765
        # aarch64-unknown-linux-android:
        #   TARGET: aarch64-linux-android
        aarch64-unknown-linux-gnu:
          TARGET: aarch64-unknown-linux-gnu
        aarch64-unknown-linux-musl:
          TARGET: aarch64-unknown-linux-musl
        arm-linux-androideabi:
          TARGET: arm-linux-androideabi
        arm-unknown-linux-gnueabihf:
          TARGET: arm-unknown-linux-gnueabihf
        arm-unknown-linux-musleabihf:
          TARGET: arm-unknown-linux-musleabihf
        # Disabled because currently broken, see:
        # https://github.com/rust-lang/libc/issues/1591
        # asmjs-unknown-emscripten:
        #  TARGET: asmjs-unknown-emscripten
        # FIXME: Disabled due to https://github.com/rust-lang/libc/issues/1765
        # i686-linux-android:
        #   TARGET: i686-linux-android
        i686-unknown-linux-musl:
          TARGET: i686-unknown-linux-musl
        mips-unknown-linux-gnu:
          TARGET: mips-unknown-linux-gnu
        mips-unknown-linux-musl:
          TARGET: mips-unknown-linux-musl
        mips64-unknown-linux-gnuabi64:
          TARGET: mips64-unknown-linux-gnuabi64
        mips64el-unknown-linux-gnuabi64:
          TARGET: mips64el-unknown-linux-gnuabi64
        mipsel-unknown-linux-musl:
          TARGET: mipsel-unknown-linux-musl
        #powerpc-unknown-linux-gnu:
        #  TARGET: powerpc-unknown-linux-gnu
        powerpc64-unknown-linux-gnu:
          TARGET: powerpc64-unknown-linux-gnu
        powerpc64le-unknown-linux-gnu:
          TARGET: powerpc64le-unknown-linux-gnu
        s390x-unknown-linux-gnu:
          TARGET: s390x-unknown-linux-gnu
        riscv64gc-unknown-linux-gnu:
          TARGET: riscv64gc-unknown-linux-gnu
        #wasm32-wasi
        #  TARGET: wasm32-wasi
        sparc64-unknown-linux-gnu:
          TARGET: sparc64-unknown-linux-gnu
        wasm32-unknown-emscripten:
          TARGET: wasm32-unknown-emscripten
        x86_64-linux-android:
          TARGET: x86_64-linux-android
        x86_64-unknown-linux-gnux32:
          TARGET: x86_64-unknown-linux-gnux32
        x86_64-unknown-linux-musl:
          TARGET: x86_64-unknown-linux-musl

  - job: DockerOSX64
    pool:
      vmImage: macos-10.15
    steps:
      - template: azure-install-rust.yml
      - bash: LIBC_CI=1 sh ./ci/run.sh $TARGET
        displayName: Execute run.sh
    strategy:
      matrix:
        x86_64-apple-darwin:
          TARGET: x86_64-apple-darwin

  - job: Windows
    pool:
      vmImage: vs2017-win2016
    steps:
      - template: azure-install-rust.yml
      - bash: LIBC_CI=1 sh ./ci/run.sh $TARGET
        displayName: Execute run.sh
    strategy:
      matrix:
        x86_64-pc-windows-gnu:
          TARGET: x86_64-pc-windows-gnu
          ARCH_BITS: 64
          ARCH: x86_64
        x86_64-pc-windows-msvc:
          TARGET: x86_64-pc-windows-msvc
        # Disabled because broken:
        #  https://github.com/rust-lang/libc/issues/1592
        #i686-pc-windows-gnu:
        #  TARGET: i686-pc-windows-gnu
        #  ARCH_BITS: 32
        #  ARCH: i686
        i686-pc-windows-msvc:
          TARGET: i686-pc-windows-msvc

  - job: StyleAndDocs
    pool:
      vmImage: ubuntu-18.04
    steps:
      - template: azure-install-rust.yml
      - script: sh ci/style.sh
        displayName: Check style
      - script: LIBC_CI=1 sh ci/dox.sh
        displayName: Generate documentation
      - template: azure-configs/static-websites.yml@rustinfra
        parameters:
          deploy_dir: target/doc

  - job: SemverLinux
    dependsOn: BuildChannelsLinux
    continueOnError: true
    pool:
      vmImage: ubuntu-18.04
    steps:
      - template: azure-install-rust.yml
      - script: sh ci/semver.sh linux
        displayName: Check breaking changes

  - job: SemverOSX
    dependsOn: BuildChannelsOSX
    continueOnError: true
    pool:
      vmImage: macos-10.15
    steps:
      - template: azure-install-rust.yml
      - script: sh ci/semver.sh osx
        displayName: Check breaking changes

  - job: BuildChannelsLinux
    dependsOn: StyleAndDocs
    pool:
      vmImage: ubuntu-18.04
    steps:
      - template: azure-install-rust.yml
      - script: LIBC_CI=1 sh ./ci/build.sh
        displayName: Execute build.sh
    strategy:
      matrix:
        stable:
          TOOLCHAIN: stable
        beta:
          TOOLCHAIN: beta
        nightly:
          TOOLCHAIN: nightly
        1.13.0:
          TOOLCHAIN: 1.13.0
        1.19.0:
          TOOLCHAIN: 1.19.0
        1.24.0:
          TOOLCHAIN: 1.24.0
        1.25.0:
          TOOLCHAIN: 1.25.0
        1.30.0:
          TOOLCHAIN: 1.30.0
    variables:
      OS: linux

  - job: BuildChannelsOSX
    dependsOn: StyleAndDocs
    pool:
      vmImage: macos-10.15
    steps:
      - template: azure-install-rust.yml
      - script: LIBC_CI=1 sh ./ci/build.sh
        displayName: Execute build.sh
    strategy:
      matrix:
        stable:
          TOOLCHAIN: stable
        beta:
          TOOLCHAIN: beta
        nightly:
          TOOLCHAIN: nightly
        1.13.0:
          TOOLCHAIN: 1.13.0
        1.19.0:
          TOOLCHAIN: 1.19.0
        1.24.0:
          TOOLCHAIN: 1.24.0
        1.25.0:
          TOOLCHAIN: 1.25.0
        1.30.0:
          TOOLCHAIN: 1.30.0
    variables:
      OS: osx