Skip to content

Commit 776df0f

Browse files
committed
Refactor into per-OS jobs
1 parent 824c6fb commit 776df0f

File tree

1 file changed

+47
-26
lines changed

1 file changed

+47
-26
lines changed

.github/workflows/tail-call.yml

Lines changed: 47 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ env:
2323
LLVM_VERSION: 21
2424

2525
jobs:
26-
tail-call:
26+
windows:
2727
name: ${{ matrix.target }}
2828
runs-on: ${{ matrix.runner }}
2929
timeout-minutes: 90
@@ -41,34 +41,14 @@ jobs:
4141
runner: windows-2025-vs2026
4242
build_flags: --disable-gil
4343
run_tests: false
44-
- target: x86_64-apple-darwin/clang
45-
architecture: x86_64
46-
runner: macos-15-intel
47-
- target: aarch64-apple-darwin/clang
48-
architecture: aarch64
49-
runner: macos-14
50-
- target: x86_64-unknown-linux-gnu/gcc
51-
architecture: x86_64
52-
runner: ubuntu-24.04
53-
configure_flags: --with-pydebug
54-
- target: x86_64-unknown-linux-gnu/gcc-free-threading
55-
architecture: x86_64
56-
runner: ubuntu-24.04
57-
configure_flags: --disable-gil
58-
- target: aarch64-unknown-linux-gnu/gcc
59-
architecture: aarch64
60-
runner: ubuntu-24.04-arm
61-
configure_flags: --with-pydebug
6244
steps:
6345
- uses: actions/checkout@v6
6446
with:
6547
persist-credentials: false
6648
- uses: actions/setup-python@v6
6749
with:
6850
python-version: '3.11'
69-
70-
- name: Native Windows MSVC (release)
71-
if: runner.os == 'Windows'
51+
- name: Build and test
7252
shell: pwsh
7353
run: |
7454
$env:PlatformToolset = "v145"
@@ -77,8 +57,26 @@ jobs:
7757
./PCbuild/rt.bat -p ${{ matrix.architecture }} -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3
7858
}
7959
80-
- name: Native macOS (release)
81-
if: runner.os == 'macOS'
60+
macos:
61+
name: ${{ matrix.target }}
62+
runs-on: ${{ matrix.runner }}
63+
timeout-minutes: 90
64+
strategy:
65+
fail-fast: false
66+
matrix:
67+
include:
68+
- target: x86_64-apple-darwin/clang
69+
runner: macos-15-intel
70+
- target: aarch64-apple-darwin/clang
71+
runner: macos-14
72+
steps:
73+
- uses: actions/checkout@v6
74+
with:
75+
persist-credentials: false
76+
- uses: actions/setup-python@v6
77+
with:
78+
python-version: '3.11'
79+
- name: Build and test
8280
run: |
8381
brew update
8482
brew install llvm@${{ env.LLVM_VERSION }}
@@ -89,8 +87,31 @@ jobs:
8987
make all --jobs 4
9088
./python.exe -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3
9189
92-
- name: Native Linux
93-
if: runner.os == 'Linux'
90+
linux:
91+
name: ${{ matrix.target }}
92+
runs-on: ${{ matrix.runner }}
93+
timeout-minutes: 90
94+
strategy:
95+
fail-fast: false
96+
matrix:
97+
include:
98+
- target: x86_64-unknown-linux-gnu/gcc
99+
runner: ubuntu-24.04
100+
configure_flags: --with-pydebug
101+
- target: x86_64-unknown-linux-gnu/gcc-free-threading
102+
runner: ubuntu-24.04
103+
configure_flags: --disable-gil
104+
- target: aarch64-unknown-linux-gnu/gcc
105+
runner: ubuntu-24.04-arm
106+
configure_flags: --with-pydebug
107+
steps:
108+
- uses: actions/checkout@v6
109+
with:
110+
persist-credentials: false
111+
- uses: actions/setup-python@v6
112+
with:
113+
python-version: '3.11'
114+
- name: Build and test
94115
run: |
95116
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ env.LLVM_VERSION }}
96117
export PATH="$(llvm-config-${{ env.LLVM_VERSION }} --bindir):$PATH"

0 commit comments

Comments
 (0)