From 393a9f26d067e12ae61e38fc141da5995f6bf77d Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Mon, 27 Apr 2026 17:10:21 +0200 Subject: [PATCH 01/13] Add Mooncake integration --- .github/workflows/ci.yml | 4 ++++ Project.toml | 8 ++++++-- ext/StaticArraysMooncakeExt.jl | 12 ++++++++++++ test/mooncake.jl | 23 +++++++++++++++++++++++ test/runtests.jl | 5 +++++ 5 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 ext/StaticArraysMooncakeExt.jl create mode 100644 test/mooncake.jl diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 92fd1320..6ac3e233 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -71,6 +71,10 @@ jobs: version: 'nightly' os: windows-latest group: 'group-B' + - arch: x86 + version: '1' + os: ubuntu-latest + group: 'group-M' exclude: # Remove some configurations from the build matrix to reduce CI time. # See https://github.com/marketplace/actions/setup-julia-environment diff --git a/Project.toml b/Project.toml index ba8ee58d..553e2697 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "StaticArrays" uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.9.18" +version = "1.9.19" [deps] LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" @@ -11,10 +11,12 @@ Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" [weakdeps] ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" +Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" [extensions] StaticArraysChainRulesCoreExt = "ChainRulesCore" +StaticArraysMooncakeExt = "Mooncake" StaticArraysStatisticsExt = "Statistics" [compat] @@ -25,6 +27,7 @@ ChainRulesTestUtils = "1" InteractiveUtils = "1" JLArrays = "0.1" LinearAlgebra = "1.6" +Mooncake = "0.5" OffsetArrays = "1" PrecompileTools = "1" Random = "1.6" @@ -42,9 +45,10 @@ ChainRulesTestUtils = "cdddcdb0-9152-4a09-a978-84456f9df70a" InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240" JLArrays = "27aeb0d3-9eb9-45fb-866b-73c2ecf80fcb" OffsetArrays = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" +Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" [targets] -test = ["InteractiveUtils", "Test", "BenchmarkTools", "OffsetArrays", "Statistics", "Unitful", "Aqua", "ChainRulesTestUtils", "ChainRulesCore", "JLArrays"] +test = ["InteractiveUtils", "Test", "BenchmarkTools", "OffsetArrays", "Statistics", "Unitful", "Aqua", "ChainRulesTestUtils", "ChainRulesCore", "JLArrays", "Pkg"] diff --git a/ext/StaticArraysMooncakeExt.jl b/ext/StaticArraysMooncakeExt.jl new file mode 100644 index 00000000..25dedf07 --- /dev/null +++ b/ext/StaticArraysMooncakeExt.jl @@ -0,0 +1,12 @@ +module StaticArraysMooncakeExt + +using StaticArrays: StaticArray +using Mooncake: Mooncake + +@static if isdefined(Mooncake, :FriendlyTangentCache) # checks Mooncake >= v0.5.25 + function Mooncake.friendly_tangent_cache(x::StaticArray) + return Mooncake.FriendlyTangentCache{Mooncake.AsPrimal}(copy(x)) + end +end + +end diff --git a/test/mooncake.jl b/test/mooncake.jl new file mode 100644 index 00000000..555dbe70 --- /dev/null +++ b/test/mooncake.jl @@ -0,0 +1,23 @@ +using Pkg +Pkg.add("Mooncake") + +using StaticArrays +using Mooncake +using Test + +@testset verbose=true "Mooncake integration" begin + f(x) = sum(abs2, x) + config = Mooncake.Config(; friendly_tangents=true) + @testset "$(typeof(x))" for x in [ + SVector(1.0, 2.0), + MVector(1.0, 2.0) , + SMatrix{2,2}(1.0, 2.0, 3.0, 4.0), + MMatrix{2,2}(1.0, 2.0, 3.0, 4.0) + ] + cache = prepare_gradient_cache(f, zero(x); config) + val, grads = value_and_gradient!!(cache, f, x) + g = grads[2] + @test g isa typeof(x) + @test g == 2x + end +end diff --git a/test/runtests.jl b/test/runtests.jl index b86f343c..c9ba99a8 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -96,3 +96,8 @@ if TEST_GROUP ∈ ["", "all", "group-B"] addtests("chainrules.jl") end end + +if TEST_GROUP ∈ ["", "all", "group-M"] && VERSION >= v"1.10-" + # warning: changes the test environment by adding Mooncake + addtests("mooncake.jl") +end From 6e31ec76e3d5ec604b0a9b3127718d776379a181 Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Tue, 28 Apr 2026 09:57:35 +0200 Subject: [PATCH 02/13] Restructure tests --- .github/workflows/ci.yml | 34 ++++++++++++++++--- .gitignore | 1 + Project.toml | 1 + ext/StaticArraysMooncakeExt.jl | 5 +-- test/downstream/Mooncake/new/Project.toml | 10 ++++++ test/downstream/Mooncake/old/Project.toml | 10 ++++++ .../Mooncake/test.jl} | 3 -- test/downstream/harness.jl | 6 ++++ test/runtests.jl | 5 --- 9 files changed, 61 insertions(+), 14 deletions(-) create mode 100644 test/downstream/Mooncake/new/Project.toml create mode 100644 test/downstream/Mooncake/old/Project.toml rename test/{mooncake.jl => downstream/Mooncake/test.jl} (94%) create mode 100644 test/downstream/harness.jl diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6ac3e233..3c48f78a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -71,10 +71,6 @@ jobs: version: 'nightly' os: windows-latest group: 'group-B' - - arch: x86 - version: '1' - os: ubuntu-latest - group: 'group-M' exclude: # Remove some configurations from the build matrix to reduce CI time. # See https://github.com/marketplace/actions/setup-julia-environment @@ -93,6 +89,36 @@ jobs: - uses: julia-actions/julia-uploadcodecov@latest env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + test-downstream: + name: Julia ${{ matrix.version }} - ${{ matrix.package }} - ${{ matrix.group }} + runs-on: ubuntu-latest + strategy: + matrix: + version: + - '1.10' + - '1' + package: + - 'Mooncake' + include: + - package: 'Mooncake' + env: 'old' + - package: 'Mooncake' + env: 'new' + env: + STATICARRAYS_DOWNSTREAM_TEST_PACKAGE: ${{ matrix.package }} + STATICARRAYS_DOWNSTREAM_TEST_ENV: ${{ matrix.env }} + steps: + - uses: actions/checkout@v6 + - uses: julia-actions/setup-julia@3 + with: + version: ${{ matrix.version }} + - run: julia -O1 --code-coverage=user --color=yes -e test/downstream/harness.jl + - uses: julia-actions/julia-processcoverage@v1 + - uses: codecov/codecov-action@v6 + with: + files: lcov.info + token: ${{ secrets.CODECOV_TOKEN }} + fail_ci_if_error: false docs: name: Documentation runs-on: ubuntu-latest diff --git a/.gitignore b/.gitignore index 94cabef0..d9bc4633 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /benchmark/*.json /benchmark/Manifest.toml /docs/Manifest.toml +/test/downstream/**/Manifest.toml \ No newline at end of file diff --git a/Project.toml b/Project.toml index 553e2697..3bdeb889 100644 --- a/Project.toml +++ b/Project.toml @@ -44,6 +44,7 @@ ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" ChainRulesTestUtils = "cdddcdb0-9152-4a09-a978-84456f9df70a" InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240" JLArrays = "27aeb0d3-9eb9-45fb-866b-73c2ecf80fcb" +Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" OffsetArrays = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" diff --git a/ext/StaticArraysMooncakeExt.jl b/ext/StaticArraysMooncakeExt.jl index 25dedf07..22ede3cc 100644 --- a/ext/StaticArraysMooncakeExt.jl +++ b/ext/StaticArraysMooncakeExt.jl @@ -1,10 +1,11 @@ module StaticArraysMooncakeExt -using StaticArrays: StaticArray +using StaticArrays: SArray,MArray using Mooncake: Mooncake @static if isdefined(Mooncake, :FriendlyTangentCache) # checks Mooncake >= v0.5.25 - function Mooncake.friendly_tangent_cache(x::StaticArray) + # see https://github.com/JuliaDiff/DifferentiationInterface.jl/issues/998 + function Mooncake.friendly_tangent_cache(x::Union{SArray,MArray}) return Mooncake.FriendlyTangentCache{Mooncake.AsPrimal}(copy(x)) end end diff --git a/test/downstream/Mooncake/new/Project.toml b/test/downstream/Mooncake/new/Project.toml new file mode 100644 index 00000000..586dd7e8 --- /dev/null +++ b/test/downstream/Mooncake/new/Project.toml @@ -0,0 +1,10 @@ +[deps] +Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" +StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[sources] +StaticArrays = {path = "../../../.."} + +[compat] +Mooncake = ">=0.5.25" diff --git a/test/downstream/Mooncake/old/Project.toml b/test/downstream/Mooncake/old/Project.toml new file mode 100644 index 00000000..5427876c --- /dev/null +++ b/test/downstream/Mooncake/old/Project.toml @@ -0,0 +1,10 @@ +[deps] +Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" +StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[sources] +StaticArrays = {path = "../../../.."} + +[compat] +Mooncake = "<0.5.25" diff --git a/test/mooncake.jl b/test/downstream/Mooncake/test.jl similarity index 94% rename from test/mooncake.jl rename to test/downstream/Mooncake/test.jl index 555dbe70..1b0bcd9c 100644 --- a/test/mooncake.jl +++ b/test/downstream/Mooncake/test.jl @@ -1,6 +1,3 @@ -using Pkg -Pkg.add("Mooncake") - using StaticArrays using Mooncake using Test diff --git a/test/downstream/harness.jl b/test/downstream/harness.jl new file mode 100644 index 00000000..97aaabbf --- /dev/null +++ b/test/downstream/harness.jl @@ -0,0 +1,6 @@ +using Pkg +package = ENV["STATICARRAYS_DOWNSTREAM_TEST_PACKAGE"]; +env = ENV["STATICARRAYS_DOWNSTREAM_TEST_ENV"]; +Pkg.activate(joinpath(@__DIR__, package, env)) +Pkg.develop(PackageSpec(path=joinpath(@__DIR__, "..", ".."))) +include(joinpath(package, "test.jl")) diff --git a/test/runtests.jl b/test/runtests.jl index c9ba99a8..b86f343c 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -96,8 +96,3 @@ if TEST_GROUP ∈ ["", "all", "group-B"] addtests("chainrules.jl") end end - -if TEST_GROUP ∈ ["", "all", "group-M"] && VERSION >= v"1.10-" - # warning: changes the test environment by adding Mooncake - addtests("mooncake.jl") -end From 7a38354299aed811a0ce26219dbb65ae449d959f Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Tue, 28 Apr 2026 09:59:16 +0200 Subject: [PATCH 03/13] Fix Ci --- .github/workflows/ci.yml | 169 ++++++++++++++++++++------------------- 1 file changed, 85 insertions(+), 84 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3c48f78a..4491c372 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,89 +6,89 @@ on: tags: '*' pull_request: jobs: - test: - name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ matrix.group }} - runs-on: ${{ matrix.os }} - continue-on-error: ${{ matrix.version == 'nightly' }} - strategy: - matrix: - version: - - '1.6' - - '1' - - 'nightly' - os: - - ubuntu-latest - - macOS-latest - - windows-latest - arch: - - x64 - include: - - arch: x86 - version: '1.6' - os: ubuntu-latest - group: 'group-A' - - arch: x86 - version: '1' - os: ubuntu-latest - group: 'group-A' - - arch: x86 - version: 'nightly' - os: ubuntu-latest - group: 'group-A' - - arch: x86 - version: '1.6' - os: windows-latest - group: 'group-A' - - arch: x86 - version: '1' - os: windows-latest - group: 'group-A' - - arch: x86 - version: 'nightly' - os: windows-latest - group: 'group-A' - - arch: x86 - version: '1.6' - os: ubuntu-latest - group: 'group-B' - - arch: x86 - version: '1' - os: ubuntu-latest - group: 'group-B' - - arch: x86 - version: 'nightly' - os: ubuntu-latest - group: 'group-B' - - arch: x86 - version: '1.6' - os: windows-latest - group: 'group-B' - - arch: x86 - version: '1' - os: windows-latest - group: 'group-B' - - arch: x86 - version: 'nightly' - os: windows-latest - group: 'group-B' - exclude: - # Remove some configurations from the build matrix to reduce CI time. - # See https://github.com/marketplace/actions/setup-julia-environment - # MacOS not available on x86 - - {os: 'macOS-latest', arch: 'x86'} - steps: - - uses: actions/checkout@v6 - - uses: julia-actions/setup-julia@latest - with: - version: ${{ matrix.version }} - arch: ${{ matrix.arch }} - - uses: julia-actions/julia-buildpkg@latest - - uses: julia-actions/julia-runtest@latest - env: - STATICARRAYS_TEST_GROUP: ${{ matrix.group }} - - uses: julia-actions/julia-uploadcodecov@latest - env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + # test: + # name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ matrix.group }} + # runs-on: ${{ matrix.os }} + # continue-on-error: ${{ matrix.version == 'nightly' }} + # strategy: + # matrix: + # version: + # - '1.6' + # - '1' + # - 'nightly' + # os: + # - ubuntu-latest + # - macOS-latest + # - windows-latest + # arch: + # - x64 + # include: + # - arch: x86 + # version: '1.6' + # os: ubuntu-latest + # group: 'group-A' + # - arch: x86 + # version: '1' + # os: ubuntu-latest + # group: 'group-A' + # - arch: x86 + # version: 'nightly' + # os: ubuntu-latest + # group: 'group-A' + # - arch: x86 + # version: '1.6' + # os: windows-latest + # group: 'group-A' + # - arch: x86 + # version: '1' + # os: windows-latest + # group: 'group-A' + # - arch: x86 + # version: 'nightly' + # os: windows-latest + # group: 'group-A' + # - arch: x86 + # version: '1.6' + # os: ubuntu-latest + # group: 'group-B' + # - arch: x86 + # version: '1' + # os: ubuntu-latest + # group: 'group-B' + # - arch: x86 + # version: 'nightly' + # os: ubuntu-latest + # group: 'group-B' + # - arch: x86 + # version: '1.6' + # os: windows-latest + # group: 'group-B' + # - arch: x86 + # version: '1' + # os: windows-latest + # group: 'group-B' + # - arch: x86 + # version: 'nightly' + # os: windows-latest + # group: 'group-B' + # exclude: + # # Remove some configurations from the build matrix to reduce CI time. + # # See https://github.com/marketplace/actions/setup-julia-environment + # # MacOS not available on x86 + # - {os: 'macOS-latest', arch: 'x86'} + # steps: + # - uses: actions/checkout@v6 + # - uses: julia-actions/setup-julia@latest + # with: + # version: ${{ matrix.version }} + # arch: ${{ matrix.arch }} + # - uses: julia-actions/julia-buildpkg@latest + # - uses: julia-actions/julia-runtest@latest + # env: + # STATICARRAYS_TEST_GROUP: ${{ matrix.group }} + # - uses: julia-actions/julia-uploadcodecov@latest + # env: + # CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} test-downstream: name: Julia ${{ matrix.version }} - ${{ matrix.package }} - ${{ matrix.group }} runs-on: ubuntu-latest @@ -109,9 +109,10 @@ jobs: STATICARRAYS_DOWNSTREAM_TEST_ENV: ${{ matrix.env }} steps: - uses: actions/checkout@v6 - - uses: julia-actions/setup-julia@3 + - uses: julia-actions/setup-julia@v3 with: version: ${{ matrix.version }} + - uses: julia-actions/julia-buildpkg@v1 - run: julia -O1 --code-coverage=user --color=yes -e test/downstream/harness.jl - uses: julia-actions/julia-processcoverage@v1 - uses: codecov/codecov-action@v6 From 2210dc9300af98543001af72da7b2e3984c14684 Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Tue, 28 Apr 2026 10:00:01 +0200 Subject: [PATCH 04/13] Rename job --- .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 4491c372..6399410a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -90,7 +90,7 @@ jobs: # env: # CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} test-downstream: - name: Julia ${{ matrix.version }} - ${{ matrix.package }} - ${{ matrix.group }} + name: Julia ${{ matrix.version }} - ${{ matrix.package }} - ${{ matrix.env }} runs-on: ubuntu-latest strategy: matrix: From f9821cf150f64ff2184294437077b870922d00ae Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Tue, 28 Apr 2026 10:02:47 +0200 Subject: [PATCH 05/13] Path in quotes --- .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 6399410a..889e0121 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -113,7 +113,7 @@ jobs: with: version: ${{ matrix.version }} - uses: julia-actions/julia-buildpkg@v1 - - run: julia -O1 --code-coverage=user --color=yes -e test/downstream/harness.jl + - run: julia -O1 --code-coverage=user --color=yes -e "test/downstream/harness.jl" - uses: julia-actions/julia-processcoverage@v1 - uses: codecov/codecov-action@v6 with: From 8d1b4c43d27117f29aa8542a59258c45fa2b3b3a Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Tue, 28 Apr 2026 10:11:19 +0200 Subject: [PATCH 06/13] Fix path --- .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 889e0121..4bc52560 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -113,7 +113,7 @@ jobs: with: version: ${{ matrix.version }} - uses: julia-actions/julia-buildpkg@v1 - - run: julia -O1 --code-coverage=user --color=yes -e "test/downstream/harness.jl" + - run: julia -O1 --code-coverage=user --color=yes test/downstream/harness.jl - uses: julia-actions/julia-processcoverage@v1 - uses: codecov/codecov-action@v6 with: From 91e0cf49f343032c12178b91f328218ca5d3e775 Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Tue, 28 Apr 2026 10:12:48 +0200 Subject: [PATCH 07/13] Add caching --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4bc52560..ba78a033 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -112,6 +112,7 @@ jobs: - uses: julia-actions/setup-julia@v3 with: version: ${{ matrix.version }} + - uses: julia-actions/cache@v3 - uses: julia-actions/julia-buildpkg@v1 - run: julia -O1 --code-coverage=user --color=yes test/downstream/harness.jl - uses: julia-actions/julia-processcoverage@v1 From e1b3dd991f653bcd58cafc3854a57506baefe5b6 Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Tue, 28 Apr 2026 10:14:10 +0200 Subject: [PATCH 08/13] Remove Pkg from test deps --- Project.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/Project.toml b/Project.toml index 3bdeb889..7ef04433 100644 --- a/Project.toml +++ b/Project.toml @@ -46,7 +46,6 @@ InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240" JLArrays = "27aeb0d3-9eb9-45fb-866b-73c2ecf80fcb" Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" OffsetArrays = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" -Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" From 4952e68604c2efdf1f84bfdd8c2e24a8728dd7fd Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Tue, 28 Apr 2026 10:15:28 +0200 Subject: [PATCH 09/13] Fix --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 7ef04433..c460612e 100644 --- a/Project.toml +++ b/Project.toml @@ -51,4 +51,4 @@ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" [targets] -test = ["InteractiveUtils", "Test", "BenchmarkTools", "OffsetArrays", "Statistics", "Unitful", "Aqua", "ChainRulesTestUtils", "ChainRulesCore", "JLArrays", "Pkg"] +test = ["InteractiveUtils", "Test", "BenchmarkTools", "OffsetArrays", "Statistics", "Unitful", "Aqua", "ChainRulesTestUtils", "ChainRulesCore", "JLArrays"] From 099050d0a0ef241fbf8ffb3078442924ad1fa010 Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Tue, 28 Apr 2026 10:18:26 +0200 Subject: [PATCH 10/13] Env in matrix --- .github/workflows/ci.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ba78a033..968ad3ea 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -99,11 +99,9 @@ jobs: - '1' package: - 'Mooncake' - include: - - package: 'Mooncake' - env: 'old' - - package: 'Mooncake' - env: 'new' + env: + - 'old' + - 'new' env: STATICARRAYS_DOWNSTREAM_TEST_PACKAGE: ${{ matrix.package }} STATICARRAYS_DOWNSTREAM_TEST_ENV: ${{ matrix.env }} From 880e669ff7fc08a6f8789e81911df8f7217f618d Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Tue, 28 Apr 2026 10:20:15 +0200 Subject: [PATCH 11/13] Rename test --- .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 968ad3ea..2f836714 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -90,7 +90,7 @@ jobs: # env: # CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} test-downstream: - name: Julia ${{ matrix.version }} - ${{ matrix.package }} - ${{ matrix.env }} + name: Julia ${{ matrix.version }} - ${{ matrix.package }} [${{ matrix.env }}] runs-on: ubuntu-latest strategy: matrix: From af7d1a8bf652feabffa86373f1feaf6730eb8e0e Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Tue, 28 Apr 2026 10:20:27 +0200 Subject: [PATCH 12/13] Rerename --- .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 2f836714..ae350e2a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -90,7 +90,7 @@ jobs: # env: # CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} test-downstream: - name: Julia ${{ matrix.version }} - ${{ matrix.package }} [${{ matrix.env }}] + name: Julia ${{ matrix.version }} downstream - ${{ matrix.package }} [${{ matrix.env }}] runs-on: ubuntu-latest strategy: matrix: From 5b73a34792b4691f81be3aec77937726548d7472 Mon Sep 17 00:00:00 2001 From: Guillaume Dalle <22795598+gdalle@users.noreply.github.com> Date: Tue, 28 Apr 2026 10:25:10 +0200 Subject: [PATCH 13/13] Reactivate other tests --- .github/workflows/ci.yml | 166 +++++++++++++++++++-------------------- 1 file changed, 83 insertions(+), 83 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ae350e2a..3cb18556 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,89 +6,89 @@ on: tags: '*' pull_request: jobs: - # test: - # name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ matrix.group }} - # runs-on: ${{ matrix.os }} - # continue-on-error: ${{ matrix.version == 'nightly' }} - # strategy: - # matrix: - # version: - # - '1.6' - # - '1' - # - 'nightly' - # os: - # - ubuntu-latest - # - macOS-latest - # - windows-latest - # arch: - # - x64 - # include: - # - arch: x86 - # version: '1.6' - # os: ubuntu-latest - # group: 'group-A' - # - arch: x86 - # version: '1' - # os: ubuntu-latest - # group: 'group-A' - # - arch: x86 - # version: 'nightly' - # os: ubuntu-latest - # group: 'group-A' - # - arch: x86 - # version: '1.6' - # os: windows-latest - # group: 'group-A' - # - arch: x86 - # version: '1' - # os: windows-latest - # group: 'group-A' - # - arch: x86 - # version: 'nightly' - # os: windows-latest - # group: 'group-A' - # - arch: x86 - # version: '1.6' - # os: ubuntu-latest - # group: 'group-B' - # - arch: x86 - # version: '1' - # os: ubuntu-latest - # group: 'group-B' - # - arch: x86 - # version: 'nightly' - # os: ubuntu-latest - # group: 'group-B' - # - arch: x86 - # version: '1.6' - # os: windows-latest - # group: 'group-B' - # - arch: x86 - # version: '1' - # os: windows-latest - # group: 'group-B' - # - arch: x86 - # version: 'nightly' - # os: windows-latest - # group: 'group-B' - # exclude: - # # Remove some configurations from the build matrix to reduce CI time. - # # See https://github.com/marketplace/actions/setup-julia-environment - # # MacOS not available on x86 - # - {os: 'macOS-latest', arch: 'x86'} - # steps: - # - uses: actions/checkout@v6 - # - uses: julia-actions/setup-julia@latest - # with: - # version: ${{ matrix.version }} - # arch: ${{ matrix.arch }} - # - uses: julia-actions/julia-buildpkg@latest - # - uses: julia-actions/julia-runtest@latest - # env: - # STATICARRAYS_TEST_GROUP: ${{ matrix.group }} - # - uses: julia-actions/julia-uploadcodecov@latest - # env: - # CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + test: + name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ matrix.group }} + runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.version == 'nightly' }} + strategy: + matrix: + version: + - '1.6' + - '1' + - 'nightly' + os: + - ubuntu-latest + - macOS-latest + - windows-latest + arch: + - x64 + include: + - arch: x86 + version: '1.6' + os: ubuntu-latest + group: 'group-A' + - arch: x86 + version: '1' + os: ubuntu-latest + group: 'group-A' + - arch: x86 + version: 'nightly' + os: ubuntu-latest + group: 'group-A' + - arch: x86 + version: '1.6' + os: windows-latest + group: 'group-A' + - arch: x86 + version: '1' + os: windows-latest + group: 'group-A' + - arch: x86 + version: 'nightly' + os: windows-latest + group: 'group-A' + - arch: x86 + version: '1.6' + os: ubuntu-latest + group: 'group-B' + - arch: x86 + version: '1' + os: ubuntu-latest + group: 'group-B' + - arch: x86 + version: 'nightly' + os: ubuntu-latest + group: 'group-B' + - arch: x86 + version: '1.6' + os: windows-latest + group: 'group-B' + - arch: x86 + version: '1' + os: windows-latest + group: 'group-B' + - arch: x86 + version: 'nightly' + os: windows-latest + group: 'group-B' + exclude: + # Remove some configurations from the build matrix to reduce CI time. + # See https://github.com/marketplace/actions/setup-julia-environment + # MacOS not available on x86 + - {os: 'macOS-latest', arch: 'x86'} + steps: + - uses: actions/checkout@v6 + - uses: julia-actions/setup-julia@latest + with: + version: ${{ matrix.version }} + arch: ${{ matrix.arch }} + - uses: julia-actions/julia-buildpkg@latest + - uses: julia-actions/julia-runtest@latest + env: + STATICARRAYS_TEST_GROUP: ${{ matrix.group }} + - uses: julia-actions/julia-uploadcodecov@latest + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} test-downstream: name: Julia ${{ matrix.version }} downstream - ${{ matrix.package }} [${{ matrix.env }}] runs-on: ubuntu-latest