From 7f7350bb64dc5fb5337b654e2ea42573dfcecc9d Mon Sep 17 00:00:00 2001 From: Sheehan Olver Date: Tue, 17 Dec 2024 17:28:15 +0000 Subject: [PATCH 1/9] Require Julia v1.10 (LTS) --- .github/workflows/CI.yml | 2 +- Project.toml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 109c075..5e2e6cb 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -27,7 +27,7 @@ jobs: - 'fftw' - 'mkl' version: - - '1.6' + - 'lts' - '1' - 'nightly' os: diff --git a/Project.toml b/Project.toml index b648109..11c70bd 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "FFTW" uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" -version = "1.8" +version = "1.9.0-dev" [deps] AbstractFFTs = "621f4979-c628-5d54-868e-fcf4e3e8185c" @@ -13,8 +13,8 @@ Reexport = "189a3867-3050-52da-a836-e630ba90ab69" [compat] AbstractFFTs = "1.5" FFTW_jll = "3.3.9" -LinearAlgebra = "<0.0.1, 1" +LinearAlgebra = "1" MKL_jll = "2019.0.117, 2020, 2021, 2022, 2023, 2024" Preferences = "1.2" Reexport = "0.2, 1.0" -julia = "1.6" +julia = "1.10" From 64dbdd81bc1b4930cdc2219bd09ed85fc13b8529 Mon Sep 17 00:00:00 2001 From: Sheehan Olver Date: Tue, 27 May 2025 11:34:40 +0100 Subject: [PATCH 2/9] Update .github/workflows/CI.yml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Mosè Giordano <765740+giordano@users.noreply.github.com> --- .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 5e2e6cb..a122a00 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -27,7 +27,7 @@ jobs: - 'fftw' - 'mkl' version: - - 'lts' + - 'min' - '1' - 'nightly' os: From 0cede8e03b11f6a78e24c700ec4e49ebc2b6fbd3 Mon Sep 17 00:00:00 2001 From: David Widmann Date: Tue, 12 Aug 2025 20:37:16 +0000 Subject: [PATCH 3/9] Remove unnecessary `VERSION` checks --- src/fft.jl | 7 +------ test/runtests.jl | 22 +--------------------- 2 files changed, 2 insertions(+), 27 deletions(-) diff --git a/src/fft.jl b/src/fft.jl index 6739744..6b8a017 100644 --- a/src/fft.jl +++ b/src/fft.jl @@ -335,12 +335,7 @@ function destroy_deferred() # we'll do nothing (the other function will eventually run destroy_deferred). if !isempty(deferred_destroy_plans) && trylock(fftwlock) try - @static if Base.VERSION >= v"1.9" - @inline foreach(unsafe_destroy_plan, deferred_destroy_plans) - else - # call-site @inline isn't supported on old versions of Julia - foreach(unsafe_destroy_plan, deferred_destroy_plans) - end + @inline foreach(unsafe_destroy_plan, deferred_destroy_plans) empty!(deferred_destroy_plans) finally unlock(fftwlock) diff --git a/test/runtests.jl b/test/runtests.jl index 7b00570..1a3eba5 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -363,12 +363,7 @@ end @inferred rfft(x) if ndims(x) == 2 - if VERSION >= v"1.6.7" - @inferred brfft(x,18) - else - # See Julia issue #23063 - @test_broken @inferred brfft(x,18) - end + @inferred brfft(x,18) end @inferred brfft(y,10) @@ -382,21 +377,6 @@ end end for f in (plan_bfft, plan_fft, plan_ifft, plan_rfft, fft, bfft, fft_, ifft) - # More of #23063 (why does plan_rfft work and the others don't)? - if ndims(x) == 2 && f != plan_rfft - if VERSION >= v"1.6.7" - @inferred f(x) - if isa(f, Plan) - @inferred plan_inv(f(x)) - end - else - @test_broken @inferred f(x) - if isa(f, Plan) - @test_broken @inferred plan_inv(f(x)) - end - continue - end - end p = @inferred f(x) if isa(p, Plan) @inferred plan_inv(p) From bb9b9876b9ec76a6a38645d3fcba6a80841ac4a4 Mon Sep 17 00:00:00 2001 From: David Widmann Date: Tue, 12 Aug 2025 20:37:46 +0000 Subject: [PATCH 4/9] Clean GHA workflow --- .github/workflows/CI.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index b749864..3553da7 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -60,15 +60,10 @@ jobs: arch: x86 - os: macOS-13 arch: aarch64 - - os: macOS-13 - version: '1.6' - provider: 'mkl' - os: macOS-latest arch: x86 - os: macOS-latest arch: x64 - - os: macOS-latest - version: '1.6' - os: macOS-latest provider: 'mkl' From 1db4402e7e0b0bbd1eb770136278bb7dd34eda53 Mon Sep 17 00:00:00 2001 From: David Widmann Date: Tue, 12 Aug 2025 20:38:14 +0000 Subject: [PATCH 5/9] Remove workaround for Preferences in Julia 1.6 --- test/Project.toml | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 test/Project.toml diff --git a/test/Project.toml b/test/Project.toml deleted file mode 100644 index 895c586..0000000 --- a/test/Project.toml +++ /dev/null @@ -1,13 +0,0 @@ -# A bug in Julia 1.6.0's Pkg causes Preferences to be dropped during `Pkg.test()`, so we work around -# it by explicitly creating a `test/Project.toml` which will correctly communicate any preferences -# through to the child Julia process. X-ref: https://github.com/JuliaLang/Pkg.jl/issues/2500 - -[deps] -AbstractFFTs = "621f4979-c628-5d54-868e-fcf4e3e8185c" -Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" -LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" -Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[compat] -Aqua = "0.8" -Test = "<0.0.1, 1" From c3e8f02627004716fcdd0913e1f49a1fb0cac956 Mon Sep 17 00:00:00 2001 From: David Widmann Date: Tue, 12 Aug 2025 20:41:26 +0000 Subject: [PATCH 6/9] Update Cirrus config --- .cirrus.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 84c219e..dc7a49c 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -6,7 +6,7 @@ task: image_family: freebsd-13-1 env: matrix: - - JULIA_VERSION: 1.6 + - JULIA_VERSION: 1.10.0 - JULIA_VERSION: 1 - JULIA_VERSION: nightly - name: Linux ARMv8 @@ -14,7 +14,7 @@ task: image: ubuntu:latest env: matrix: - - JULIA_VERSION: 1.6 + - JULIA_VERSION: 1.10.0 - JULIA_VERSION: 1 - JULIA_VERSION: nightly - name: musl Linux @@ -22,7 +22,7 @@ task: image: alpine:3.14 env: matrix: - - JULIA_VERSION: 1.6 + - JULIA_VERSION: 1.10.0 - JULIA_VERSION: 1 - JULIA_VERSION: nightly - name: MacOS M1 @@ -30,7 +30,7 @@ task: image: ghcr.io/cirruslabs/macos-monterey-base:latest env: matrix: - # - JULIA_VERSION: 1.6 # not available + - JULIA_VERSION: 1.10.0 - JULIA_VERSION: 1 - JULIA_VERSION: nightly From 6ec29e9ac868ccdf0b04731a58ed237aeccd22de Mon Sep 17 00:00:00 2001 From: David Widmann Date: Tue, 12 Aug 2025 20:47:02 +0000 Subject: [PATCH 7/9] Add test dependencies --- Project.toml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Project.toml b/Project.toml index 084e6bf..4a2ea39 100644 --- a/Project.toml +++ b/Project.toml @@ -12,9 +12,18 @@ Reexport = "189a3867-3050-52da-a836-e630ba90ab69" [compat] AbstractFFTs = "1.5" +Aqua = "0.8" FFTW_jll = "3.3.9" LinearAlgebra = "1" MKL_jll = "2019.0.117, 2020, 2021, 2022, 2023, 2024, 2025" Preferences = "1.2" Reexport = "0.2, 1.0" +Test = "<0.0.1, 1" julia = "1.10" + +[extras] +Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[targets] +test = ["Aqua", "Test"] From 5d7f0deb169af307d258ccdedf3e9ae3c55b2520 Mon Sep 17 00:00:00 2001 From: David Widmann Date: Tue, 12 Aug 2025 20:54:54 +0000 Subject: [PATCH 8/9] Add missing dependencies --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 4a2ea39..b903865 100644 --- a/Project.toml +++ b/Project.toml @@ -26,4 +26,4 @@ Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [targets] -test = ["Aqua", "Test"] +test = ["AbstractFFTs", "Aqua", "LinearAlgebra", "Test"] From 23804f73fa4114cfe64dc77ba7fc48fb994706a6 Mon Sep 17 00:00:00 2001 From: David Widmann Date: Tue, 12 Aug 2025 20:59:45 +0000 Subject: [PATCH 9/9] Fix CI? --- .github/set_ci_preferences.jl | 2 +- Project.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/set_ci_preferences.jl b/.github/set_ci_preferences.jl index 929d447..422bb76 100644 --- a/.github/set_ci_preferences.jl +++ b/.github/set_ci_preferences.jl @@ -1,6 +1,6 @@ #!/usr/bin/env julia -open(joinpath(dirname(@__DIR__), "test", "Project.toml"), "a") do io +open(joinpath(dirname(@__DIR__), "Project.toml"), "a") do io println(io, """ [preferences.FFTW] provider = "$(ARGS[1])" diff --git a/Project.toml b/Project.toml index b903865..4a2ea39 100644 --- a/Project.toml +++ b/Project.toml @@ -26,4 +26,4 @@ Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [targets] -test = ["AbstractFFTs", "Aqua", "LinearAlgebra", "Test"] +test = ["Aqua", "Test"]