Skip to content

Commit 8c4fda1

Browse files
authored
Merge branch 'master' into xcode-flag-fix
2 parents e17d3a8 + 85cdb03 commit 8c4fda1

File tree

4 files changed

+53
-20
lines changed

4 files changed

+53
-20
lines changed

.github/workflows/ci.yml

Lines changed: 30 additions & 16 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
@@ -49,34 +49,40 @@ jobs:
4949
- '1.6' # previous LTS
5050
# - '1.9' # TODO: uncomment this line once we fix the tests on 1.9
5151
- '1.10' # current LTS
52-
# - '1.11' # TODO: uncomment this line once we fix the tests on 1.11
52+
- '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+
# 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:
5861
- ubuntu-latest
5962
- windows-latest
6063
- 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.
6365
coverage:
6466
- 'true'
6567
- 'false' # needed for Julia 1.9+ to test from a session using pkgimages
6668
exclude:
6769
# For now, we'll disable testing 32-bit Julia 1.9 on Windows.
6870
# 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
7172
julia-version: '1.9'
73+
julia-wordsize: '32'
7274
#
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'
7678
#
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'
8086
#
8187
# We don't need to run the coverage=false job for Julia < 1.9:
8288
- julia-version: '1.6'
@@ -90,6 +96,13 @@ jobs:
9096
- uses: julia-actions/setup-julia@9b79636afcfb07ab02c256cede01fe2db6ba808c # v2.6.0
9197
with:
9298
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 }}
93106
- uses: julia-actions/cache@824243901fb567ccb490b0d0e2483ccecde46834 # v2.0.5
94107
- uses: julia-actions/julia-runtest@d0c4f093badade621cd041bba567d1e832480ac2 # v1.10.0
95108
with:
@@ -121,6 +134,7 @@ jobs:
121134
- uses: julia-actions/setup-julia@9b79636afcfb07ab02c256cede01fe2db6ba808c # v2.6.0
122135
with:
123136
version: '1'
137+
- uses: julia-actions/cache@824243901fb567ccb490b0d0e2483ccecde46834 # v2.0.5
124138
- uses: julia-actions/julia-buildpkg@90dd6f23eb49626e4e6612cb9d64d456f86e6a1c # v1.6.0
125139
with:
126140
project: 'examples/MyLib'

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "PackageCompiler"
22
uuid = "9b87118b-4619-50d2-8e1e-99f35a4d4d9d"
3-
version = "2.1.19"
3+
version = "2.1.20"
44

55
[deps]
66
Artifacts = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"

src/embedding_wrapper.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,10 @@ int main(int argc, char *argv[]) {
105105
jl_value_t *firstarg = checked_eval_string("popfirst!(ARGS)");
106106
JL_GC_PUSH1(&firstarg);
107107
jl_sym_t *var = jl_symbol("PROGRAM_FILE");
108-
#if JULIA_VERSION_MAJOR == 1 && JULIA_VERSION_MINOR >= 10
108+
#if JULIA_VERSION_MAJOR == 1 && JULIA_VERSION_MINOR >= 11
109+
jl_binding_t *bp = jl_get_binding_wr(jl_base_module, var, /* alloc */ 1);
110+
jl_checked_assignment(bp, jl_base_module, var, firstarg);
111+
#elif JULIA_VERSION_MAJOR == 1 && JULIA_VERSION_MINOR >= 10
109112
jl_binding_t *bp = jl_get_binding_wr(jl_base_module, var);
110113
jl_checked_assignment(bp, jl_base_module, var, firstarg);
111114
#elif JULIA_VERSION_MAJOR == 1 && JULIA_VERSION_MINOR >= 9

test/runtests.jl

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,22 @@ Base.init_depot_path()
1616
const is_ci = tryparse(Bool, get(ENV, "CI", "")) === true
1717
const is_slow_ci = is_ci && Sys.ARCH == :aarch64
1818
const is_julia_1_6 = VERSION.major == 1 && VERSION.minor == 6
19+
const is_julia_1_11 = VERSION.major == 1 && VERSION.minor == 11
20+
21+
if is_ci
22+
@show Sys.ARCH
23+
end
24+
25+
if is_slow_ci
26+
@warn "This is \"slow CI\" (`is_ci && Sys.ARCH == :aarch64`). Some tests will be skipped or modified." Sys.ARCH
27+
end
1928

2029
if is_julia_1_6
2130
@warn "This is Julia 1.6. Some tests will be skipped or modified." VERSION
2231
end
2332

24-
if is_ci
25-
@show Sys.ARCH
33+
if is_julia_1_11
34+
@warn "This is Julia 1.11. Some tests will be skipped or modified." VERSION
2635
end
2736

2837
function remove_llvmextras(project_file)
@@ -73,6 +82,13 @@ end
7382
app_compiled_dir = joinpath(tmp, "MyAppCompiled")
7483
@testset for incremental in (is_slow_ci ? (false,) : (true, false))
7584
if incremental == false
85+
if is_julia_1_11
86+
# On Julia 1.11, `incremental=false` is currently broken: https://github.com/JuliaLang/PackageCompiler.jl/issues/976
87+
# So, for now, we skip the `incremental=false` tests on Julia 1.11
88+
@warn "This is Julia 1.11; skipping incremental=false test due to known bug: https://github.com/JuliaLang/PackageCompiler.jl/issues/976"
89+
@test_broken false
90+
continue
91+
end
7692
filter_stdlibs = (is_slow_ci ? (true, ) : (true, false))
7793
else
7894
filter_stdlibs = (false,)

0 commit comments

Comments
 (0)