diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 72afb11..4bf06f4 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,18 @@ 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' + # 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 -t4 --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..e72f56b --- /dev/null +++ b/ci/jet/Project.toml @@ -0,0 +1,8 @@ +[deps] +Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" +JET = "c3a54625-cd67-489e-a8e7-0a5a0ff4e31b" +Serialization = "9e88b42a-f829-5b0c-bbe9-9e923198166b" +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[sources] +Distributed = {path = "../.."} 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