1 #############################################################
2 # WARNING: automatically generated file, DO NOT CHANGE! #
3 #############################################################
5 # This file was automatically generated by the expand-yaml-anchors tool. The
6 # source file that generated this one is:
8 # src/ci/github-actions/ci.yml
10 # Once you make changes to that file you need to run:
12 # ./x.py run src/tools/expand-yaml-anchors/
14 # The CI build will fail if the tool is not run after changes to this file.
35 CI_JOB_NAME: "${{ matrix.name }}"
36 SCCACHE_BUCKET: rust-lang-ci-sccache2
37 TOOLSTATE_REPO: "https://github.com/rust-lang-nursery/rust-toolstate"
38 CACHE_DOMAIN: ci-caches.rust-lang.org
39 if: "github.event_name == 'pull_request'"
46 - name: x86_64-gnu-llvm-8
49 - name: x86_64-gnu-tools
51 CI_ONLY_WHEN_SUBMODULES_CHANGED: 1
54 runs-on: "${{ matrix.os }}"
56 - name: disable git crlf conversion
57 run: git config --global core.autocrlf false
58 - name: checkout the source code
59 uses: actions/checkout@v1
62 - name: configure the PR in which the error message will be posted
63 run: "echo \"[CI_PR_NUMBER=$num]\""
65 num: "${{ github.event.number }}"
66 if: "success() && !env.SKIP_JOBS && github.event_name == 'pull_request'"
67 - name: add extra environment variables
68 run: src/ci/scripts/setup-environment.sh
70 EXTRA_VARIABLES: "${{ toJson(matrix.env) }}"
71 if: success() && !env.SKIP_JOB
72 - name: decide whether to skip this job
73 run: src/ci/scripts/should-skip-this.sh
74 if: success() && !env.SKIP_JOB
75 - name: configure GitHub Actions to kill the build when outdated
76 uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
78 github_token: "${{ secrets.github_token }}"
79 if: "success() && !env.SKIP_JOB && github.ref != 'refs/heads/try' && !env.RUST_CI_TEMP_SKIP_CANCEL_OUTDATED"
80 - name: collect CPU statistics
81 run: src/ci/scripts/collect-cpu-stats.sh
82 if: success() && !env.SKIP_JOB
83 - name: show the current environment
84 run: src/ci/scripts/dump-environment.sh
85 if: success() && !env.SKIP_JOB
86 - name: install awscli
87 run: src/ci/scripts/install-awscli.sh
88 if: success() && !env.SKIP_JOB
89 - name: install sccache
90 run: src/ci/scripts/install-sccache.sh
91 if: success() && !env.SKIP_JOB
93 run: src/ci/scripts/install-clang.sh
94 if: success() && !env.SKIP_JOB
96 run: src/ci/scripts/install-wix.sh
97 if: success() && !env.SKIP_JOB
98 - name: ensure the build happens on a partition with enough space
99 run: src/ci/scripts/symlink-build-dir.sh
100 if: success() && !env.SKIP_JOB
101 - name: disable git crlf conversion
102 run: src/ci/scripts/disable-git-crlf-conversion.sh
103 if: success() && !env.SKIP_JOB
104 - name: install MSYS2
105 run: src/ci/scripts/install-msys2.sh
106 if: success() && !env.SKIP_JOB
107 - name: install MinGW
108 run: src/ci/scripts/install-mingw.sh
109 if: success() && !env.SKIP_JOB
110 - name: install ninja
111 run: src/ci/scripts/install-ninja.sh
112 if: success() && !env.SKIP_JOB
113 - name: enable ipv6 on Docker
114 run: src/ci/scripts/enable-docker-ipv6.sh
115 if: success() && !env.SKIP_JOB
116 - name: disable git crlf conversion
117 run: src/ci/scripts/disable-git-crlf-conversion.sh
118 if: success() && !env.SKIP_JOB
119 - name: checkout submodules
120 run: src/ci/scripts/checkout-submodules.sh
121 if: success() && !env.SKIP_JOB
122 - name: ensure line endings are correct
123 run: src/ci/scripts/verify-line-endings.sh
124 if: success() && !env.SKIP_JOB
125 - name: run the build
126 run: src/ci/scripts/run-build-from-ci.sh
128 AWS_ACCESS_KEY_ID: "${{ env.CACHES_AWS_ACCESS_KEY_ID }}"
129 AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.CACHES_AWS_ACCESS_KEY_ID)] }}"
130 TOOLSTATE_REPO_ACCESS_TOKEN: "${{ secrets.TOOLSTATE_REPO_ACCESS_TOKEN }}"
131 if: success() && !env.SKIP_JOB
132 - name: upload artifacts to S3
133 run: src/ci/scripts/upload-artifacts.sh
135 AWS_ACCESS_KEY_ID: "${{ env.ARTIFACTS_AWS_ACCESS_KEY_ID }}"
136 AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.ARTIFACTS_AWS_ACCESS_KEY_ID)] }}"
137 if: "success() && !env.SKIP_JOB && (github.event_name == 'push' || env.DEPLOY == '1' || env.DEPLOY_ALT == '1')"
141 CI_JOB_NAME: "${{ matrix.name }}"
142 SCCACHE_BUCKET: rust-lang-ci-sccache2
143 DEPLOY_BUCKET: rust-lang-ci2
144 TOOLSTATE_REPO: "https://github.com/rust-lang-nursery/rust-toolstate"
145 TOOLSTATE_ISSUES_API_URL: "https://api.github.com/repos/rust-lang/rust/issues"
147 CACHES_AWS_ACCESS_KEY_ID: AKIA46X5W6CZI5DHEBFL
148 ARTIFACTS_AWS_ACCESS_KEY_ID: AKIA46X5W6CZN24CBO55
149 CACHE_DOMAIN: ci-caches.rust-lang.org
150 if: "github.event_name == 'push' && (github.ref == 'refs/heads/try' || github.ref == 'refs/heads/try-perf') && github.repository == 'rust-lang-ci/rust'"
154 - name: dist-x86_64-linux
158 runs-on: "${{ matrix.os }}"
160 - name: disable git crlf conversion
161 run: git config --global core.autocrlf false
162 - name: checkout the source code
163 uses: actions/checkout@v1
166 - name: configure the PR in which the error message will be posted
167 run: "echo \"[CI_PR_NUMBER=$num]\""
169 num: "${{ github.event.number }}"
170 if: "success() && !env.SKIP_JOBS && github.event_name == 'pull_request'"
171 - name: add extra environment variables
172 run: src/ci/scripts/setup-environment.sh
174 EXTRA_VARIABLES: "${{ toJson(matrix.env) }}"
175 if: success() && !env.SKIP_JOB
176 - name: decide whether to skip this job
177 run: src/ci/scripts/should-skip-this.sh
178 if: success() && !env.SKIP_JOB
179 - name: configure GitHub Actions to kill the build when outdated
180 uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
182 github_token: "${{ secrets.github_token }}"
183 if: "success() && !env.SKIP_JOB && github.ref != 'refs/heads/try' && !env.RUST_CI_TEMP_SKIP_CANCEL_OUTDATED"
184 - name: collect CPU statistics
185 run: src/ci/scripts/collect-cpu-stats.sh
186 if: success() && !env.SKIP_JOB
187 - name: show the current environment
188 run: src/ci/scripts/dump-environment.sh
189 if: success() && !env.SKIP_JOB
190 - name: install awscli
191 run: src/ci/scripts/install-awscli.sh
192 if: success() && !env.SKIP_JOB
193 - name: install sccache
194 run: src/ci/scripts/install-sccache.sh
195 if: success() && !env.SKIP_JOB
196 - name: install clang
197 run: src/ci/scripts/install-clang.sh
198 if: success() && !env.SKIP_JOB
200 run: src/ci/scripts/install-wix.sh
201 if: success() && !env.SKIP_JOB
202 - name: ensure the build happens on a partition with enough space
203 run: src/ci/scripts/symlink-build-dir.sh
204 if: success() && !env.SKIP_JOB
205 - name: disable git crlf conversion
206 run: src/ci/scripts/disable-git-crlf-conversion.sh
207 if: success() && !env.SKIP_JOB
208 - name: install MSYS2
209 run: src/ci/scripts/install-msys2.sh
210 if: success() && !env.SKIP_JOB
211 - name: install MinGW
212 run: src/ci/scripts/install-mingw.sh
213 if: success() && !env.SKIP_JOB
214 - name: install ninja
215 run: src/ci/scripts/install-ninja.sh
216 if: success() && !env.SKIP_JOB
217 - name: enable ipv6 on Docker
218 run: src/ci/scripts/enable-docker-ipv6.sh
219 if: success() && !env.SKIP_JOB
220 - name: disable git crlf conversion
221 run: src/ci/scripts/disable-git-crlf-conversion.sh
222 if: success() && !env.SKIP_JOB
223 - name: checkout submodules
224 run: src/ci/scripts/checkout-submodules.sh
225 if: success() && !env.SKIP_JOB
226 - name: ensure line endings are correct
227 run: src/ci/scripts/verify-line-endings.sh
228 if: success() && !env.SKIP_JOB
229 - name: run the build
230 run: src/ci/scripts/run-build-from-ci.sh
232 AWS_ACCESS_KEY_ID: "${{ env.CACHES_AWS_ACCESS_KEY_ID }}"
233 AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.CACHES_AWS_ACCESS_KEY_ID)] }}"
234 TOOLSTATE_REPO_ACCESS_TOKEN: "${{ secrets.TOOLSTATE_REPO_ACCESS_TOKEN }}"
235 if: success() && !env.SKIP_JOB
236 - name: upload artifacts to S3
237 run: src/ci/scripts/upload-artifacts.sh
239 AWS_ACCESS_KEY_ID: "${{ env.ARTIFACTS_AWS_ACCESS_KEY_ID }}"
240 AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.ARTIFACTS_AWS_ACCESS_KEY_ID)] }}"
241 if: "success() && !env.SKIP_JOB && (github.event_name == 'push' || env.DEPLOY == '1' || env.DEPLOY_ALT == '1')"
245 CI_JOB_NAME: "${{ matrix.name }}"
246 SCCACHE_BUCKET: rust-lang-ci-sccache2
247 DEPLOY_BUCKET: rust-lang-ci2
248 TOOLSTATE_REPO: "https://github.com/rust-lang-nursery/rust-toolstate"
249 TOOLSTATE_ISSUES_API_URL: "https://api.github.com/repos/rust-lang/rust/issues"
251 CACHES_AWS_ACCESS_KEY_ID: AKIA46X5W6CZI5DHEBFL
252 ARTIFACTS_AWS_ACCESS_KEY_ID: AKIA46X5W6CZN24CBO55
253 CACHE_DOMAIN: ci-caches.rust-lang.org
254 if: "github.event_name == 'push' && github.ref == 'refs/heads/auto' && github.repository == 'rust-lang-ci/rust'"
264 - name: dist-aarch64-linux
270 - name: dist-arm-linux
273 - name: dist-armhf-linux
276 - name: dist-armv7-linux
279 - name: dist-i586-gnu-i586-i686-musl
282 - name: dist-i686-freebsd
285 - name: dist-i686-linux
288 - name: dist-mips-linux
291 - name: dist-mips64-linux
294 - name: dist-mips64el-linux
297 - name: dist-mipsel-linux
300 - name: dist-powerpc-linux
303 - name: dist-powerpc64-linux
306 - name: dist-powerpc64le-linux
309 - name: dist-riscv64-linux
312 - name: dist-s390x-linux
315 - name: dist-various-1
318 - name: dist-various-2
321 - name: dist-x86_64-freebsd
324 - name: dist-x86_64-illumos
327 - name: dist-x86_64-linux
330 - name: dist-x86_64-linux-alt
332 IMAGE: dist-x86_64-linux
334 - name: dist-x86_64-musl
337 - name: dist-x86_64-netbsd
343 - name: i686-gnu-nopt
358 - name: x86_64-gnu-aux
361 - name: x86_64-gnu-debug
364 - name: x86_64-gnu-distcheck
367 - name: x86_64-gnu-llvm-8
371 - name: x86_64-gnu-nopt
374 - name: x86_64-gnu-tools
376 DEPLOY_TOOLSTATES_JSON: toolstates-linux.json
378 - name: x86_64-msvc-1
380 RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --enable-profiler"
381 SCRIPT: make ci-subset-1
382 NO_DEBUG_ASSERTIONS: 1
383 NO_LLVM_ASSERTIONS: 1
384 os: windows-latest-xl
385 - name: x86_64-msvc-2
387 RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --enable-profiler"
388 SCRIPT: make ci-subset-2
389 os: windows-latest-xl
392 RUST_CONFIGURE_ARGS: "--build=i686-pc-windows-msvc"
393 SCRIPT: make ci-subset-1
394 NO_DEBUG_ASSERTIONS: 1
395 NO_LLVM_ASSERTIONS: 1
396 os: windows-latest-xl
399 RUST_CONFIGURE_ARGS: "--build=i686-pc-windows-msvc"
400 SCRIPT: make ci-subset-2
401 NO_DEBUG_ASSERTIONS: 1
402 NO_LLVM_ASSERTIONS: 1
403 os: windows-latest-xl
404 - name: x86_64-msvc-cargo
406 SCRIPT: python x.py --stage 2 test src/tools/cargotest src/tools/cargo
407 RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --enable-lld"
408 VCVARS_BAT: vcvars64.bat
409 NO_DEBUG_ASSERTIONS: 1
410 NO_LLVM_ASSERTIONS: 1
411 os: windows-latest-xl
412 - name: x86_64-msvc-tools
414 SCRIPT: src/ci/docker/host-x86_64/x86_64-gnu-tools/checktools.sh x.py /tmp/toolstate/toolstates.json windows
415 RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --save-toolstates=/tmp/toolstate/toolstates.json"
416 os: windows-latest-xl
419 RUST_CONFIGURE_ARGS: "--build=i686-pc-windows-gnu"
420 SCRIPT: make ci-mingw-subset-1
422 NO_DEBUG_ASSERTIONS: 1
423 NO_LLVM_ASSERTIONS: 1
424 os: windows-latest-xl
427 RUST_CONFIGURE_ARGS: "--build=i686-pc-windows-gnu"
428 SCRIPT: make ci-mingw-subset-2
430 os: windows-latest-xl
431 - name: x86_64-mingw-1
433 SCRIPT: make ci-mingw-subset-1
434 RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-gnu --enable-profiler"
436 NO_DEBUG_ASSERTIONS: 1
437 NO_LLVM_ASSERTIONS: 1
438 os: windows-latest-xl
439 - name: x86_64-mingw-2
441 SCRIPT: make ci-mingw-subset-2
442 RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-gnu --enable-profiler"
444 os: windows-latest-xl
445 - name: dist-x86_64-msvc
447 RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --host=x86_64-pc-windows-msvc --target=x86_64-pc-windows-msvc,aarch64-pc-windows-msvc --enable-full-tools --enable-profiler"
448 SCRIPT: python x.py dist
449 DIST_REQUIRE_ALL_TOOLS: 1
450 os: windows-latest-xl
451 - name: dist-i686-msvc
453 RUST_CONFIGURE_ARGS: "--build=i686-pc-windows-msvc --host=i686-pc-windows-msvc --target=i586-pc-windows-msvc --enable-full-tools --enable-profiler"
454 SCRIPT: python x.py dist
455 DIST_REQUIRE_ALL_TOOLS: 1
456 os: windows-latest-xl
457 - name: dist-i686-mingw
459 RUST_CONFIGURE_ARGS: "--build=i686-pc-windows-gnu --enable-full-tools --enable-profiler"
460 SCRIPT: python x.py dist
462 DIST_REQUIRE_ALL_TOOLS: 1
463 os: windows-latest-xl
464 - name: dist-x86_64-mingw
466 SCRIPT: python x.py dist
467 RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-gnu --enable-full-tools --enable-profiler"
469 DIST_REQUIRE_ALL_TOOLS: 1
470 os: windows-latest-xl
471 - name: dist-x86_64-msvc-alt
473 RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --enable-extended --enable-profiler"
474 SCRIPT: python x.py dist
475 os: windows-latest-xl
477 runs-on: "${{ matrix.os }}"
479 - name: disable git crlf conversion
480 run: git config --global core.autocrlf false
481 - name: checkout the source code
482 uses: actions/checkout@v1
485 - name: configure the PR in which the error message will be posted
486 run: "echo \"[CI_PR_NUMBER=$num]\""
488 num: "${{ github.event.number }}"
489 if: "success() && !env.SKIP_JOBS && github.event_name == 'pull_request'"
490 - name: add extra environment variables
491 run: src/ci/scripts/setup-environment.sh
493 EXTRA_VARIABLES: "${{ toJson(matrix.env) }}"
494 if: success() && !env.SKIP_JOB
495 - name: decide whether to skip this job
496 run: src/ci/scripts/should-skip-this.sh
497 if: success() && !env.SKIP_JOB
498 - name: configure GitHub Actions to kill the build when outdated
499 uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
501 github_token: "${{ secrets.github_token }}"
502 if: "success() && !env.SKIP_JOB && github.ref != 'refs/heads/try' && !env.RUST_CI_TEMP_SKIP_CANCEL_OUTDATED"
503 - name: collect CPU statistics
504 run: src/ci/scripts/collect-cpu-stats.sh
505 if: success() && !env.SKIP_JOB
506 - name: show the current environment
507 run: src/ci/scripts/dump-environment.sh
508 if: success() && !env.SKIP_JOB
509 - name: install awscli
510 run: src/ci/scripts/install-awscli.sh
511 if: success() && !env.SKIP_JOB
512 - name: install sccache
513 run: src/ci/scripts/install-sccache.sh
514 if: success() && !env.SKIP_JOB
515 - name: install clang
516 run: src/ci/scripts/install-clang.sh
517 if: success() && !env.SKIP_JOB
519 run: src/ci/scripts/install-wix.sh
520 if: success() && !env.SKIP_JOB
521 - name: ensure the build happens on a partition with enough space
522 run: src/ci/scripts/symlink-build-dir.sh
523 if: success() && !env.SKIP_JOB
524 - name: disable git crlf conversion
525 run: src/ci/scripts/disable-git-crlf-conversion.sh
526 if: success() && !env.SKIP_JOB
527 - name: install MSYS2
528 run: src/ci/scripts/install-msys2.sh
529 if: success() && !env.SKIP_JOB
530 - name: install MinGW
531 run: src/ci/scripts/install-mingw.sh
532 if: success() && !env.SKIP_JOB
533 - name: install ninja
534 run: src/ci/scripts/install-ninja.sh
535 if: success() && !env.SKIP_JOB
536 - name: enable ipv6 on Docker
537 run: src/ci/scripts/enable-docker-ipv6.sh
538 if: success() && !env.SKIP_JOB
539 - name: disable git crlf conversion
540 run: src/ci/scripts/disable-git-crlf-conversion.sh
541 if: success() && !env.SKIP_JOB
542 - name: checkout submodules
543 run: src/ci/scripts/checkout-submodules.sh
544 if: success() && !env.SKIP_JOB
545 - name: ensure line endings are correct
546 run: src/ci/scripts/verify-line-endings.sh
547 if: success() && !env.SKIP_JOB
548 - name: run the build
549 run: src/ci/scripts/run-build-from-ci.sh
551 AWS_ACCESS_KEY_ID: "${{ env.CACHES_AWS_ACCESS_KEY_ID }}"
552 AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.CACHES_AWS_ACCESS_KEY_ID)] }}"
553 TOOLSTATE_REPO_ACCESS_TOKEN: "${{ secrets.TOOLSTATE_REPO_ACCESS_TOKEN }}"
554 if: success() && !env.SKIP_JOB
555 - name: upload artifacts to S3
556 run: src/ci/scripts/upload-artifacts.sh
558 AWS_ACCESS_KEY_ID: "${{ env.ARTIFACTS_AWS_ACCESS_KEY_ID }}"
559 AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.ARTIFACTS_AWS_ACCESS_KEY_ID)] }}"
560 if: "success() && !env.SKIP_JOB && (github.event_name == 'push' || env.DEPLOY == '1' || env.DEPLOY_ALT == '1')"
564 CI_JOB_NAME: "${{ matrix.name }}"
565 SCCACHE_BUCKET: rust-lang-gha-caches
566 DEPLOY_BUCKET: rust-lang-gha
567 TOOLSTATE_REPO: "https://github.com/pietroalbini/rust-toolstate"
568 TOOLSTATE_ISSUES_API_URL: "https://api.github.com/repos/pietroalbini/rust-toolstate/issues"
570 CACHES_AWS_ACCESS_KEY_ID: AKIA46X5W6CZOMUQATD5
571 ARTIFACTS_AWS_ACCESS_KEY_ID: AKIA46X5W6CZH5AYXDVF
572 CACHE_DOMAIN: ci-caches-gha.rust-lang.org
573 if: "github.event_name == 'push' && github.ref == 'refs/heads/auto' && github.repository == 'rust-lang-ci/rust'"
583 - name: dist-x86_64-apple
585 SCRIPT: "./x.py dist"
586 RUST_CONFIGURE_ARGS: "--host=x86_64-apple-darwin --target=aarch64-apple-ios,x86_64-apple-ios --enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false"
587 RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
588 MACOSX_DEPLOYMENT_TARGET: 10.7
589 NO_LLVM_ASSERTIONS: 1
590 NO_DEBUG_ASSERTIONS: 1
591 DIST_REQUIRE_ALL_TOOLS: 1
592 RUST_CI_TEMP_SKIP_CANCEL_OUTDATED: 1
594 - name: dist-x86_64-apple-alt
596 SCRIPT: "./x.py dist"
597 RUST_CONFIGURE_ARGS: "--enable-extended --enable-profiler --set rust.jemalloc --set llvm.ninja=false"
598 RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
599 MACOSX_DEPLOYMENT_TARGET: 10.7
600 NO_LLVM_ASSERTIONS: 1
601 NO_DEBUG_ASSERTIONS: 1
602 RUST_CI_TEMP_SKIP_CANCEL_OUTDATED: 1
606 SCRIPT: "./x.py --stage 2 test"
607 RUST_CONFIGURE_ARGS: "--build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false"
608 RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
609 MACOSX_DEPLOYMENT_TARGET: 10.8
610 MACOSX_STD_DEPLOYMENT_TARGET: 10.7
611 NO_LLVM_ASSERTIONS: 1
612 NO_DEBUG_ASSERTIONS: 1
613 RUST_CI_TEMP_SKIP_CANCEL_OUTDATED: 1
616 runs-on: "${{ matrix.os }}"
618 - name: disable git crlf conversion
619 run: git config --global core.autocrlf false
620 - name: checkout the source code
621 uses: actions/checkout@v1
624 - name: configure the PR in which the error message will be posted
625 run: "echo \"[CI_PR_NUMBER=$num]\""
627 num: "${{ github.event.number }}"
628 if: "success() && !env.SKIP_JOBS && github.event_name == 'pull_request'"
629 - name: add extra environment variables
630 run: src/ci/scripts/setup-environment.sh
632 EXTRA_VARIABLES: "${{ toJson(matrix.env) }}"
633 if: success() && !env.SKIP_JOB
634 - name: decide whether to skip this job
635 run: src/ci/scripts/should-skip-this.sh
636 if: success() && !env.SKIP_JOB
637 - name: configure GitHub Actions to kill the build when outdated
638 uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
640 github_token: "${{ secrets.github_token }}"
641 if: "success() && !env.SKIP_JOB && github.ref != 'refs/heads/try' && !env.RUST_CI_TEMP_SKIP_CANCEL_OUTDATED"
642 - name: collect CPU statistics
643 run: src/ci/scripts/collect-cpu-stats.sh
644 if: success() && !env.SKIP_JOB
645 - name: show the current environment
646 run: src/ci/scripts/dump-environment.sh
647 if: success() && !env.SKIP_JOB
648 - name: install awscli
649 run: src/ci/scripts/install-awscli.sh
650 if: success() && !env.SKIP_JOB
651 - name: install sccache
652 run: src/ci/scripts/install-sccache.sh
653 if: success() && !env.SKIP_JOB
654 - name: install clang
655 run: src/ci/scripts/install-clang.sh
656 if: success() && !env.SKIP_JOB
658 run: src/ci/scripts/install-wix.sh
659 if: success() && !env.SKIP_JOB
660 - name: ensure the build happens on a partition with enough space
661 run: src/ci/scripts/symlink-build-dir.sh
662 if: success() && !env.SKIP_JOB
663 - name: disable git crlf conversion
664 run: src/ci/scripts/disable-git-crlf-conversion.sh
665 if: success() && !env.SKIP_JOB
666 - name: install MSYS2
667 run: src/ci/scripts/install-msys2.sh
668 if: success() && !env.SKIP_JOB
669 - name: install MinGW
670 run: src/ci/scripts/install-mingw.sh
671 if: success() && !env.SKIP_JOB
672 - name: install ninja
673 run: src/ci/scripts/install-ninja.sh
674 if: success() && !env.SKIP_JOB
675 - name: enable ipv6 on Docker
676 run: src/ci/scripts/enable-docker-ipv6.sh
677 if: success() && !env.SKIP_JOB
678 - name: disable git crlf conversion
679 run: src/ci/scripts/disable-git-crlf-conversion.sh
680 if: success() && !env.SKIP_JOB
681 - name: checkout submodules
682 run: src/ci/scripts/checkout-submodules.sh
683 if: success() && !env.SKIP_JOB
684 - name: ensure line endings are correct
685 run: src/ci/scripts/verify-line-endings.sh
686 if: success() && !env.SKIP_JOB
687 - name: run the build
688 run: src/ci/scripts/run-build-from-ci.sh
690 AWS_ACCESS_KEY_ID: "${{ env.CACHES_AWS_ACCESS_KEY_ID }}"
691 AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.CACHES_AWS_ACCESS_KEY_ID)] }}"
692 TOOLSTATE_REPO_ACCESS_TOKEN: "${{ secrets.TOOLSTATE_REPO_ACCESS_TOKEN }}"
693 if: success() && !env.SKIP_JOB
694 - name: upload artifacts to S3
695 run: src/ci/scripts/upload-artifacts.sh
697 AWS_ACCESS_KEY_ID: "${{ env.ARTIFACTS_AWS_ACCESS_KEY_ID }}"
698 AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.ARTIFACTS_AWS_ACCESS_KEY_ID)] }}"
699 if: "success() && !env.SKIP_JOB && (github.event_name == 'push' || env.DEPLOY == '1' || env.DEPLOY_ALT == '1')"
702 runs-on: ubuntu-latest
704 SCCACHE_BUCKET: rust-lang-ci-sccache2
705 DEPLOY_BUCKET: rust-lang-ci2
706 TOOLSTATE_REPO: "https://github.com/rust-lang-nursery/rust-toolstate"
707 TOOLSTATE_ISSUES_API_URL: "https://api.github.com/repos/rust-lang/rust/issues"
709 CACHES_AWS_ACCESS_KEY_ID: AKIA46X5W6CZI5DHEBFL
710 ARTIFACTS_AWS_ACCESS_KEY_ID: AKIA46X5W6CZN24CBO55
711 CACHE_DOMAIN: ci-caches.rust-lang.org
712 if: "github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'rust-lang-ci/rust'"
714 - name: checkout the source code
715 uses: actions/checkout@v1
718 - name: publish toolstate
719 run: src/ci/publish_toolstate.sh
722 TOOLSTATE_REPO_ACCESS_TOKEN: "${{ secrets.TOOLSTATE_REPO_ACCESS_TOKEN }}"
723 if: success() && !env.SKIP_JOB
727 if: "success() && github.event_name == 'push' && (github.ref == 'refs/heads/try' || github.ref == 'refs/heads/try-perf') && github.repository == 'rust-lang-ci/rust'"
729 - name: mark the job as a success
732 name: bors build finished
733 runs-on: ubuntu-latest
737 if: "!success() && github.event_name == 'push' && (github.ref == 'refs/heads/try' || github.ref == 'refs/heads/try-perf') && github.repository == 'rust-lang-ci/rust'"
739 - name: mark the job as a failure
742 name: bors build finished
743 runs-on: ubuntu-latest
747 if: "success() && github.event_name == 'push' && github.ref == 'refs/heads/auto' && github.repository == 'rust-lang-ci/rust'"
749 - name: mark the job as a success
752 name: bors build finished
753 runs-on: ubuntu-latest
757 if: "!success() && github.event_name == 'push' && github.ref == 'refs/heads/auto' && github.repository == 'rust-lang-ci/rust'"
759 - name: mark the job as a failure
762 name: bors build finished
763 runs-on: ubuntu-latest