Skip to content

Commit 01244c5

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.
1 parent c4e3ff8 commit 01244c5

File tree

1 file changed

+23
-53
lines changed

1 file changed

+23
-53
lines changed

.github/workflows/ci.yaml

Lines changed: 23 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -44,78 +44,50 @@ jobs:
4444
- name: Execute build.sh
4545
run: ./ci/verify-build.sh
4646

47-
macos:
48-
name: macOS
49-
runs-on: macos-14
47+
test_tier1:
48+
name: Test tier1
5049
strategy:
51-
fail-fast: true
52-
matrix:
53-
target:
54-
- aarch64-apple-darwin
55-
env:
56-
TARGET: ${{ matrix.target }}
57-
steps:
58-
- uses: actions/checkout@v4
59-
- name: Setup Rust toolchain
60-
run: ./ci/install-rust.sh
61-
- name: Execute run.sh
62-
run: ./ci/run.sh ${{ matrix.target }}
63-
64-
windows:
65-
name: Windows
66-
runs-on: windows-2022
67-
strategy:
68-
fail-fast: true
6950
matrix:
7051
include:
52+
- target: i686-unknown-linux-gnu
53+
docker: true
54+
os: ubuntu-22.04
55+
- target: x86_64-unknown-linux-gnu
56+
docker: true
57+
os: ubuntu-22.04
58+
- target: aarch64-apple-darwin
59+
os: macos-14
7160
- target: x86_64-pc-windows-gnu
61+
os: windows-2022
7262
env:
7363
ARCH_BITS: 64
7464
ARCH: x86_64
7565
- target: x86_64-pc-windows-msvc
66+
os: windows-2022
7667
# FIXME: It currently causes segfaults.
7768
#- target: i686-pc-windows-gnu
7869
# env:
7970
# ARCH_BITS: 32
8071
# ARCH: i686
8172
- target: i686-pc-windows-msvc
73+
os: windows-2022
74+
runs-on: ${{ matrix.os }}
8275
env:
83-
OS: windows
8476
TARGET: ${{ matrix.target }}
8577
steps:
8678
- uses: actions/checkout@v4
87-
- name: Self-update rustup
88-
run: rustup self update
89-
shell: bash
9079
- name: Setup Rust toolchain
9180
run: ./ci/install-rust.sh
92-
shell: bash
93-
- name: Execute run.sh
81+
- name: Run natively
82+
if: "!matrix.docker"
9483
run: ./ci/run.sh ${{ matrix.target }}
95-
shell: bash
96-
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
84+
- name: Run in Docker
85+
if: "matrix.docker"
11486
run: ./ci/run-docker.sh ${{ matrix.target }}
11587

116-
docker_linux_tier2:
117-
name: Docker Linux Tier2
118-
needs: [docker_linux_tier1, style_check]
88+
test_tier2:
89+
name: Test tier2
90+
needs: [test_tier1, style_check]
11991
runs-on: ubuntu-22.04
12092
strategy:
12193
fail-fast: true
@@ -202,10 +174,8 @@ jobs:
202174
name: success
203175
runs-on: ubuntu-22.04
204176
needs:
205-
- docker_linux_tier1
206-
- docker_linux_tier2
207-
- macos
208-
- windows
177+
- test_tier1
178+
- test_tier2
209179
- solaris
210180
- style_check
211181
- verify_build

0 commit comments

Comments
 (0)