From 8419ecf77b063c0be16963ed6921a44cc5881e5b Mon Sep 17 00:00:00 2001 From: Dilum Aluthge Date: Thu, 12 Feb 2026 17:27:04 -0500 Subject: [PATCH 1/7] CI: Add a CI job that runs JET tests --- .github/workflows/ci.yml | 24 ++++++++++++++++++++++++ ci/jet/Project.toml | 11 +++++++++++ ci/jet/check.jl | 20 ++++++++++++++++++++ 3 files changed, 55 insertions(+) create mode 100644 ci/jet/Project.toml create mode 100644 ci/jet/check.jl diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 72afb11..ee56a48 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,6 +15,9 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/main' || startsWith(github.ref, 'refs/heads/release-') || github.run_number }} cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} +permissions: + contents: read + jobs: test: name: julia -t${{ matrix.threads}} - ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} @@ -40,6 +43,8 @@ jobs: arch: x86 steps: - uses: actions/checkout@v6 + with: + persist-credentials: false - uses: julia-actions/setup-julia@v2 with: version: ${{ matrix.version }} @@ -59,6 +64,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 + with: + persist-credentials: false - uses: julia-actions/setup-julia@latest with: # version: '1.6' @@ -70,3 +77,20 @@ jobs: julia --project=docs --color=yes docs/make.jl pdf env: DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} + + jet: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + with: + persist-credentials: false + - uses: julia-actions/setup-julia@latest + with: + version: '1.12' + # version: 'nightly' + - name: Edit Distributed UUID + run: | + julia --color=yes -e 'write("Project.toml", replace(read("Project.toml", String), r"uuid = .*?\n" =>"uuid = \"47e2e46d-f89d-539d-b4ee-838fcccc9c8e\"\n"));' + - run: julia --color=yes --project=ci/jet -e 'import Pkg; Pkg.instantiate()' + - name: Run the JET tests + run: julia --color=yes --project=ci/jet ci/jet/check.jl diff --git a/ci/jet/Project.toml b/ci/jet/Project.toml new file mode 100644 index 0000000..2794fab --- /dev/null +++ b/ci/jet/Project.toml @@ -0,0 +1,11 @@ +[deps] +Distributed = "47e2e46d-f89d-539d-b4ee-838fcccc9c8e" +JET = "c3a54625-cd67-489e-a8e7-0a5a0ff4e31b" +Serialization = "9e88b42a-f829-5b0c-bbe9-9e923198166b" +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[sources] +Distributed = {path = "../.."} + +[compat] +JET = "0.11" diff --git a/ci/jet/check.jl b/ci/jet/check.jl new file mode 100644 index 0000000..d6af19b --- /dev/null +++ b/ci/jet/check.jl @@ -0,0 +1,20 @@ +using Distributed: Distributed + +using JET: JET +using Serialization: Serialization +using Test: Test, @testset + +# We don't want to fail PkgEval because of a JET failure +# Therefore, we don't put the JET tests in the regular Distributed test suite +# Instead, we put it in a separate CI job, which runs on the Distributed repo + +@testset "JET" begin + ignored_modules = ( + # We will ignore Base: + Base, + + # We'll ignore the Serialization stdlib: + Serialization, + ) + JET.test_package(Distributed; ignored_modules) +end From ef7668aef5b6f255e1ee8a64a71d3564ed600d58 Mon Sep 17 00:00:00 2001 From: Dilum Aluthge Date: Sat, 21 Feb 2026 04:00:57 -0500 Subject: [PATCH 2/7] JET: Always run on the latest Julia v1 Co-authored-by: James Wrigley --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ee56a48..4197e0d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -86,7 +86,7 @@ jobs: persist-credentials: false - uses: julia-actions/setup-julia@latest with: - version: '1.12' + version: '1' # version: 'nightly' - name: Edit Distributed UUID run: | From 40749fadc78e143142236c866f4bd00fc4b34105 Mon Sep 17 00:00:00 2001 From: Dilum Aluthge Date: Sat, 21 Feb 2026 04:01:23 -0500 Subject: [PATCH 3/7] Remove the `[compat]` bounds on JET --- ci/jet/Project.toml | 3 --- 1 file changed, 3 deletions(-) diff --git a/ci/jet/Project.toml b/ci/jet/Project.toml index 2794fab..a6d43b6 100644 --- a/ci/jet/Project.toml +++ b/ci/jet/Project.toml @@ -6,6 +6,3 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [sources] Distributed = {path = "../.."} - -[compat] -JET = "0.11" From a75a734d2c770607908d013e823c6d4e3016c23d Mon Sep 17 00:00:00 2001 From: Dilum Aluthge Date: Sat, 21 Feb 2026 04:02:29 -0500 Subject: [PATCH 4/7] Remove UUID workaround --- .github/workflows/ci.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4197e0d..cb47897 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -88,9 +88,6 @@ jobs: with: version: '1' # version: 'nightly' - - name: Edit Distributed UUID - run: | - julia --color=yes -e 'write("Project.toml", replace(read("Project.toml", String), r"uuid = .*?\n" =>"uuid = \"47e2e46d-f89d-539d-b4ee-838fcccc9c8e\"\n"));' - run: julia --color=yes --project=ci/jet -e 'import Pkg; Pkg.instantiate()' - name: Run the JET tests run: julia --color=yes --project=ci/jet ci/jet/check.jl From 5d334e2eea497df5b9fd162c3ad1b26e63b0a276 Mon Sep 17 00:00:00 2001 From: Dilum Aluthge Date: Sat, 21 Feb 2026 04:02:52 -0500 Subject: [PATCH 5/7] Fix UUID now that we don't use the UUID workaround --- ci/jet/Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/jet/Project.toml b/ci/jet/Project.toml index a6d43b6..e72f56b 100644 --- a/ci/jet/Project.toml +++ b/ci/jet/Project.toml @@ -1,5 +1,5 @@ [deps] -Distributed = "47e2e46d-f89d-539d-b4ee-838fcccc9c8e" +Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" JET = "c3a54625-cd67-489e-a8e7-0a5a0ff4e31b" Serialization = "9e88b42a-f829-5b0c-bbe9-9e923198166b" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" From 7ff56e122320eff3d539e6e97ba2b271331d565f Mon Sep 17 00:00:00 2001 From: Dilum Aluthge Date: Sat, 21 Feb 2026 05:03:43 -0500 Subject: [PATCH 6/7] Use `julia-actions/cache` Co-authored-by: James Wrigley --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cb47897..865b2a1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -88,6 +88,7 @@ jobs: with: version: '1' # version: 'nightly' + - uses: julia-actions/cache@v2 - run: julia --color=yes --project=ci/jet -e 'import Pkg; Pkg.instantiate()' - name: Run the JET tests run: julia --color=yes --project=ci/jet ci/jet/check.jl From 18f0007e341dd5ccef8547164c3fa32cb2e644d4 Mon Sep 17 00:00:00 2001 From: Dilum Aluthge Date: Sat, 21 Feb 2026 05:04:56 -0500 Subject: [PATCH 7/7] Run JET with multiple threads --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 865b2a1..4bf06f4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -91,4 +91,4 @@ jobs: - uses: julia-actions/cache@v2 - run: julia --color=yes --project=ci/jet -e 'import Pkg; Pkg.instantiate()' - name: Run the JET tests - run: julia --color=yes --project=ci/jet ci/jet/check.jl + run: julia --color=yes -t4 --project=ci/jet ci/jet/check.jl