40
40
- run : exit 0
41
41
test :
42
42
timeout-minutes : 90
43
- runs-on : ${{ matrix.os }}
43
+ runs-on : ${{ matrix.github-runner }}
44
44
strategy :
45
45
max-parallel : 20 # leave space for other runs in the JuliaLang org, given these tests are long
46
46
fail-fast : false
@@ -51,32 +51,38 @@ jobs:
51
51
- ' 1.10' # current LTS
52
52
# - '1.11' # TODO: uncomment this line once we fix the tests on 1.11
53
53
# - '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
+ # The value here only affects the version of Julia binary that we download.
56
+ # It does not affect the architecture of the GitHub Runner (virtual machine) that
57
+ # we run on.
58
+ - ' 32' # 32-bit Julia. Only available on x86_64. Not available on aarch64.
59
+ - ' 64' # 64-bit Julia.
60
+ github-runner :
58
61
- ubuntu-latest
59
62
- windows-latest
60
63
- macos-13 # macos-13 = Intel.
61
- # TODO: uncomment the next line, so that we can start testing on macos-14:
62
- # - macos-14 # macos-14 = Apple Silicon.
64
+ - macos-14 # macos-14 = Apple Silicon.
63
65
coverage :
64
66
- ' true'
65
67
- ' false' # needed for Julia 1.9+ to test from a session using pkgimages
66
68
exclude :
67
69
# For now, we'll disable testing 32-bit Julia 1.9 on Windows.
68
70
# TODO: remove the following once we fix the tests for 32-bit Julia 1.9 on Windows.
69
- - os : windows-latest
70
- julia-arch : x86
71
+ - github-runner : windows-latest
71
72
julia-version : ' 1.9'
73
+ julia-wordsize : ' 32'
72
74
#
73
- # We don't have 32-bit builds of Julia for macOS :
74
- - os : macos-latest
75
- julia-arch : x86
75
+ # Julia 1.6 did not support Apple Silicon :
76
+ - github-runner : macos-14 # macos-14 = Apple Silicon.
77
+ julia-version : ' 1.6 '
76
78
#
77
- # We don't have 32-bit builds of Julia for macOS:
78
- - os : macos-latest
79
- julia-arch : x86
79
+ # We don't have 32-bit builds of Julia for Intel macOS:
80
+ - github-runner : macos-13 # macos-13 = Intel.
81
+ julia-wordsize : ' 32'
82
+ #
83
+ # We don't have 32-bit builds of Julia for Apple Silicon macOS:
84
+ - github-runner : macos-14 # macos-14 = Apple Silicon.
85
+ julia-wordsize : ' 32'
80
86
#
81
87
# We don't need to run the coverage=false job for Julia < 1.9:
82
88
- julia-version : ' 1.6'
90
96
- uses : julia-actions/setup-julia@9b79636afcfb07ab02c256cede01fe2db6ba808c # v2.6.0
91
97
with :
92
98
version : ${{ matrix.julia-version }}
99
+ # If `julia-wordsize` is 32, then we set `arch` to `x86`, because we know that
100
+ # 32-bit builds of Julia are only available for x86.
101
+ #
102
+ # If `julia-wordsize` is 64, then we set `arch` to `${{ runner.arch }}`, which
103
+ # GitHub will automatically expand to the correct value (`x86_64` or `aarch64`)
104
+ # based on the architecture of the underlying GitHub Runner (virtual machine).
105
+ arch : ${{ github.ref == '32' && 'x86' || runner.arch }}
93
106
- uses : julia-actions/cache@824243901fb567ccb490b0d0e2483ccecde46834 # v2.0.5
94
107
- uses : julia-actions/julia-runtest@d0c4f093badade621cd041bba567d1e832480ac2 # v1.10.0
95
108
with :
0 commit comments