Skip to content

Commit 4fa42c8

Browse files
committed
ci: Switch to a single matrix for tier1 testing
The Mac, Windows, and Linux jobs for testing are pretty redundant. Turn this into a single `test_tier1` job that runs all expected combinations. (backport <#4124>) (cherry picked from commit 01244c5)
1 parent b2425ee commit 4fa42c8

File tree

1 file changed

+23
-52
lines changed

1 file changed

+23
-52
lines changed

.github/workflows/ci.yaml

Lines changed: 23 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -45,77 +45,50 @@ jobs:
4545
- name: Execute build.sh
4646
run: ./ci/verify-build.sh
4747

48-
macos:
49-
name: macOS
50-
runs-on: macos-14
48+
test_tier1:
49+
name: Test tier1
5150
strategy:
52-
fail-fast: true
53-
matrix:
54-
target:
55-
- aarch64-apple-darwin
56-
env:
57-
TARGET: ${{ matrix.target }}
58-
steps:
59-
- uses: actions/checkout@v4
60-
- name: Setup Rust toolchain
61-
run: ./ci/install-rust.sh
62-
- name: Execute run.sh
63-
run: ./ci/run.sh ${{ matrix.target }}
64-
65-
windows:
66-
name: Windows
67-
runs-on: windows-2022
68-
strategy:
69-
fail-fast: true
7051
matrix:
7152
include:
53+
- target: i686-unknown-linux-gnu
54+
docker: true
55+
os: ubuntu-22.04
56+
- target: x86_64-unknown-linux-gnu
57+
docker: true
58+
os: ubuntu-22.04
59+
- target: aarch64-apple-darwin
60+
os: macos-14
7261
- target: x86_64-pc-windows-gnu
62+
os: windows-2022
7363
env:
7464
ARCH_BITS: 64
7565
ARCH: x86_64
7666
- target: x86_64-pc-windows-msvc
67+
os: windows-2022
7768
# FIXME: It currently causes segfaults.
7869
#- target: i686-pc-windows-gnu
7970
# env:
8071
# ARCH_BITS: 32
8172
# ARCH: i686
8273
- target: i686-pc-windows-msvc
74+
os: windows-2022
75+
runs-on: ${{ matrix.os }}
8376
env:
84-
OS: windows
8577
TARGET: ${{ matrix.target }}
8678
steps:
8779
- uses: actions/checkout@v4
88-
- name: Self-update rustup
89-
run: rustup self update
90-
shell: bash
9180
- name: Setup Rust toolchain
9281
run: ./ci/install-rust.sh
93-
shell: bash
94-
- name: Execute run.sh
82+
- name: Run natively
83+
if: "!matrix.docker"
9584
run: ./ci/run.sh ${{ matrix.target }}
96-
shell: bash
97-
98-
docker_linux_tier1:
99-
name: Docker Linux Tier1
100-
runs-on: ubuntu-22.04
101-
strategy:
102-
fail-fast: true
103-
matrix:
104-
target:
105-
- i686-unknown-linux-gnu
106-
- x86_64-unknown-linux-gnu
107-
env:
108-
TARGET: ${{ matrix.target }}
109-
steps:
110-
- uses: actions/checkout@v4
111-
- name: Setup Rust toolchain
112-
run: ./ci/install-rust.sh
113-
- name: Execute run-docker.sh
85+
- name: Run in Docker
86+
if: "matrix.docker"
11487
run: ./ci/run-docker.sh ${{ matrix.target }}
11588

116-
docker_linux_tier2:
117-
name: Docker Linux Tier2
118-
needs: [docker_linux_tier1, style_check]
89+
test_tier2:
90+
name: Test tier2
91+
needs: [test_tier1, style_check]
11992
runs-on: ubuntu-22.04
12093
strategy:
12194
fail-fast: true
@@ -202,10 +175,8 @@ jobs:
202175
name: success
203176
runs-on: ubuntu-22.04
204177
needs:
205-
- docker_linux_tier1
206-
- docker_linux_tier2
207-
- macos
208-
- windows
178+
- test_tier1
179+
- test_tier2
209180
- solaris
210181
- style_check
211182
- verify_build

0 commit comments

Comments
 (0)