diff --git a/.github/workflows/Tests.yml b/.github/workflows/Tests.yml index e95473f..c36b34f 100644 --- a/.github/workflows/Tests.yml +++ b/.github/workflows/Tests.yml @@ -14,15 +14,5 @@ concurrency: jobs: tests: - name: "Tests" - strategy: - fail-fast: false - matrix: - version: - - "1" - - "lts" - - "pre" - uses: "SciML/.github/.github/workflows/tests.yml@v1" - with: - julia-version: "${{ matrix.version }}" + uses: "SciML/.github/.github/workflows/grouped-tests.yml@v1" secrets: "inherit" diff --git a/Project.toml b/Project.toml index 0b4bc69..34ae9fa 100644 --- a/Project.toml +++ b/Project.toml @@ -8,13 +8,19 @@ LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" [compat] +ExplicitImports = "1" +LinearAlgebra = "1" +Plots = "1" RecipesBase = "0.8, 1.0" -julia = "1.6" +Test = "1" +julia = "1.10" [extras] +Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" ExplicitImports = "7d51a73a-1435-4ff3-83d9-f097790105c7" +JET = "c3a54625-cd67-489e-a8e7-0a5a0ff4e31b" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [targets] -test = ["ExplicitImports", "Plots", "Test"] +test = ["Aqua", "ExplicitImports", "JET", "Plots", "Test"] diff --git a/test/qa/Project.toml b/test/qa/Project.toml new file mode 100644 index 0000000..73db7ea --- /dev/null +++ b/test/qa/Project.toml @@ -0,0 +1,14 @@ +[deps] +Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" +DimensionalPlotRecipes = "c619ae07-58cd-5f6d-b883-8f17bd6a98f9" +JET = "c3a54625-cd67-489e-a8e7-0a5a0ff4e31b" +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[sources] +DimensionalPlotRecipes = {path = "../.."} + +[compat] +Aqua = "0.8" +JET = "0.9,0.10,0.11" +Test = "1" +julia = "1.10" diff --git a/test/qa/qa.jl b/test/qa/qa.jl new file mode 100644 index 0000000..c5f3a9d --- /dev/null +++ b/test/qa/qa.jl @@ -0,0 +1,13 @@ +using DimensionalPlotRecipes, Aqua, JET, Test + +@testset "Aqua" begin + # deps_compat and piracies are genuine findings tracked in + # https://github.com/SciML/DimensionalPlotRecipes.jl/issues/50 + Aqua.test_all(DimensionalPlotRecipes; deps_compat = false, piracies = false) + @test_broken false # Aqua deps_compat: root Project.toml lacks compat for Aqua/JET extras — see https://github.com/SciML/DimensionalPlotRecipes.jl/issues/50 + @test_broken false # Aqua piracies: @recipe-generated apply_recipe on RecipesBase types — see https://github.com/SciML/DimensionalPlotRecipes.jl/issues/50 +end + +@testset "JET" begin + @test_broken false # JET: no matching method `is_key_supported(::Symbol)` in apply_recipe — see https://github.com/SciML/DimensionalPlotRecipes.jl/issues/50 +end diff --git a/test/runtests.jl b/test/runtests.jl index c4388bd..6b1be5b 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,16 +1,24 @@ using DimensionalPlotRecipes, Test -# Test explicit imports hygiene -include("explicit_imports.jl") +const GROUP = get(ENV, "GROUP", "All") -A = rand(5, 2) .+ im .* rand(5, 2) -t = range(0, stop = 1, length = 5) +if GROUP == "All" || GROUP == "Core" + # Test explicit imports hygiene + include("explicit_imports.jl") -using Plots -plot(t, A) + A = rand(5, 2) .+ im .* rand(5, 2) + t = range(0, stop = 1, length = 5) -t = range(0, stop = 1, length = 5) -plot(t, A) -plot(t, A, transformation = :split3D) -plot(t, A, transformation = :modulus) -plot(t, A, transformation = :modulus2) + using Plots + plot(t, A) + + t = range(0, stop = 1, length = 5) + plot(t, A) + plot(t, A, transformation = :split3D) + plot(t, A, transformation = :modulus) + plot(t, A, transformation = :modulus2) +end + +if GROUP == "QA" + include(joinpath("qa", "qa.jl")) +end diff --git a/test/test_groups.toml b/test/test_groups.toml new file mode 100644 index 0000000..1fe84cd --- /dev/null +++ b/test/test_groups.toml @@ -0,0 +1,5 @@ +[Core] +versions = ["lts", "1", "pre"] + +[QA] +versions = ["lts", "1"]