53c1eb7a26
While technically the i686-unknown-freebsd target has been a tier 2 development platform for a long time, with full toolchain tarballs available on static.rust-lang.org, due to a bug in the manifest generation the target was never available for download through rustup. The infrastructure team privately inquired the FreeBSD package maintainers, and they weren't relying on those tarballs either, so it's a fair assumption to say practically nobody is using those tarballs. This PR then removes the CI builder that produces full tarballs for the target, and moves the compilation of rust-std for the target in dist-various-2. The x86_64-unknown-freebsd target is *not* affected.
789 lines
31 KiB
YAML
789 lines
31 KiB
YAML
#############################################################
|
|
# WARNING: automatically generated file, DO NOT CHANGE! #
|
|
#############################################################
|
|
|
|
# This file was automatically generated by the expand-yaml-anchors tool. The
|
|
# source file that generated this one is:
|
|
#
|
|
# src/ci/github-actions/ci.yml
|
|
#
|
|
# Once you make changes to that file you need to run:
|
|
#
|
|
# ./x.py run src/tools/expand-yaml-anchors/
|
|
#
|
|
# The CI build will fail if the tool is not run after changes to this file.
|
|
|
|
---
|
|
name: CI
|
|
"on":
|
|
push:
|
|
branches:
|
|
- auto
|
|
- try
|
|
- try-perf
|
|
- master
|
|
pull_request:
|
|
branches:
|
|
- "**"
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
jobs:
|
|
pr:
|
|
name: PR
|
|
env:
|
|
CI_JOB_NAME: "${{ matrix.name }}"
|
|
SCCACHE_BUCKET: rust-lang-ci-sccache2
|
|
TOOLSTATE_REPO: "https://github.com/rust-lang-nursery/rust-toolstate"
|
|
CACHE_DOMAIN: ci-caches.rust-lang.org
|
|
if: "github.event_name == 'pull_request'"
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- name: mingw-check
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: x86_64-gnu-llvm-8
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: x86_64-gnu-tools
|
|
env:
|
|
CI_ONLY_WHEN_SUBMODULES_CHANGED: 1
|
|
os: ubuntu-latest-xl
|
|
timeout-minutes: 600
|
|
runs-on: "${{ matrix.os }}"
|
|
steps:
|
|
- name: disable git crlf conversion
|
|
run: git config --global core.autocrlf false
|
|
- name: checkout the source code
|
|
uses: actions/checkout@v1
|
|
with:
|
|
fetch-depth: 2
|
|
- name: configure the PR in which the error message will be posted
|
|
run: "echo \"[CI_PR_NUMBER=$num]\""
|
|
env:
|
|
num: "${{ github.event.number }}"
|
|
if: "success() && !env.SKIP_JOBS && github.event_name == 'pull_request'"
|
|
- name: add extra environment variables
|
|
run: src/ci/scripts/setup-environment.sh
|
|
env:
|
|
EXTRA_VARIABLES: "${{ toJson(matrix.env) }}"
|
|
if: success() && !env.SKIP_JOB
|
|
- name: decide whether to skip this job
|
|
run: src/ci/scripts/should-skip-this.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: configure GitHub Actions to kill the build when outdated
|
|
uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
|
|
with:
|
|
github_token: "${{ secrets.github_token }}"
|
|
if: "success() && !env.SKIP_JOB && github.ref != 'refs/heads/try'"
|
|
- name: collect CPU statistics
|
|
run: src/ci/scripts/collect-cpu-stats.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: show the current environment
|
|
run: src/ci/scripts/dump-environment.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install awscli
|
|
run: src/ci/scripts/install-awscli.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install sccache
|
|
run: src/ci/scripts/install-sccache.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: select Xcode
|
|
run: src/ci/scripts/select-xcode.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install clang
|
|
run: src/ci/scripts/install-clang.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install WIX
|
|
run: src/ci/scripts/install-wix.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: ensure the build happens on a partition with enough space
|
|
run: src/ci/scripts/symlink-build-dir.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: disable git crlf conversion
|
|
run: src/ci/scripts/disable-git-crlf-conversion.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install MSYS2
|
|
run: src/ci/scripts/install-msys2.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install MinGW
|
|
run: src/ci/scripts/install-mingw.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install ninja
|
|
run: src/ci/scripts/install-ninja.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: enable ipv6 on Docker
|
|
run: src/ci/scripts/enable-docker-ipv6.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: disable git crlf conversion
|
|
run: src/ci/scripts/disable-git-crlf-conversion.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: checkout submodules
|
|
run: src/ci/scripts/checkout-submodules.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: ensure line endings are correct
|
|
run: src/ci/scripts/verify-line-endings.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: run the build
|
|
run: src/ci/scripts/run-build-from-ci.sh
|
|
env:
|
|
AWS_ACCESS_KEY_ID: "${{ env.CACHES_AWS_ACCESS_KEY_ID }}"
|
|
AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.CACHES_AWS_ACCESS_KEY_ID)] }}"
|
|
TOOLSTATE_REPO_ACCESS_TOKEN: "${{ secrets.TOOLSTATE_REPO_ACCESS_TOKEN }}"
|
|
if: success() && !env.SKIP_JOB
|
|
- name: upload artifacts to S3
|
|
run: src/ci/scripts/upload-artifacts.sh
|
|
env:
|
|
AWS_ACCESS_KEY_ID: "${{ env.ARTIFACTS_AWS_ACCESS_KEY_ID }}"
|
|
AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.ARTIFACTS_AWS_ACCESS_KEY_ID)] }}"
|
|
if: "success() && !env.SKIP_JOB && (github.event_name == 'push' || env.DEPLOY == '1' || env.DEPLOY_ALT == '1')"
|
|
auto:
|
|
name: auto
|
|
env:
|
|
CI_JOB_NAME: "${{ matrix.name }}"
|
|
SCCACHE_BUCKET: rust-lang-ci-sccache2
|
|
DEPLOY_BUCKET: rust-lang-ci2
|
|
TOOLSTATE_REPO: "https://github.com/rust-lang-nursery/rust-toolstate"
|
|
TOOLSTATE_ISSUES_API_URL: "https://api.github.com/repos/rust-lang/rust/issues"
|
|
TOOLSTATE_PUBLISH: 1
|
|
CACHES_AWS_ACCESS_KEY_ID: AKIA46X5W6CZI5DHEBFL
|
|
ARTIFACTS_AWS_ACCESS_KEY_ID: AKIA46X5W6CZN24CBO55
|
|
CACHE_DOMAIN: ci-caches.rust-lang.org
|
|
if: "github.event_name == 'push' && github.ref == 'refs/heads/auto' && github.repository == 'rust-lang-ci/rust'"
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- name: arm-android
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: armhf-gnu
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: dist-aarch64-linux
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: dist-android
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: dist-arm-linux
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: dist-armhf-linux
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: dist-armv7-linux
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: dist-i586-gnu-i586-i686-musl
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: dist-i686-linux
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: dist-mips-linux
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: dist-mips64-linux
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: dist-mips64el-linux
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: dist-mipsel-linux
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: dist-powerpc-linux
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: dist-powerpc64-linux
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: dist-powerpc64le-linux
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: dist-riscv64-linux
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: dist-s390x-linux
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: dist-various-1
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: dist-various-2
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: dist-x86_64-freebsd
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: dist-x86_64-illumos
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: dist-x86_64-linux
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: dist-x86_64-linux-alt
|
|
env:
|
|
IMAGE: dist-x86_64-linux
|
|
os: ubuntu-latest-xl
|
|
- name: dist-x86_64-musl
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: dist-x86_64-netbsd
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: i686-gnu
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: i686-gnu-nopt
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: mingw-check
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: test-various
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: wasm32
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: x86_64-gnu
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: x86_64-gnu-aux
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: x86_64-gnu-debug
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: x86_64-gnu-distcheck
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: x86_64-gnu-llvm-8
|
|
env:
|
|
RUST_BACKTRACE: 1
|
|
os: ubuntu-latest-xl
|
|
- name: x86_64-gnu-nopt
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
- name: x86_64-gnu-tools
|
|
env:
|
|
DEPLOY_TOOLSTATES_JSON: toolstates-linux.json
|
|
os: ubuntu-latest-xl
|
|
- name: dist-x86_64-apple
|
|
env:
|
|
SCRIPT: "./x.py dist"
|
|
RUST_CONFIGURE_ARGS: "--host=x86_64-apple-darwin --target=x86_64-apple-darwin,aarch64-apple-ios,x86_64-apple-ios --enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false"
|
|
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
|
|
MACOSX_DEPLOYMENT_TARGET: 10.7
|
|
NO_LLVM_ASSERTIONS: 1
|
|
NO_DEBUG_ASSERTIONS: 1
|
|
DIST_REQUIRE_ALL_TOOLS: 1
|
|
os: macos-latest
|
|
- name: dist-x86_64-apple-alt
|
|
env:
|
|
SCRIPT: "./x.py dist"
|
|
RUST_CONFIGURE_ARGS: "--enable-extended --enable-profiler --set rust.jemalloc --set llvm.ninja=false"
|
|
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
|
|
MACOSX_DEPLOYMENT_TARGET: 10.7
|
|
NO_LLVM_ASSERTIONS: 1
|
|
NO_DEBUG_ASSERTIONS: 1
|
|
os: macos-latest
|
|
- name: x86_64-apple
|
|
env:
|
|
SCRIPT: "./x.py --stage 2 test"
|
|
RUST_CONFIGURE_ARGS: "--build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false"
|
|
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
|
|
MACOSX_DEPLOYMENT_TARGET: 10.8
|
|
MACOSX_STD_DEPLOYMENT_TARGET: 10.7
|
|
NO_LLVM_ASSERTIONS: 1
|
|
NO_DEBUG_ASSERTIONS: 1
|
|
os: macos-latest
|
|
- name: dist-aarch64-apple
|
|
env:
|
|
SCRIPT: "./x.py dist --stage 2"
|
|
RUST_CONFIGURE_ARGS: "--build=x86_64-apple-darwin --host=aarch64-apple-darwin --target=aarch64-apple-darwin --enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc --set llvm.ninja=false"
|
|
RUSTC_RETRY_LINKER_ON_SEGFAULT: 1
|
|
SELECT_XCODE: /Applications/Xcode_12.2.app
|
|
USE_XCODE_CLANG: 1
|
|
MACOSX_DEPLOYMENT_TARGET: 11.0
|
|
MACOSX_STD_DEPLOYMENT_TARGET: 11.0
|
|
NO_LLVM_ASSERTIONS: 1
|
|
NO_DEBUG_ASSERTIONS: 1
|
|
DIST_REQUIRE_ALL_TOOLS: 1
|
|
JEMALLOC_SYS_WITH_LG_PAGE: 14
|
|
os: macos-latest
|
|
- name: x86_64-msvc-1
|
|
env:
|
|
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --enable-profiler"
|
|
SCRIPT: make ci-subset-1
|
|
NO_DEBUG_ASSERTIONS: 1
|
|
NO_LLVM_ASSERTIONS: 1
|
|
os: windows-latest-xl
|
|
- name: x86_64-msvc-2
|
|
env:
|
|
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --enable-profiler"
|
|
SCRIPT: make ci-subset-2
|
|
os: windows-latest-xl
|
|
- name: i686-msvc-1
|
|
env:
|
|
RUST_CONFIGURE_ARGS: "--build=i686-pc-windows-msvc"
|
|
SCRIPT: make ci-subset-1
|
|
NO_DEBUG_ASSERTIONS: 1
|
|
NO_LLVM_ASSERTIONS: 1
|
|
os: windows-latest-xl
|
|
- name: i686-msvc-2
|
|
env:
|
|
RUST_CONFIGURE_ARGS: "--build=i686-pc-windows-msvc"
|
|
SCRIPT: make ci-subset-2
|
|
NO_DEBUG_ASSERTIONS: 1
|
|
NO_LLVM_ASSERTIONS: 1
|
|
os: windows-latest-xl
|
|
- name: x86_64-msvc-cargo
|
|
env:
|
|
SCRIPT: python x.py --stage 2 test src/tools/cargotest src/tools/cargo
|
|
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --enable-lld"
|
|
VCVARS_BAT: vcvars64.bat
|
|
NO_DEBUG_ASSERTIONS: 1
|
|
NO_LLVM_ASSERTIONS: 1
|
|
os: windows-latest-xl
|
|
- name: x86_64-msvc-tools
|
|
env:
|
|
SCRIPT: src/ci/docker/host-x86_64/x86_64-gnu-tools/checktools.sh x.py /tmp/toolstate/toolstates.json windows
|
|
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --save-toolstates=/tmp/toolstate/toolstates.json"
|
|
os: windows-latest-xl
|
|
- name: i686-mingw-1
|
|
env:
|
|
RUST_CONFIGURE_ARGS: "--build=i686-pc-windows-gnu"
|
|
SCRIPT: make ci-mingw-subset-1
|
|
CUSTOM_MINGW: 1
|
|
NO_DEBUG_ASSERTIONS: 1
|
|
NO_LLVM_ASSERTIONS: 1
|
|
os: windows-latest-xl
|
|
- name: i686-mingw-2
|
|
env:
|
|
RUST_CONFIGURE_ARGS: "--build=i686-pc-windows-gnu"
|
|
SCRIPT: make ci-mingw-subset-2
|
|
CUSTOM_MINGW: 1
|
|
os: windows-latest-xl
|
|
- name: x86_64-mingw-1
|
|
env:
|
|
SCRIPT: make ci-mingw-subset-1
|
|
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-gnu --enable-profiler"
|
|
CUSTOM_MINGW: 1
|
|
NO_DEBUG_ASSERTIONS: 1
|
|
NO_LLVM_ASSERTIONS: 1
|
|
os: windows-latest-xl
|
|
- name: x86_64-mingw-2
|
|
env:
|
|
SCRIPT: make ci-mingw-subset-2
|
|
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-gnu --enable-profiler"
|
|
CUSTOM_MINGW: 1
|
|
os: windows-latest-xl
|
|
- name: dist-x86_64-msvc
|
|
env:
|
|
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --host=x86_64-pc-windows-msvc --target=x86_64-pc-windows-msvc --enable-full-tools --enable-profiler"
|
|
SCRIPT: python x.py dist
|
|
DIST_REQUIRE_ALL_TOOLS: 1
|
|
os: windows-latest-xl
|
|
- name: dist-i686-msvc
|
|
env:
|
|
RUST_CONFIGURE_ARGS: "--build=i686-pc-windows-msvc --host=i686-pc-windows-msvc --target=i686-pc-windows-msvc,i586-pc-windows-msvc --enable-full-tools --enable-profiler"
|
|
SCRIPT: python x.py dist
|
|
DIST_REQUIRE_ALL_TOOLS: 1
|
|
os: windows-latest-xl
|
|
- name: dist-aarch64-msvc
|
|
env:
|
|
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --host=aarch64-pc-windows-msvc --enable-full-tools --enable-profiler"
|
|
SCRIPT: python x.py dist
|
|
DIST_REQUIRE_ALL_TOOLS: 0
|
|
os: windows-latest-xl
|
|
- name: dist-i686-mingw
|
|
env:
|
|
RUST_CONFIGURE_ARGS: "--build=i686-pc-windows-gnu --enable-full-tools --enable-profiler"
|
|
SCRIPT: python x.py dist
|
|
CUSTOM_MINGW: 1
|
|
DIST_REQUIRE_ALL_TOOLS: 1
|
|
os: windows-latest-xl
|
|
- name: dist-x86_64-mingw
|
|
env:
|
|
SCRIPT: python x.py dist
|
|
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-gnu --enable-full-tools --enable-profiler"
|
|
CUSTOM_MINGW: 1
|
|
DIST_REQUIRE_ALL_TOOLS: 1
|
|
os: windows-latest-xl
|
|
- name: dist-x86_64-msvc-alt
|
|
env:
|
|
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --enable-extended --enable-profiler"
|
|
SCRIPT: python x.py dist
|
|
os: windows-latest-xl
|
|
timeout-minutes: 600
|
|
runs-on: "${{ matrix.os }}"
|
|
steps:
|
|
- name: disable git crlf conversion
|
|
run: git config --global core.autocrlf false
|
|
- name: checkout the source code
|
|
uses: actions/checkout@v1
|
|
with:
|
|
fetch-depth: 2
|
|
- name: configure the PR in which the error message will be posted
|
|
run: "echo \"[CI_PR_NUMBER=$num]\""
|
|
env:
|
|
num: "${{ github.event.number }}"
|
|
if: "success() && !env.SKIP_JOBS && github.event_name == 'pull_request'"
|
|
- name: add extra environment variables
|
|
run: src/ci/scripts/setup-environment.sh
|
|
env:
|
|
EXTRA_VARIABLES: "${{ toJson(matrix.env) }}"
|
|
if: success() && !env.SKIP_JOB
|
|
- name: decide whether to skip this job
|
|
run: src/ci/scripts/should-skip-this.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: configure GitHub Actions to kill the build when outdated
|
|
uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
|
|
with:
|
|
github_token: "${{ secrets.github_token }}"
|
|
if: "success() && !env.SKIP_JOB && github.ref != 'refs/heads/try'"
|
|
- name: collect CPU statistics
|
|
run: src/ci/scripts/collect-cpu-stats.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: show the current environment
|
|
run: src/ci/scripts/dump-environment.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install awscli
|
|
run: src/ci/scripts/install-awscli.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install sccache
|
|
run: src/ci/scripts/install-sccache.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: select Xcode
|
|
run: src/ci/scripts/select-xcode.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install clang
|
|
run: src/ci/scripts/install-clang.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install WIX
|
|
run: src/ci/scripts/install-wix.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: ensure the build happens on a partition with enough space
|
|
run: src/ci/scripts/symlink-build-dir.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: disable git crlf conversion
|
|
run: src/ci/scripts/disable-git-crlf-conversion.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install MSYS2
|
|
run: src/ci/scripts/install-msys2.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install MinGW
|
|
run: src/ci/scripts/install-mingw.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install ninja
|
|
run: src/ci/scripts/install-ninja.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: enable ipv6 on Docker
|
|
run: src/ci/scripts/enable-docker-ipv6.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: disable git crlf conversion
|
|
run: src/ci/scripts/disable-git-crlf-conversion.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: checkout submodules
|
|
run: src/ci/scripts/checkout-submodules.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: ensure line endings are correct
|
|
run: src/ci/scripts/verify-line-endings.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: run the build
|
|
run: src/ci/scripts/run-build-from-ci.sh
|
|
env:
|
|
AWS_ACCESS_KEY_ID: "${{ env.CACHES_AWS_ACCESS_KEY_ID }}"
|
|
AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.CACHES_AWS_ACCESS_KEY_ID)] }}"
|
|
TOOLSTATE_REPO_ACCESS_TOKEN: "${{ secrets.TOOLSTATE_REPO_ACCESS_TOKEN }}"
|
|
if: success() && !env.SKIP_JOB
|
|
- name: upload artifacts to S3
|
|
run: src/ci/scripts/upload-artifacts.sh
|
|
env:
|
|
AWS_ACCESS_KEY_ID: "${{ env.ARTIFACTS_AWS_ACCESS_KEY_ID }}"
|
|
AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.ARTIFACTS_AWS_ACCESS_KEY_ID)] }}"
|
|
if: "success() && !env.SKIP_JOB && (github.event_name == 'push' || env.DEPLOY == '1' || env.DEPLOY_ALT == '1')"
|
|
auto-fallible:
|
|
name: auto-fallible
|
|
env:
|
|
CI_JOB_NAME: "${{ matrix.name }}"
|
|
SCCACHE_BUCKET: rust-lang-gha-caches
|
|
DEPLOY_BUCKET: rust-lang-gha
|
|
TOOLSTATE_REPO: "https://github.com/pietroalbini/rust-toolstate"
|
|
TOOLSTATE_ISSUES_API_URL: "https://api.github.com/repos/pietroalbini/rust-toolstate/issues"
|
|
TOOLSTATE_PUBLISH: 1
|
|
CACHES_AWS_ACCESS_KEY_ID: AKIA46X5W6CZOMUQATD5
|
|
ARTIFACTS_AWS_ACCESS_KEY_ID: AKIA46X5W6CZH5AYXDVF
|
|
CACHE_DOMAIN: ci-caches-gha.rust-lang.org
|
|
if: "github.event_name == 'push' && github.ref == 'refs/heads/auto' && github.repository == 'rust-lang-ci/rust'"
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- name: aarch64-gnu
|
|
os:
|
|
- self-hosted
|
|
- ARM64
|
|
- linux
|
|
timeout-minutes: 600
|
|
runs-on: "${{ matrix.os }}"
|
|
steps:
|
|
- name: disable git crlf conversion
|
|
run: git config --global core.autocrlf false
|
|
- name: checkout the source code
|
|
uses: actions/checkout@v1
|
|
with:
|
|
fetch-depth: 2
|
|
- name: configure the PR in which the error message will be posted
|
|
run: "echo \"[CI_PR_NUMBER=$num]\""
|
|
env:
|
|
num: "${{ github.event.number }}"
|
|
if: "success() && !env.SKIP_JOBS && github.event_name == 'pull_request'"
|
|
- name: add extra environment variables
|
|
run: src/ci/scripts/setup-environment.sh
|
|
env:
|
|
EXTRA_VARIABLES: "${{ toJson(matrix.env) }}"
|
|
if: success() && !env.SKIP_JOB
|
|
- name: decide whether to skip this job
|
|
run: src/ci/scripts/should-skip-this.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: configure GitHub Actions to kill the build when outdated
|
|
uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
|
|
with:
|
|
github_token: "${{ secrets.github_token }}"
|
|
if: "success() && !env.SKIP_JOB && github.ref != 'refs/heads/try'"
|
|
- name: collect CPU statistics
|
|
run: src/ci/scripts/collect-cpu-stats.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: show the current environment
|
|
run: src/ci/scripts/dump-environment.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install awscli
|
|
run: src/ci/scripts/install-awscli.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install sccache
|
|
run: src/ci/scripts/install-sccache.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: select Xcode
|
|
run: src/ci/scripts/select-xcode.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install clang
|
|
run: src/ci/scripts/install-clang.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install WIX
|
|
run: src/ci/scripts/install-wix.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: ensure the build happens on a partition with enough space
|
|
run: src/ci/scripts/symlink-build-dir.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: disable git crlf conversion
|
|
run: src/ci/scripts/disable-git-crlf-conversion.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install MSYS2
|
|
run: src/ci/scripts/install-msys2.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install MinGW
|
|
run: src/ci/scripts/install-mingw.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install ninja
|
|
run: src/ci/scripts/install-ninja.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: enable ipv6 on Docker
|
|
run: src/ci/scripts/enable-docker-ipv6.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: disable git crlf conversion
|
|
run: src/ci/scripts/disable-git-crlf-conversion.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: checkout submodules
|
|
run: src/ci/scripts/checkout-submodules.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: ensure line endings are correct
|
|
run: src/ci/scripts/verify-line-endings.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: run the build
|
|
run: src/ci/scripts/run-build-from-ci.sh
|
|
env:
|
|
AWS_ACCESS_KEY_ID: "${{ env.CACHES_AWS_ACCESS_KEY_ID }}"
|
|
AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.CACHES_AWS_ACCESS_KEY_ID)] }}"
|
|
TOOLSTATE_REPO_ACCESS_TOKEN: "${{ secrets.TOOLSTATE_REPO_ACCESS_TOKEN }}"
|
|
if: success() && !env.SKIP_JOB
|
|
- name: upload artifacts to S3
|
|
run: src/ci/scripts/upload-artifacts.sh
|
|
env:
|
|
AWS_ACCESS_KEY_ID: "${{ env.ARTIFACTS_AWS_ACCESS_KEY_ID }}"
|
|
AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.ARTIFACTS_AWS_ACCESS_KEY_ID)] }}"
|
|
if: "success() && !env.SKIP_JOB && (github.event_name == 'push' || env.DEPLOY == '1' || env.DEPLOY_ALT == '1')"
|
|
try:
|
|
name: try
|
|
env:
|
|
CI_JOB_NAME: "${{ matrix.name }}"
|
|
SCCACHE_BUCKET: rust-lang-ci-sccache2
|
|
DEPLOY_BUCKET: rust-lang-ci2
|
|
TOOLSTATE_REPO: "https://github.com/rust-lang-nursery/rust-toolstate"
|
|
TOOLSTATE_ISSUES_API_URL: "https://api.github.com/repos/rust-lang/rust/issues"
|
|
TOOLSTATE_PUBLISH: 1
|
|
CACHES_AWS_ACCESS_KEY_ID: AKIA46X5W6CZI5DHEBFL
|
|
ARTIFACTS_AWS_ACCESS_KEY_ID: AKIA46X5W6CZN24CBO55
|
|
CACHE_DOMAIN: ci-caches.rust-lang.org
|
|
if: "github.event_name == 'push' && (github.ref == 'refs/heads/try' || github.ref == 'refs/heads/try-perf') && github.repository == 'rust-lang-ci/rust'"
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- name: dist-x86_64-linux
|
|
os: ubuntu-latest-xl
|
|
env: {}
|
|
timeout-minutes: 600
|
|
runs-on: "${{ matrix.os }}"
|
|
steps:
|
|
- name: disable git crlf conversion
|
|
run: git config --global core.autocrlf false
|
|
- name: checkout the source code
|
|
uses: actions/checkout@v1
|
|
with:
|
|
fetch-depth: 2
|
|
- name: configure the PR in which the error message will be posted
|
|
run: "echo \"[CI_PR_NUMBER=$num]\""
|
|
env:
|
|
num: "${{ github.event.number }}"
|
|
if: "success() && !env.SKIP_JOBS && github.event_name == 'pull_request'"
|
|
- name: add extra environment variables
|
|
run: src/ci/scripts/setup-environment.sh
|
|
env:
|
|
EXTRA_VARIABLES: "${{ toJson(matrix.env) }}"
|
|
if: success() && !env.SKIP_JOB
|
|
- name: decide whether to skip this job
|
|
run: src/ci/scripts/should-skip-this.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: configure GitHub Actions to kill the build when outdated
|
|
uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master
|
|
with:
|
|
github_token: "${{ secrets.github_token }}"
|
|
if: "success() && !env.SKIP_JOB && github.ref != 'refs/heads/try'"
|
|
- name: collect CPU statistics
|
|
run: src/ci/scripts/collect-cpu-stats.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: show the current environment
|
|
run: src/ci/scripts/dump-environment.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install awscli
|
|
run: src/ci/scripts/install-awscli.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install sccache
|
|
run: src/ci/scripts/install-sccache.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: select Xcode
|
|
run: src/ci/scripts/select-xcode.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install clang
|
|
run: src/ci/scripts/install-clang.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install WIX
|
|
run: src/ci/scripts/install-wix.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: ensure the build happens on a partition with enough space
|
|
run: src/ci/scripts/symlink-build-dir.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: disable git crlf conversion
|
|
run: src/ci/scripts/disable-git-crlf-conversion.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install MSYS2
|
|
run: src/ci/scripts/install-msys2.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install MinGW
|
|
run: src/ci/scripts/install-mingw.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: install ninja
|
|
run: src/ci/scripts/install-ninja.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: enable ipv6 on Docker
|
|
run: src/ci/scripts/enable-docker-ipv6.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: disable git crlf conversion
|
|
run: src/ci/scripts/disable-git-crlf-conversion.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: checkout submodules
|
|
run: src/ci/scripts/checkout-submodules.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: ensure line endings are correct
|
|
run: src/ci/scripts/verify-line-endings.sh
|
|
if: success() && !env.SKIP_JOB
|
|
- name: run the build
|
|
run: src/ci/scripts/run-build-from-ci.sh
|
|
env:
|
|
AWS_ACCESS_KEY_ID: "${{ env.CACHES_AWS_ACCESS_KEY_ID }}"
|
|
AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.CACHES_AWS_ACCESS_KEY_ID)] }}"
|
|
TOOLSTATE_REPO_ACCESS_TOKEN: "${{ secrets.TOOLSTATE_REPO_ACCESS_TOKEN }}"
|
|
if: success() && !env.SKIP_JOB
|
|
- name: upload artifacts to S3
|
|
run: src/ci/scripts/upload-artifacts.sh
|
|
env:
|
|
AWS_ACCESS_KEY_ID: "${{ env.ARTIFACTS_AWS_ACCESS_KEY_ID }}"
|
|
AWS_SECRET_ACCESS_KEY: "${{ secrets[format('AWS_SECRET_ACCESS_KEY_{0}', env.ARTIFACTS_AWS_ACCESS_KEY_ID)] }}"
|
|
if: "success() && !env.SKIP_JOB && (github.event_name == 'push' || env.DEPLOY == '1' || env.DEPLOY_ALT == '1')"
|
|
master:
|
|
name: master
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
SCCACHE_BUCKET: rust-lang-ci-sccache2
|
|
DEPLOY_BUCKET: rust-lang-ci2
|
|
TOOLSTATE_REPO: "https://github.com/rust-lang-nursery/rust-toolstate"
|
|
TOOLSTATE_ISSUES_API_URL: "https://api.github.com/repos/rust-lang/rust/issues"
|
|
TOOLSTATE_PUBLISH: 1
|
|
CACHES_AWS_ACCESS_KEY_ID: AKIA46X5W6CZI5DHEBFL
|
|
ARTIFACTS_AWS_ACCESS_KEY_ID: AKIA46X5W6CZN24CBO55
|
|
CACHE_DOMAIN: ci-caches.rust-lang.org
|
|
if: "github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'rust-lang-ci/rust'"
|
|
steps:
|
|
- name: checkout the source code
|
|
uses: actions/checkout@v1
|
|
with:
|
|
fetch-depth: 2
|
|
- name: publish toolstate
|
|
run: src/ci/publish_toolstate.sh
|
|
shell: bash
|
|
env:
|
|
TOOLSTATE_REPO_ACCESS_TOKEN: "${{ secrets.TOOLSTATE_REPO_ACCESS_TOKEN }}"
|
|
if: success() && !env.SKIP_JOB
|
|
try-success:
|
|
needs:
|
|
- try
|
|
if: "success() && github.event_name == 'push' && (github.ref == 'refs/heads/try' || github.ref == 'refs/heads/try-perf') && github.repository == 'rust-lang-ci/rust'"
|
|
steps:
|
|
- name: mark the job as a success
|
|
run: exit 0
|
|
shell: bash
|
|
name: bors build finished
|
|
runs-on: ubuntu-latest
|
|
try-failure:
|
|
needs:
|
|
- try
|
|
if: "!success() && github.event_name == 'push' && (github.ref == 'refs/heads/try' || github.ref == 'refs/heads/try-perf') && github.repository == 'rust-lang-ci/rust'"
|
|
steps:
|
|
- name: mark the job as a failure
|
|
run: exit 1
|
|
shell: bash
|
|
name: bors build finished
|
|
runs-on: ubuntu-latest
|
|
auto-success:
|
|
needs:
|
|
- auto
|
|
if: "success() && github.event_name == 'push' && github.ref == 'refs/heads/auto' && github.repository == 'rust-lang-ci/rust'"
|
|
steps:
|
|
- name: mark the job as a success
|
|
run: exit 0
|
|
shell: bash
|
|
name: bors build finished
|
|
runs-on: ubuntu-latest
|
|
auto-failure:
|
|
needs:
|
|
- auto
|
|
if: "!success() && github.event_name == 'push' && github.ref == 'refs/heads/auto' && github.repository == 'rust-lang-ci/rust'"
|
|
steps:
|
|
- name: mark the job as a failure
|
|
run: exit 1
|
|
shell: bash
|
|
name: bors build finished
|
|
runs-on: ubuntu-latest
|