Skip to content

Commit 688e0ba

Browse files
authored
CI: Fix a CI config bug regarding 32-bit vs 64-bit Julia (#973)
1 parent 3b12079 commit 688e0ba

File tree

1 file changed

+23
-13
lines changed

1 file changed

+23
-13
lines changed

.github/workflows/ci.yml

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
- run: exit 0
4141
test:
4242
timeout-minutes: 90
43-
runs-on: ${{ matrix.os }}
43+
runs-on: ${{ matrix.github-runner }}
4444
strategy:
4545
max-parallel: 20 # leave space for other runs in the JuliaLang org, given these tests are long
4646
fail-fast: false
@@ -51,10 +51,13 @@ jobs:
5151
- '1.10' # current LTS
5252
# - '1.11' # TODO: uncomment this line once we fix the tests on 1.11
5353
# - 'nightly' # TODO: decide whether we want to run any CI jobs on nightly.
54-
julia-arch:
55-
- 'x64' # 32-bit Julia
56-
- 'x86' # 64-bit Julia
57-
os:
54+
julia-wordsize:
55+
# Note: regardless of what value we select here, the underlying GitHub Runner
56+
# (virtual machine) will always be a 64-bit operating system. The value here
57+
# only affects the version of Julia binary that we download.
58+
- '32' # 32-bit Julia. Only available on x86_64. Not available on aarch64.
59+
- '64' # 64-bit Julia.
60+
github-runner:
5861
- ubuntu-latest
5962
- windows-latest
6063
- macos-13 # macos-13 = Intel.
@@ -65,17 +68,17 @@ jobs:
6568
exclude:
6669
# For now, we'll disable testing 32-bit Julia 1.9 on Windows.
6770
# TODO: remove the following once we fix the tests for 32-bit Julia 1.9 on Windows.
68-
- os: windows-latest
69-
julia-arch: x86
71+
- github-runner: windows-latest
7072
julia-version: '1.9'
73+
julia-wordsize: '32'
7174
#
72-
# We don't have 32-bit builds of Julia for macOS:
73-
- os: macos-latest
74-
julia-arch: x86
75+
# We don't have 32-bit builds of Julia for Intel macOS:
76+
- github-runner: macos-13 # macos-13 = Intel.
77+
julia-wordsize: '32'
7578
#
76-
# We don't have 32-bit builds of Julia for macOS:
77-
- os: macos-latest
78-
julia-arch: x86
79+
# We don't have 32-bit builds of Julia for Apple Silicon macOS:
80+
- github-runner: macos-14 # macos-14 = Apple Silicon.
81+
julia-wordsize: '32'
7982
#
8083
# We don't need to run the coverage=false job for Julia < 1.9:
8184
- julia-version: '1.6'
@@ -89,6 +92,13 @@ jobs:
8992
- uses: julia-actions/setup-julia@9b79636afcfb07ab02c256cede01fe2db6ba808c # v2.6.0
9093
with:
9194
version: ${{ matrix.julia-version }}
95+
# If `julia-wordsize` is 32, then we set `arch` to `x86`, because we know that
96+
# 32-bit builds of Julia are only available for x86.
97+
#
98+
# If `julia-wordsize` is 64, then we set `arch` to `${{ runner.arch }}`, which
99+
# GitHub will automatically expand to the correct value (`x86_64` or `aarch64`)
100+
# based on the architecture of the runner.
101+
arch: ${{ github.ref == '32' && 'x86' || runner.arch }}
92102
- uses: julia-actions/cache@824243901fb567ccb490b0d0e2483ccecde46834 # v2.0.5
93103
- uses: julia-actions/julia-runtest@d0c4f093badade621cd041bba567d1e832480ac2 # v1.10.0
94104
with:

0 commit comments

Comments
 (0)