@@ -45,23 +45,23 @@ jobs:
4545 - name : Checkout the source code
4646 uses : actions/checkout@v4
4747 - name : Calculate the CI job matrix
48+ env :
49+ GITHUB_CTX : " ${{ toJSON(github) }}"
4850 run : python3 src/ci/github-actions/calculate-job-matrix.py >> $GITHUB_OUTPUT
4951 id : jobs
50- pr :
51- name : " PR - ${{ matrix.name }}"
52+ job :
53+ name : " ${{ matrix.name }}"
5254 needs :
5355 - calculate_matrix
5456 env :
55- PR_CI_JOB : 1
56- CI_JOB_NAME : " ${{ matrix.name }}"
57+ CI_JOB_NAME : " ${{ matrix.image }}"
5758 CARGO_REGISTRIES_CRATES_IO_PROTOCOL : sparse
5859 HEAD_SHA : " ${{ github.event.pull_request.head.sha || github.sha }}"
5960 DOCKER_TOKEN : " ${{ secrets.GITHUB_TOKEN }}"
6061 SCCACHE_BUCKET : rust-lang-ci-sccache2
6162 TOOLSTATE_REPO : " https://github.com/rust-lang-nursery/rust-toolstate"
6263 CACHE_DOMAIN : ci-caches.rust-lang.org
63- if : " github.event_name == 'pull_request'"
64- continue-on-error : " ${{ matrix.name == 'mingw-check-tidy' }}"
64+ continue-on-error : " ${{ matrix.continue_on_error || false }}"
6565 strategy :
6666 matrix :
6767 include : " ${{ fromJSON(needs.calculate_matrix.outputs.jobs) }}"
@@ -589,145 +589,6 @@ jobs:
589589 AWS_ACCESS_KEY_ID : " ${{ env.ARTIFACTS_AWS_ACCESS_KEY_ID }}"
590590 AWS_SECRET_ACCESS_KEY : " ${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.ARTIFACTS_AWS_ACCESS_KEY_ID)] }}"
591591 if : " success() && !env.SKIP_JOB && (github.event_name == 'push' || env.DEPLOY == '1' || env.DEPLOY_ALT == '1')"
592- try :
593- name : " try - ${{ matrix.name }}"
594- env :
595- DIST_TRY_BUILD : 1
596- CI_JOB_NAME : " ${{ matrix.name }}"
597- CARGO_REGISTRIES_CRATES_IO_PROTOCOL : sparse
598- HEAD_SHA : " ${{ github.event.pull_request.head.sha || github.sha }}"
599- DOCKER_TOKEN : " ${{ secrets.GITHUB_TOKEN }}"
600- SCCACHE_BUCKET : rust-lang-ci-sccache2
601- DEPLOY_BUCKET : rust-lang-ci2
602- TOOLSTATE_REPO : " https://github.com/rust-lang-nursery/rust-toolstate"
603- TOOLSTATE_ISSUES_API_URL : " https://api.github.com/repos/rust-lang/rust/issues"
604- TOOLSTATE_PUBLISH : 1
605- CACHES_AWS_ACCESS_KEY_ID : AKIA46X5W6CZI5DHEBFL
606- ARTIFACTS_AWS_ACCESS_KEY_ID : AKIA46X5W6CZN24CBO55
607- AWS_REGION : us-west-1
608- CACHE_DOMAIN : ci-caches.rust-lang.org
609- if : " github.event_name == 'push' && (((github.ref == 'refs/heads/try' || github.ref == 'refs/heads/try-perf') && github.repository == 'rust-lang-ci/rust') || ((github.ref == 'refs/heads/automation/bors/try') && github.repository == 'rust-lang/rust'))"
610- strategy :
611- matrix :
612- include :
613- - name : dist-x86_64-linux
614- env :
615- CODEGEN_BACKENDS : " llvm,cranelift"
616- os : ubuntu-20.04-16core-64gb
617- defaults :
618- run :
619- shell : " ${{ contains(matrix.os, 'windows') && 'msys2 {0}' || 'bash' }}"
620- timeout-minutes : 600
621- runs-on : " ${{ matrix.os }}"
622- steps :
623- - if : " contains(matrix.os, 'windows')"
624- uses : msys2/setup-msys2@v2.22.0
625- with :
626- msystem : " ${{ contains(matrix.name, 'i686') && 'mingw32' || 'mingw64' }}"
627- update : false
628- release : true
629- path-type : inherit
630- install : " make dos2unix diffutils\n "
631- - name : disable git crlf conversion
632- run : git config --global core.autocrlf false
633- - name : checkout the source code
634- uses : actions/checkout@v4
635- with :
636- fetch-depth : 2
637- - name : configure the PR in which the error message will be posted
638- run : " echo \" [CI_PR_NUMBER=$num]\" "
639- env :
640- num : " ${{ github.event.number }}"
641- if : " success() && !env.SKIP_JOB && github.event_name == 'pull_request'"
642- - name : add extra environment variables
643- run : src/ci/scripts/setup-environment.sh
644- env :
645- EXTRA_VARIABLES : " ${{ toJson(matrix.env) }}"
646- if : success() && !env.SKIP_JOB
647- - name : decide whether to skip this job
648- run : src/ci/scripts/should-skip-this.sh
649- if : success() && !env.SKIP_JOB
650- - name : ensure the channel matches the target branch
651- run : src/ci/scripts/verify-channel.sh
652- if : success() && !env.SKIP_JOB
653- - name : collect CPU statistics
654- run : src/ci/scripts/collect-cpu-stats.sh
655- if : success() && !env.SKIP_JOB
656- - name : show the current environment
657- run : src/ci/scripts/dump-environment.sh
658- if : success() && !env.SKIP_JOB
659- - name : install awscli
660- run : src/ci/scripts/install-awscli.sh
661- if : success() && !env.SKIP_JOB
662- - name : install sccache
663- run : src/ci/scripts/install-sccache.sh
664- if : success() && !env.SKIP_JOB
665- - name : select Xcode
666- run : src/ci/scripts/select-xcode.sh
667- if : success() && !env.SKIP_JOB
668- - name : install clang
669- run : src/ci/scripts/install-clang.sh
670- if : success() && !env.SKIP_JOB
671- - name : install tidy
672- run : src/ci/scripts/install-tidy.sh
673- if : success() && !env.SKIP_JOB
674- - name : install WIX
675- run : src/ci/scripts/install-wix.sh
676- if : success() && !env.SKIP_JOB
677- - name : disable git crlf conversion
678- run : src/ci/scripts/disable-git-crlf-conversion.sh
679- if : success() && !env.SKIP_JOB
680- - name : checkout submodules
681- run : src/ci/scripts/checkout-submodules.sh
682- if : success() && !env.SKIP_JOB
683- - name : install MSYS2
684- run : src/ci/scripts/install-msys2.sh
685- if : success() && !env.SKIP_JOB
686- - name : install MinGW
687- run : src/ci/scripts/install-mingw.sh
688- if : success() && !env.SKIP_JOB
689- - name : install ninja
690- run : src/ci/scripts/install-ninja.sh
691- if : success() && !env.SKIP_JOB
692- - name : enable ipv6 on Docker
693- run : src/ci/scripts/enable-docker-ipv6.sh
694- if : success() && !env.SKIP_JOB
695- - name : disable git crlf conversion
696- run : src/ci/scripts/disable-git-crlf-conversion.sh
697- if : success() && !env.SKIP_JOB
698- - name : ensure line endings are correct
699- run : src/ci/scripts/verify-line-endings.sh
700- if : success() && !env.SKIP_JOB
701- - name : ensure backported commits are in upstream branches
702- run : src/ci/scripts/verify-backported-commits.sh
703- if : success() && !env.SKIP_JOB
704- - name : ensure the stable version number is correct
705- run : src/ci/scripts/verify-stable-version-number.sh
706- if : success() && !env.SKIP_JOB
707- - name : run the build
708- run : src/ci/scripts/run-build-from-ci.sh 2>&1
709- env :
710- AWS_ACCESS_KEY_ID : " ${{ env.CACHES_AWS_ACCESS_KEY_ID }}"
711- AWS_SECRET_ACCESS_KEY : " ${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.CACHES_AWS_ACCESS_KEY_ID)] }}"
712- TOOLSTATE_REPO_ACCESS_TOKEN : " ${{ secrets.TOOLSTATE_REPO_ACCESS_TOKEN }}"
713- if : success() && !env.SKIP_JOB
714- - name : create github artifacts
715- run : src/ci/scripts/create-doc-artifacts.sh
716- if : success() && !env.SKIP_JOB
717- - name : upload artifacts to github
718- uses : actions/upload-artifact@v4
719- with :
720- name : " ${{ env.DOC_ARTIFACT_NAME }}"
721- path : obj/artifacts/doc
722- if-no-files-found : ignore
723- retention-days : 5
724- if : success() && !env.SKIP_JOB
725- - name : upload artifacts to S3
726- run : src/ci/scripts/upload-artifacts.sh
727- env :
728- AWS_ACCESS_KEY_ID : " ${{ env.ARTIFACTS_AWS_ACCESS_KEY_ID }}"
729- AWS_SECRET_ACCESS_KEY : " ${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.ARTIFACTS_AWS_ACCESS_KEY_ID)] }}"
730- if : " success() && !env.SKIP_JOB && (github.event_name == 'push' || env.DEPLOY == '1' || env.DEPLOY_ALT == '1')"
731592 master :
732593 name : master
733594 runs-on : ubuntu-latest
@@ -755,7 +616,7 @@ jobs:
755616 if : success() && !env.SKIP_JOB
756617 try-success :
757618 needs :
758- - try
619+ - job
759620 if : " success() && github.event_name == 'push' && (github.ref == 'refs/heads/try' || github.ref == 'refs/heads/try-perf') && github.repository == 'rust-lang-ci/rust'"
760621 steps :
761622 - name : mark the job as a success
@@ -765,7 +626,7 @@ jobs:
765626 runs-on : ubuntu-latest
766627 try-failure :
767628 needs :
768- - try
629+ - job
769630 if : " !success() && github.event_name == 'push' && (github.ref == 'refs/heads/try' || github.ref == 'refs/heads/try-perf') && github.repository == 'rust-lang-ci/rust'"
770631 steps :
771632 - name : mark the job as a failure
0 commit comments