Skip to content

Commit

Permalink
Auto merge of #71434 - pietroalbini:shrink-gha-config, r=Mark-Simulacrum
Browse files Browse the repository at this point in the history
Shrink GHA configuration

This shrinks our GHA configuration by [taking advantage of two new features GitHub just announced](https://github.blog/2020-04-22-github-actions-community-momentum-enterprise-capabilities-and-developer-improvements/):

* [Default values for `steps[].shell`](https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#defaultsrun)
* [Being able to include values in a matrix without having to duplicate the job names.](https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#example-including-new-combinations)

The configuration should be functionally equivalent to the previous one.

r? @Mark-Simulacrum
  • Loading branch information
bors committed Apr 26, 2020
2 parents b592b37 + 61831ff commit 019ab73
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 231 deletions.
132 changes: 3 additions & 129 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ name: CI
pull_request:
branches:
- "**"
defaults:
run:
shell: "python src/ci/exec-with-shell.py {0}"
jobs:
pr:
name: PR
Expand All @@ -34,10 +37,6 @@ jobs:
if: "github.event_name == 'pull_request'"
strategy:
matrix:
name:
- mingw-check
- x86_64-gnu-llvm-8
- x86_64-gnu-tools
include:
- name: mingw-check
os: ubuntu-latest-xl
Expand Down Expand Up @@ -68,95 +67,74 @@ jobs:
run: src/ci/scripts/setup-environment.sh
env:
EXTRA_VARIABLES: "${{ toJson(matrix.env) }}"
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: decide whether to skip this job
run: src/ci/scripts/should-skip-this.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: collect CPU statistics
run: src/ci/scripts/collect-cpu-stats.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: show the current environment
run: src/ci/scripts/dump-environment.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install awscli
run: src/ci/scripts/install-awscli.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install sccache
run: src/ci/scripts/install-sccache.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install clang
run: src/ci/scripts/install-clang.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install WIX
run: src/ci/scripts/install-wix.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install InnoSetup
run: src/ci/scripts/install-innosetup.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: ensure the build happens on a partition with enough space
run: src/ci/scripts/symlink-build-dir.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: disable git crlf conversion
run: src/ci/scripts/disable-git-crlf-conversion.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install MSYS2
run: src/ci/scripts/install-msys2.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install MSYS2 packages
run: src/ci/scripts/install-msys2-packages.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install MinGW
run: src/ci/scripts/install-mingw.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install ninja
run: src/ci/scripts/install-ninja.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: enable ipv6 on Docker
run: src/ci/scripts/enable-docker-ipv6.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: disable git crlf conversion
run: src/ci/scripts/disable-git-crlf-conversion.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: checkout submodules
run: src/ci/scripts/checkout-submodules.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: ensure line endings are correct
run: src/ci/scripts/verify-line-endings.sh
shell: "python src/ci/exec-with-shell.py {0}"
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 }}"
shell: "python src/ci/exec-with-shell.py {0}"
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')"
shell: "python src/ci/exec-with-shell.py {0}"
try:
name: try
env:
Expand All @@ -171,9 +149,6 @@ jobs:
if: "github.event_name == 'push' && github.ref == 'refs/heads/try' && github.repository == 'rust-lang-ci/rust'"
strategy:
matrix:
name:
- dist-x86_64-linux
- dist-x86_64-linux-alt
include:
- name: dist-x86_64-linux
os: ubuntu-latest-xl
Expand Down Expand Up @@ -201,95 +176,74 @@ jobs:
run: src/ci/scripts/setup-environment.sh
env:
EXTRA_VARIABLES: "${{ toJson(matrix.env) }}"
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: decide whether to skip this job
run: src/ci/scripts/should-skip-this.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: collect CPU statistics
run: src/ci/scripts/collect-cpu-stats.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: show the current environment
run: src/ci/scripts/dump-environment.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install awscli
run: src/ci/scripts/install-awscli.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install sccache
run: src/ci/scripts/install-sccache.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install clang
run: src/ci/scripts/install-clang.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install WIX
run: src/ci/scripts/install-wix.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install InnoSetup
run: src/ci/scripts/install-innosetup.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: ensure the build happens on a partition with enough space
run: src/ci/scripts/symlink-build-dir.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: disable git crlf conversion
run: src/ci/scripts/disable-git-crlf-conversion.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install MSYS2
run: src/ci/scripts/install-msys2.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install MSYS2 packages
run: src/ci/scripts/install-msys2-packages.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install MinGW
run: src/ci/scripts/install-mingw.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install ninja
run: src/ci/scripts/install-ninja.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: enable ipv6 on Docker
run: src/ci/scripts/enable-docker-ipv6.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: disable git crlf conversion
run: src/ci/scripts/disable-git-crlf-conversion.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: checkout submodules
run: src/ci/scripts/checkout-submodules.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: ensure line endings are correct
run: src/ci/scripts/verify-line-endings.sh
shell: "python src/ci/exec-with-shell.py {0}"
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 }}"
shell: "python src/ci/exec-with-shell.py {0}"
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')"
shell: "python src/ci/exec-with-shell.py {0}"
auto:
name: auto
env:
Expand All @@ -304,64 +258,6 @@ jobs:
if: "github.event_name == 'push' && github.ref == 'refs/heads/auto' && github.repository == 'rust-lang-ci/rust'"
strategy:
matrix:
name:
- arm-android
- armhf-gnu
- dist-aarch64-linux
- dist-android
- dist-arm-linux
- dist-armhf-linux
- dist-armv7-linux
- dist-i586-gnu-i586-i686-musl
- dist-i686-freebsd
- dist-i686-linux
- dist-i686-mingw
- dist-i686-msvc
- dist-mips-linux
- dist-mips64-linux
- dist-mips64el-linux
- dist-mipsel-linux
- dist-powerpc-linux
- dist-powerpc64-linux
- dist-powerpc64le-linux
- dist-s390x-linux
- dist-various-1
- dist-various-2
- dist-x86_64-apple
- dist-x86_64-apple-alt
- dist-x86_64-freebsd
- dist-x86_64-linux
- dist-x86_64-linux-alt
- dist-x86_64-mingw
- dist-x86_64-msvc
- dist-x86_64-msvc-alt
- dist-x86_64-musl
- dist-x86_64-netbsd
- i686-gnu
- i686-gnu-nopt
- i686-mingw-1
- i686-mingw-2
- i686-msvc-1
- i686-msvc-2
- mingw-check
- test-various
- wasm32
- x86_64-apple
- x86_64-gnu
- x86_64-gnu-aux
- x86_64-gnu-debug
- x86_64-gnu-distcheck
- x86_64-gnu-full-bootstrap
- x86_64-gnu-llvm-8
- x86_64-gnu-nopt
- x86_64-gnu-tools
- x86_64-mingw-1
- x86_64-mingw-2
- x86_64-msvc-1
- x86_64-msvc-2
- x86_64-msvc-aux
- x86_64-msvc-cargo
- x86_64-msvc-tools
include:
- name: arm-android
os: ubuntu-latest-xl
Expand Down Expand Up @@ -631,95 +527,74 @@ jobs:
run: src/ci/scripts/setup-environment.sh
env:
EXTRA_VARIABLES: "${{ toJson(matrix.env) }}"
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: decide whether to skip this job
run: src/ci/scripts/should-skip-this.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: collect CPU statistics
run: src/ci/scripts/collect-cpu-stats.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: show the current environment
run: src/ci/scripts/dump-environment.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install awscli
run: src/ci/scripts/install-awscli.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install sccache
run: src/ci/scripts/install-sccache.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install clang
run: src/ci/scripts/install-clang.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install WIX
run: src/ci/scripts/install-wix.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install InnoSetup
run: src/ci/scripts/install-innosetup.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: ensure the build happens on a partition with enough space
run: src/ci/scripts/symlink-build-dir.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: disable git crlf conversion
run: src/ci/scripts/disable-git-crlf-conversion.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install MSYS2
run: src/ci/scripts/install-msys2.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install MSYS2 packages
run: src/ci/scripts/install-msys2-packages.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install MinGW
run: src/ci/scripts/install-mingw.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: install ninja
run: src/ci/scripts/install-ninja.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: enable ipv6 on Docker
run: src/ci/scripts/enable-docker-ipv6.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: disable git crlf conversion
run: src/ci/scripts/disable-git-crlf-conversion.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: checkout submodules
run: src/ci/scripts/checkout-submodules.sh
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
- name: ensure line endings are correct
run: src/ci/scripts/verify-line-endings.sh
shell: "python src/ci/exec-with-shell.py {0}"
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 }}"
shell: "python src/ci/exec-with-shell.py {0}"
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')"
shell: "python src/ci/exec-with-shell.py {0}"
master:
name: master
runs-on: ubuntu-latest
Expand All @@ -741,7 +616,6 @@ jobs:
run: src/ci/publish_toolstate.sh
env:
TOOLSTATE_REPO_ACCESS_TOKEN: "${{ secrets.TOOLSTATE_REPO_ACCESS_TOKEN }}"
shell: "python src/ci/exec-with-shell.py {0}"
if: success() && !env.SKIP_JOB
try-success:
needs:
Expand Down
Loading

0 comments on commit 019ab73

Please sign in to comment.