From 264ff743d5d672bd549afad2aefd1ab18c453795 Mon Sep 17 00:00:00 2001 From: Dilum Aluthge Date: Sat, 19 Oct 2024 15:28:48 -0400 Subject: [PATCH 01/12] Resume CI on Julia 1.9 (but only 64-bit) --- .github/workflows/ci.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4d7efc2d..f76c343c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,7 +47,7 @@ jobs: matrix: julia-version: - '1.6' # previous LTS - # - '1.9' # TODO: uncomment this line once we fix the tests on 1.9 + - '1.9' - '1.10' # current LTS - '1.11' # - 'nightly' # TODO: decide whether we want to run any CI jobs on nightly. @@ -66,6 +66,11 @@ jobs: - 'true' - 'false' # needed for Julia 1.9+ to test from a session using pkgimages 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 . + - github-runner: windows-latest + 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 From 2750f30ad77ca8c20814851be74732c8a86eda95 Mon Sep 17 00:00:00 2001 From: Dilum Aluthge Date: Sat, 19 Oct 2024 18:22:41 -0400 Subject: [PATCH 02/12] Fix a mistake --- .github/workflows/ci.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f76c343c..c36e9da7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -68,8 +68,7 @@ jobs: 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 . - - github-runner: windows-latest - julia-version: '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. From e5baa1bc754f5a294b2e4480af6042afa9ec4590 Mon Sep 17 00:00:00 2001 From: Dilum Aluthge Date: Sat, 19 Oct 2024 18:43:09 -0400 Subject: [PATCH 03/12] Test suite: Remove LLVMExtras on Julia 1.9 --- test/runtests.jl | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/test/runtests.jl b/test/runtests.jl index d6d532b1..bd2bbe36 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -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 @@ -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) @@ -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 issue, but it seems we hit a similar issue. remove_llvmextras(joinpath(tmp_app_source_dir, "Project.toml")) end try From ddabb98ce27f2a321810868828945d0314f317a2 Mon Sep 17 00:00:00 2001 From: Dilum Aluthge Date: Sat, 19 Oct 2024 18:52:47 -0400 Subject: [PATCH 04/12] Fix syntax --- test/runtests.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/runtests.jl b/test/runtests.jl index bd2bbe36..8d489213 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -27,7 +27,7 @@ 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 any[(is_julia_1_6, is_julia_1_9, is_julia_1_11]) +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 From bfbfdbabf796c8cc371282717b43599401d2633c Mon Sep 17 00:00:00 2001 From: Dilum Aluthge Date: Sat, 19 Oct 2024 19:37:41 -0400 Subject: [PATCH 05/12] LLVMExtra_jll gives problems on Julia 1.9 --- examples/MyApp/src/MyApp.jl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/examples/MyApp/src/MyApp.jl b/examples/MyApp/src/MyApp.jl index 8a146c60..06cf116a 100644 --- a/examples/MyApp/src/MyApp.jl +++ b/examples/MyApp/src/MyApp.jl @@ -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 >= v"1.7.0") && !(VERSION.major == 1 && VERSION.major == 9) using LLVMExtra_jll end From bed740daa212c9873fd00473edeb8f7660c7a3d5 Mon Sep 17 00:00:00 2001 From: Dilum Aluthge Date: Sat, 19 Oct 2024 19:47:51 -0400 Subject: [PATCH 06/12] Fix another place that uses LLVMExtra_jll --- examples/MyApp/src/MyApp.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/MyApp/src/MyApp.jl b/examples/MyApp/src/MyApp.jl index 06cf116a..6e80c47e 100644 --- a/examples/MyApp/src/MyApp.jl +++ b/examples/MyApp/src/MyApp.jl @@ -89,7 +89,7 @@ function real_main() @eval @everywhere using Example @everywhere println(Example.domath(3)) - if VERSION >= v"1.7.0" + @static if (VERSION >= v"1.7.0") && !(VERSION.major == 1 && VERSION.major == 9) if isfile(LLVMExtra_jll.libLLVMExtra_path) println("LLVMExtra path: ok!") else From 57079dc3d859cdac1e1689e11d21f4d6fa69d4f5 Mon Sep 17 00:00:00 2001 From: Dilum Aluthge Date: Sat, 19 Oct 2024 19:56:21 -0400 Subject: [PATCH 07/12] Fix a mistake --- examples/MyApp/src/MyApp.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/MyApp/src/MyApp.jl b/examples/MyApp/src/MyApp.jl index 6e80c47e..8f66979c 100644 --- a/examples/MyApp/src/MyApp.jl +++ b/examples/MyApp/src/MyApp.jl @@ -9,7 +9,7 @@ using Random # 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 >= v"1.7.0") && !(VERSION.major == 1 && VERSION.major == 9) +@static if (VERSION >= v"1.7.0") || !(VERSION.major == 1 && VERSION.major == 9) using LLVMExtra_jll end @@ -89,7 +89,7 @@ function real_main() @eval @everywhere using Example @everywhere println(Example.domath(3)) - @static if (VERSION >= v"1.7.0") && !(VERSION.major == 1 && VERSION.major == 9) + @static if (VERSION >= v"1.7.0") || !(VERSION.major == 1 && VERSION.major == 9) if isfile(LLVMExtra_jll.libLLVMExtra_path) println("LLVMExtra path: ok!") else From 8105d6f3cfbf756b334477e75befdbee0214b1b5 Mon Sep 17 00:00:00 2001 From: Dilum Aluthge Date: Sat, 19 Oct 2024 20:07:38 -0400 Subject: [PATCH 08/12] Debugging --- examples/MyApp/src/MyApp.jl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/examples/MyApp/src/MyApp.jl b/examples/MyApp/src/MyApp.jl index 8f66979c..1f29b618 100644 --- a/examples/MyApp/src/MyApp.jl +++ b/examples/MyApp/src/MyApp.jl @@ -10,7 +10,10 @@ using Random # Issue for 1.6: https://github.com/JuliaLang/PackageCompiler.jl/issues/706 # There's no GitHub Issue for 1.9 @static if (VERSION >= v"1.7.0") || !(VERSION.major == 1 && VERSION.major == 9) + @info "Hit TRUE" VERSION # TODO: delete this line using LLVMExtra_jll +else # TODO: delete this line + @info "Hit false" VERSION # TODO: delete this line end using micromamba_jll @@ -90,11 +93,14 @@ function real_main() @everywhere println(Example.domath(3)) @static if (VERSION >= v"1.7.0") || !(VERSION.major == 1 && VERSION.major == 9) + @info "Hit TRUE" VERSION # TODO: delete this line if isfile(LLVMExtra_jll.libLLVMExtra_path) println("LLVMExtra path: ok!") else println("LLVMExtra path: fail!") end + else # TODO: delete this line + @info "Hit FALSE" VERSION # TODO: delete this line end if isfile(micromamba_jll.micromamba_path) From 727467d1f756c17d8c683ed2e4d393506ed7d3fa Mon Sep 17 00:00:00 2001 From: Dilum Aluthge Date: Sat, 19 Oct 2024 20:09:29 -0400 Subject: [PATCH 09/12] Fix logic --- examples/MyApp/src/MyApp.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/MyApp/src/MyApp.jl b/examples/MyApp/src/MyApp.jl index 1f29b618..961313f5 100644 --- a/examples/MyApp/src/MyApp.jl +++ b/examples/MyApp/src/MyApp.jl @@ -9,7 +9,7 @@ using Random # 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 >= v"1.7.0") || !(VERSION.major == 1 && VERSION.major == 9) +@static if (VERSION.major, VERSION.minor) ∉ ((1, 6), (1, 9),) @info "Hit TRUE" VERSION # TODO: delete this line using LLVMExtra_jll else # TODO: delete this line @@ -92,7 +92,7 @@ function real_main() @eval @everywhere using Example @everywhere println(Example.domath(3)) - @static if (VERSION >= v"1.7.0") || !(VERSION.major == 1 && VERSION.major == 9) + @static if (VERSION.major, VERSION.minor) ∉ ((1, 6), (1, 9),) @info "Hit TRUE" VERSION # TODO: delete this line if isfile(LLVMExtra_jll.libLLVMExtra_path) println("LLVMExtra path: ok!") From 5021cb9f1193891a18a4219d0282652c55aa3306 Mon Sep 17 00:00:00 2001 From: Dilum Aluthge Date: Sat, 19 Oct 2024 20:24:57 -0400 Subject: [PATCH 10/12] Skip another LLVMExtra test on Julia 1.9 --- test/runtests.jl | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/test/runtests.jl b/test/runtests.jl index 8d489213..4bbcc263 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -83,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)) @@ -96,7 +96,7 @@ end cp(app_source_dir, tmp_app_source_dir) 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 issue, but it seems we hit a similar issue. + # 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 @@ -152,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) From 169295ff3d95f3608f74e765f022bebdc515492e Mon Sep 17 00:00:00 2001 From: Dilum Aluthge Date: Sat, 19 Oct 2024 23:44:05 -0400 Subject: [PATCH 11/12] Remove debugging lines --- examples/MyApp/src/MyApp.jl | 6 ------ 1 file changed, 6 deletions(-) diff --git a/examples/MyApp/src/MyApp.jl b/examples/MyApp/src/MyApp.jl index 961313f5..8be7cfb4 100644 --- a/examples/MyApp/src/MyApp.jl +++ b/examples/MyApp/src/MyApp.jl @@ -10,10 +10,7 @@ using Random # 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),) - @info "Hit TRUE" VERSION # TODO: delete this line using LLVMExtra_jll -else # TODO: delete this line - @info "Hit false" VERSION # TODO: delete this line end using micromamba_jll @@ -93,14 +90,11 @@ function real_main() @everywhere println(Example.domath(3)) @static if (VERSION.major, VERSION.minor) ∉ ((1, 6), (1, 9),) - @info "Hit TRUE" VERSION # TODO: delete this line if isfile(LLVMExtra_jll.libLLVMExtra_path) println("LLVMExtra path: ok!") else println("LLVMExtra path: fail!") end - else # TODO: delete this line - @info "Hit FALSE" VERSION # TODO: delete this line end if isfile(micromamba_jll.micromamba_path) From 784901a398232d93cb835c68fd627149a655663f Mon Sep 17 00:00:00 2001 From: Dilum Aluthge Date: Sun, 20 Oct 2024 00:50:30 -0400 Subject: [PATCH 12/12] CI: Only run one CI job on Julia 1.9 --- .github/workflows/ci.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c36e9da7..df46727e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,9 +47,9 @@ jobs: matrix: julia-version: - '1.6' # previous LTS - - '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. @@ -65,6 +65,13 @@ 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 .