Skip to content

Commit c91f27e

Browse files
Move JET into a separate QA test group (#135)
PR #133's CI fails on Julia pre (1.13.0-beta3) at the Pkg.resolve step: JET 0.11.3 (its current max release) has no version compatible with Julia 1.13, so the entire main test environment cannot be instantiated. JET is a quality-assurance tool, not a runtime dependency, so blocking the main test matrix on its release cadence is the wrong tradeoff. Move JET to a dedicated QA group, mirroring how SciML/Sundials.jl ships JET/Aqua/ExplicitImports — `test/qa/` has its own `Project.toml` and `runtests.jl`, activated explicitly by a separate `QA.yml` workflow. The main `Tests.yml` matrix no longer installs JET and so resolves cleanly on Julia pre. Changes: - Add `test/qa/Project.toml` (deps: JET, MultiScaleArrays, Test) and `test/qa/runtests.jl` (runs `JET.report_package`, asserts zero reports). - Delete `test/jet_tests.jl` and remove the corresponding `@testset` from `test/runtests.jl`. - Drop `JET` from main `Project.toml` `[compat]`, `[extras]`, and the `test` target. - Add `.github/workflows/QA.yml` that runs `test/qa/runtests.jl` on Julia `1` and `lts` (skips `pre` since JET has no Julia 1.13 release yet). Verified locally on Julia 1.12.6: - `julia --project=test/qa test/qa/runtests.jl` -> Quality Assurance | 1 1 11.5s. - `julia --project=. -e 'using Pkg; Pkg.test()'` (main suite, no JET): Tuple Nodes / Bisect Search / Indexing and Creation / Values Indexing / Get Indices / Additional Fields / Dynamic DiffEq / Single Layer DiffEq / New Nodes — all pass; "Testing MultiScaleArrays tests passed". Co-authored-by: ChrisRackauckas-Claude <accounts@chrisrackauckas.com>
1 parent 8baaf5a commit c91f27e

6 files changed

Lines changed: 63 additions & 17 deletions

File tree

.github/workflows/QA.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: "QA"
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- master
7+
paths-ignore:
8+
- 'docs/**'
9+
push:
10+
branches:
11+
- master
12+
paths-ignore:
13+
- 'docs/**'
14+
15+
concurrency:
16+
group: ${{ github.workflow }}-${{ github.ref }}
17+
cancel-in-progress: ${{ github.ref_name != github.event.repository.default_branch || github.ref != 'refs/tags/v*' }}
18+
19+
jobs:
20+
qa:
21+
name: "QA - Julia ${{ matrix.version }}"
22+
runs-on: ubuntu-latest
23+
strategy:
24+
fail-fast: false
25+
matrix:
26+
version:
27+
- "1"
28+
- "lts"
29+
steps:
30+
- uses: actions/checkout@v6
31+
- uses: julia-actions/setup-julia@v3
32+
with:
33+
version: ${{ matrix.version }}
34+
- uses: julia-actions/cache@v3
35+
- name: "Instantiate test/qa"
36+
run: |
37+
julia --project=test/qa -e '
38+
using Pkg
39+
Pkg.develop(path=".")
40+
Pkg.instantiate()'
41+
- name: "Run QA tests"
42+
run: julia --project=test/qa test/qa/runtests.jl

Project.toml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ DiffEqBase = "7"
3131
DifferentiationInterface = "0.7.7"
3232
FiniteDiff = "2.3"
3333
ForwardDiff = "0.10, 1.3"
34-
JET = "0.9, 0.10, 0.11"
3534
OrdinaryDiffEq = "7"
3635
OrdinaryDiffEqCore = "4"
3736
OrdinaryDiffEqDifferentiation = "3"
@@ -45,10 +44,9 @@ julia = "1.10"
4544

4645
[extras]
4746
ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b"
48-
JET = "c3a54625-cd67-489e-a8e7-0a5a0ff4e31b"
4947
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
5048
SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
5149
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
5250

5351
[targets]
54-
test = ["ADTypes", "JET", "OrdinaryDiffEq", "SafeTestsets", "Test"]
52+
test = ["ADTypes", "OrdinaryDiffEq", "SafeTestsets", "Test"]

test/jet_tests.jl

Lines changed: 0 additions & 11 deletions
This file was deleted.

test/qa/Project.toml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[deps]
2+
JET = "c3a54625-cd67-489e-a8e7-0a5a0ff4e31b"
3+
MultiScaleArrays = "f9640e96-87f6-5992-9c3b-0743c6a49ffa"
4+
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
5+
6+
[compat]
7+
JET = "0.9, 0.10, 0.11"

test/qa/runtests.jl

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
using JET
2+
using MultiScaleArrays
3+
using Test
4+
5+
@testset "Quality Assurance" begin
6+
@testset "JET static analysis" begin
7+
report = JET.report_package(
8+
MultiScaleArrays;
9+
target_modules = (MultiScaleArrays,)
10+
)
11+
@test length(JET.get_reports(report)) == 0
12+
end
13+
end

test/runtests.jl

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
using MultiScaleArrays, OrdinaryDiffEq, DiffEqBase, StochasticDiffEq, SafeTestsets
22
using Test
33

4-
@time @testset "JET Static Analysis" begin
5-
include("jet_tests.jl")
6-
end
74
@time @testset "Tuple Nodes" begin
85
include("tuple_nodes.jl")
96
end

0 commit comments

Comments
 (0)