5c876f336a
We need to add runners designed for an aarch64 host system, and it'd be nice to return an error message if someone tries to run an image designed for an host architecture in another one. To start the work on this, this commit moves all the existing builders in the host-x86_64 directory, and changes the run.sh script to look up the image in the correct directory based on the host architecture.
637 lines
24 KiB
YAML
637 lines
24 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
|
|
- master
|
|
pull_request:
|
|
branches:
|
|
- "**"
|
|
defaults:
|
|
run:
|
|
shell: "python src/ci/exec-with-shell.py {0}"
|
|
jobs:
|
|
pr:
|
|
name: PR
|
|
env:
|
|
CI_JOB_NAME: "${{ matrix.name }}"
|
|
SCCACHE_BUCKET: rust-lang-gha-caches
|
|
TOOLSTATE_REPO: "https://github.com/pietroalbini/rust-toolstate"
|
|
CACHE_DOMAIN: ci-caches-gha.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
|
|
shell: bash
|
|
- name: checkout the source code
|
|
uses: actions/checkout@v1
|
|
with:
|
|
fetch-depth: 2
|
|
- 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: 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: 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: 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-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/try' && 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
|
|
shell: bash
|
|
- name: checkout the source code
|
|
uses: actions/checkout@v1
|
|
with:
|
|
fetch-depth: 2
|
|
- 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: 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: 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: 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-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:
|
|
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-freebsd
|
|
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-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-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-full-bootstrap
|
|
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: "--target=aarch64-apple-ios,x86_64-apple-ios --enable-full-tools --enable-sanitizers --enable-profiler --set rust.jemalloc"
|
|
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"
|
|
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 test"
|
|
RUST_CONFIGURE_ARGS: "--build=x86_64-apple-darwin --enable-sanitizers --enable-profiler --set rust.jemalloc"
|
|
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: 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 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"
|
|
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"
|
|
CUSTOM_MINGW: 1
|
|
os: windows-latest-xl
|
|
- name: dist-x86_64-msvc
|
|
env:
|
|
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --target=x86_64-pc-windows-msvc,aarch64-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 --target=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-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
|
|
shell: bash
|
|
- name: checkout the source code
|
|
uses: actions/checkout@v1
|
|
with:
|
|
fetch-depth: 2
|
|
- 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: 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: 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: 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-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/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
|
|
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.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.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
|