Skip to content

Commit 3df8c78

Browse files
committed
CI: Run CI on both Intel macOS and Apple Silicon macOS
1 parent 70862d1 commit 3df8c78

1 file changed

Lines changed: 22 additions & 14 deletions

File tree

.github/workflows/ci.yml

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ concurrency:
1717

1818
jobs:
1919
test:
20-
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
2120
runs-on: ${{ matrix.os }}
2221
strategy:
2322
fail-fast: false
@@ -30,26 +29,35 @@ jobs:
3029
os:
3130
- ubuntu-latest
3231
- windows-latest
33-
arch:
34-
- x64
35-
- x86
36-
include:
37-
- os: macOS-latest
38-
arch: aarch64
39-
version: '1'
40-
- os: macOS-latest
41-
arch: aarch64
42-
version: 'nightly'
32+
- macos-15-intel # Intel
33+
- macos-latest # Apple Silicon
34+
julia-wordsize:
35+
# The value here only affects the version of Julia binary that we download.
36+
# It does not affect the architecture of the GitHub Runner (virtual machine) that
37+
# we run on.
38+
- '32' # 32-bit Julia. Only available on x86_64. Not available on aarch64.
39+
- '64' # 64-bit Julia.
4340
exclude:
44-
- os: windows-latest # Killing workers doesn't work on windows in 1.9
45-
version: '1.9'
41+
# We don't have 32-bit builds of Julia for Intel macOS:
42+
- github-runner: macos-15-intel # Intel
43+
julia-wordsize: '32'
44+
#
45+
# We don't have 32-bit builds of Julia for Apple Silicon macOS:
46+
- github-runner: macos-latest # Apple Silicon
47+
julia-wordsize: '32'
4648

4749
steps:
4850
- uses: actions/checkout@v6
4951
- uses: julia-actions/setup-julia@v2
5052
with:
5153
version: ${{ matrix.version }}
52-
arch: ${{ matrix.arch }}
54+
# If `julia-wordsize` is 32, then we set `arch` to `x86`, because we know that
55+
# 32-bit builds of Julia are only available for x86.
56+
#
57+
# If `julia-wordsize` is 64, then we set `arch` to `${{ runner.arch }}`, which
58+
# GitHub will automatically expand to the correct value (`x86_64` or `aarch64`)
59+
# based on the architecture of the underlying GitHub Runner (virtual machine).
60+
arch: ${{ github.ref == '32' && 'x86' || runner.arch }}
5361
- uses: actions/cache@v5
5462
env:
5563
cache-name: cache-artifacts

0 commit comments

Comments
 (0)