Skip to content
15 changes: 13 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ jobs:
matrix:
julia-version:
- '1.6' # previous LTS
# - '1.9' # TODO: uncomment this line once we fix the tests on 1.9
- '1.10' # current LTS
- '1.11'
- '1.11' # current stable
# - 'pre' # comment out when there is no pre-release available; uncomment when there is a pre-release available.
# - 'nightly' # TODO: decide whether we want to run any CI jobs on nightly.
julia-wordsize:
# The value here only affects the version of Julia binary that we download.
Expand All @@ -65,7 +65,18 @@ jobs:
coverage:
- 'true'
- 'false' # needed for Julia 1.9+ to test from a session using pkgimages
include:
# Julia 1.9 is no longer supported (by upstream Julia).
# Thus, we intentionally only run one Julia 1.9 CI job in this repo.
- julia-version: '1.9'
julia-wordsize: '64'
github-runner: ubuntu-latest
coverage: false
exclude:
# For now, we'll disable testing 32-bit Julia 1.9 on all operating systems.
# TODO: remove the following once we fix the tests for 32-bit Julia 1.9 .
- julia-version: '1.9'
julia-wordsize: '32'
# For now, we'll disable testing 32-bit Julia 1.9 on Windows.
# TODO: remove the following once we fix the tests for 32-bit Julia 1.9 on Windows.
- github-runner: windows-latest
Expand Down
8 changes: 6 additions & 2 deletions examples/MyApp/src/MyApp.jl
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@ using HelloWorldC_jll
using Artifacts
using Distributed
using Random
if VERSION >= v"1.7.0"

# We seem to get problems with LLVMExtra_jll on Julia 1.6 and 1.9
# Issue for 1.6: https://github.com/JuliaLang/PackageCompiler.jl/issues/706
# There's no GitHub Issue for 1.9
@static if (VERSION.major, VERSION.minor) ∉ ((1, 6), (1, 9),)
using LLVMExtra_jll
end

Expand Down Expand Up @@ -85,7 +89,7 @@ function real_main()
@eval @everywhere using Example
@everywhere println(Example.domath(3))

if VERSION >= v"1.7.0"
@static if (VERSION.major, VERSION.minor) ∉ ((1, 6), (1, 9),)
if isfile(LLVMExtra_jll.libLLVMExtra_path)
println("LLVMExtra path: ok!")
else
Expand Down
22 changes: 12 additions & 10 deletions test/runtests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ Base.init_depot_path()
const is_ci = tryparse(Bool, get(ENV, "CI", "")) === true
const is_slow_ci = is_ci && Sys.ARCH == :aarch64
const is_julia_1_6 = VERSION.major == 1 && VERSION.minor == 6
const is_julia_1_9 = VERSION.major == 1 && VERSION.minor == 9
const is_julia_1_11 = VERSION.major == 1 && VERSION.minor == 11

if is_ci
Expand All @@ -26,12 +27,8 @@ if is_slow_ci
@warn "This is \"slow CI\" (`is_ci && Sys.ARCH == :aarch64`). Some tests will be skipped or modified." Sys.ARCH
end

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

if is_julia_1_11
@warn "This is Julia 1.11. Some tests will be skipped or modified." VERSION
if any([is_julia_1_6, is_julia_1_9, is_julia_1_11])
@warn "This is Julia $(VERSION.major).$(VERSION.minor). Some tests will be skipped or modified." VERSION
end

function remove_llvmextras(project_file)
Expand Down Expand Up @@ -86,7 +83,7 @@ end
# On Julia 1.11, `incremental=false` is currently broken: https://github.com/JuliaLang/PackageCompiler.jl/issues/976
# So, for now, we skip the `incremental=false` tests on Julia 1.11
@warn "This is Julia 1.11; skipping incremental=false test due to known bug: https://github.com/JuliaLang/PackageCompiler.jl/issues/976"
@test_broken false
@test_skip false
continue
end
filter_stdlibs = (is_slow_ci ? (true, ) : (true, false))
Expand All @@ -97,8 +94,9 @@ end
@info "starting: create_app testset" incremental filter
tmp_app_source_dir = joinpath(tmp, "MyApp")
cp(app_source_dir, tmp_app_source_dir)
if is_julia_1_6
# Issue #706 "Cannot locate artifact 'LLVMExtra'" on 1.6 so remove
if is_julia_1_6 || is_julia_1_9
# Julia 1.6: Issue #706 "Cannot locate artifact 'LLVMExtra'" on 1.6 so remove.
# Julia 1.9: There's no GitHub Issue, but it seems we hit a similar problem.
remove_llvmextras(joinpath(tmp_app_source_dir, "Project.toml"))
end
try
Expand Down Expand Up @@ -154,7 +152,11 @@ end
@test occursin("From worker 4:\t8", app_output)
@test occursin("From worker 5:\t8", app_output)

if VERSION >= v"1.7-"
if is_julia_1_6 || is_julia_1_9
# Julia 1.6: Issue #706 "Cannot locate artifact 'LLVMExtra'" on 1.6 so remove.
# Julia 1.9: There's no GitHub Issue, but it seems we hit a similar problem.
@test_skip false
else
@test occursin("LLVMExtra path: ok!", app_output)
end
@test occursin("micromamba_jll path: ok!", app_output)
Expand Down
Loading