diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 9eb146557..4292dbdda 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -19,7 +19,7 @@ steps: end Pkg.develop(dev_pks); Pkg.instantiate(); - Pkg.test(; coverage=true)' + Pkg.test(; coverage="user")' agents: queue: "juliagpu" cuda: "*" @@ -47,7 +47,7 @@ steps: end Pkg.develop(dev_pks); Pkg.instantiate(); - Pkg.test(; coverage=true)' + Pkg.test(; coverage="user")' agents: queue: "juliagpu" cuda: "*" diff --git a/.github/workflows/CI_BracketingNonlinearSolve.yml b/.github/workflows/CI_BracketingNonlinearSolve.yml index 6d78e5612..69c1f7746 100644 --- a/.github/workflows/CI_BracketingNonlinearSolve.yml +++ b/.github/workflows/CI_BracketingNonlinearSolve.yml @@ -6,8 +6,9 @@ on: - master paths: - "lib/BracketingNonlinearSolve/**" - - "lib/NonlinearSolveBase/**" - ".github/workflows/CI_BracketingNonlinearSolve.yml" + - "lib/NonlinearSolveBase/**" + - "lib/SciMLJacobianOperators/**" push: branches: - master @@ -25,7 +26,7 @@ jobs: fail-fast: false matrix: version: - - "min" + - "lts" - "1" os: - ubuntu-latest @@ -52,16 +53,16 @@ jobs: Pkg.Registry.update() # Install packages present in subdirectories dev_pks = Pkg.PackageSpec[] - for path in ("lib/NonlinearSolveBase",) + for path in ("lib/NonlinearSolveBase", "lib/SciMLJacobianOperators") push!(dev_pks, Pkg.PackageSpec(; path)) end Pkg.develop(dev_pks) Pkg.instantiate() - Pkg.test(; coverage=true) + Pkg.test(; coverage="user") shell: julia --color=yes --code-coverage=user --depwarn=yes --project=lib/BracketingNonlinearSolve {0} - uses: julia-actions/julia-processcoverage@v1 with: - directories: lib/BracketingNonlinearSolve/src,lib/BracketingNonlinearSolve/ext + directories: lib/BracketingNonlinearSolve/src,lib/BracketingNonlinearSolve/ext,lib/NonlinearSolveBase/src,lib/NonlinearSolveBase/ext,lib/SciMLJacobianOperators/src - uses: codecov/codecov-action@v4 with: file: lcov.info diff --git a/.github/workflows/CI_NonlinearSolve.yml b/.github/workflows/CI_NonlinearSolve.yml index 843a04b54..0ea05487c 100644 --- a/.github/workflows/CI_NonlinearSolve.yml +++ b/.github/workflows/CI_NonlinearSolve.yml @@ -36,7 +36,7 @@ jobs: - Misc - Wrappers version: - - "min" + - "lts" - "1" os: - ubuntu-latest @@ -68,7 +68,7 @@ jobs: end Pkg.develop(dev_pks) Pkg.instantiate() - Pkg.test(; coverage=true) + Pkg.test(; coverage="user") shell: julia --color=yes --code-coverage=user --depwarn=yes --project=. {0} env: GROUP: ${{ matrix.group }} diff --git a/.github/workflows/CI_NonlinearSolveBase.yml b/.github/workflows/CI_NonlinearSolveBase.yml index 5855d06f0..9b9f0d959 100644 --- a/.github/workflows/CI_NonlinearSolveBase.yml +++ b/.github/workflows/CI_NonlinearSolveBase.yml @@ -7,6 +7,7 @@ on: paths: - "lib/NonlinearSolveBase/**" - ".github/workflows/CI_NonlinearSolveBase.yml" + - "lib/SciMLJacobianOperators/**" push: branches: - master @@ -24,7 +25,7 @@ jobs: fail-fast: false matrix: version: - - "min" + - "lts" - "1" os: - ubuntu-latest @@ -56,11 +57,11 @@ jobs: end Pkg.develop(dev_pks) Pkg.instantiate() - Pkg.test(; coverage=true) + Pkg.test(; coverage="user") shell: julia --color=yes --code-coverage=user --depwarn=yes --project=lib/NonlinearSolveBase {0} - uses: julia-actions/julia-processcoverage@v1 with: - directories: lib/NonlinearSolveBase/src,lib/NonlinearSolveBase/ext + directories: lib/NonlinearSolveBase/src,lib/NonlinearSolveBase/ext,lib/SciMLJacobianOperators/src - uses: codecov/codecov-action@v4 with: file: lcov.info diff --git a/.github/workflows/CI_SciMLJacobianOperators.yml b/.github/workflows/CI_SciMLJacobianOperators.yml index 92daf23e9..96ce9db15 100644 --- a/.github/workflows/CI_SciMLJacobianOperators.yml +++ b/.github/workflows/CI_SciMLJacobianOperators.yml @@ -24,7 +24,7 @@ jobs: fail-fast: false matrix: version: - - "min" + - "lts" - "1" os: - ubuntu-latest @@ -50,7 +50,7 @@ jobs: import Pkg Pkg.Registry.update() Pkg.instantiate() - Pkg.test(; coverage=true) + Pkg.test(; coverage="user") shell: julia --color=yes --code-coverage=user --depwarn=yes --project=lib/SciMLJacobianOperators {0} - uses: julia-actions/julia-processcoverage@v1 with: diff --git a/.github/workflows/CI_SimpleNonlinearSolve.yml b/.github/workflows/CI_SimpleNonlinearSolve.yml index 11c3ef7c2..fb8ed1d8e 100644 --- a/.github/workflows/CI_SimpleNonlinearSolve.yml +++ b/.github/workflows/CI_SimpleNonlinearSolve.yml @@ -26,7 +26,7 @@ jobs: fail-fast: false matrix: version: - - "min" + - "lts" - "1" os: - ubuntu-latest @@ -62,7 +62,7 @@ jobs: end Pkg.develop(dev_pks) Pkg.instantiate() - Pkg.test(; coverage=true) + Pkg.test(; coverage="user") shell: julia --color=yes --code-coverage=user --depwarn=yes --project=lib/SimpleNonlinearSolve {0} env: GROUP: ${{ matrix.group }} diff --git a/.github/workflows/Downgrade.yml b/.github/workflows/Downgrade.yml index 172457df8..83223e2f6 100644 --- a/.github/workflows/Downgrade.yml +++ b/.github/workflows/Downgrade.yml @@ -40,7 +40,7 @@ jobs: end Pkg.develop(dev_pks) Pkg.instantiate() - Pkg.test(; coverage=true) + Pkg.test(; coverage="user") shell: julia --color=yes --code-coverage=user --depwarn=yes --project=. {0} env: GROUP: ${{ matrix.group }} diff --git a/.github/workflows/Downstream.yml b/.github/workflows/Downstream.yml index 9e54283aa..fffcb0a6c 100644 --- a/.github/workflows/Downstream.yml +++ b/.github/workflows/Downstream.yml @@ -46,7 +46,7 @@ jobs: # force it to use this PR's version of the package Pkg.develop(PackageSpec(path=".")) # resolver may fail with main deps Pkg.update() - Pkg.test(coverage=true) # resolver may fail with test time deps + Pkg.test(coverage="user") # resolver may fail with test time deps catch err err isa Pkg.Resolve.ResolverError || rethrow() # If we can't resolve that means this is incompatible by SemVer and this is fine diff --git a/lib/BracketingNonlinearSolve/ext/BracketingNonlinearSolveForwardDiffExt.jl b/lib/BracketingNonlinearSolve/ext/BracketingNonlinearSolveForwardDiffExt.jl index b41a88451..09616b5a2 100644 --- a/lib/BracketingNonlinearSolve/ext/BracketingNonlinearSolveForwardDiffExt.jl +++ b/lib/BracketingNonlinearSolve/ext/BracketingNonlinearSolveForwardDiffExt.jl @@ -7,19 +7,23 @@ using SciMLBase: SciMLBase, IntervalNonlinearProblem using BracketingNonlinearSolve: Bisection, Brent, Alefeld, Falsi, ITP, Ridder +const DualIntervalNonlinearProblem{T, V, P} = IntervalNonlinearProblem{ + uType, iip, <:Union{<:Dual{T, V, P}, <:AbstractArray{<:Dual{T, V, P}}} +} where {uType, iip} + for algT in (Bisection, Brent, Alefeld, Falsi, ITP, Ridder) @eval function CommonSolve.solve( - prob::IntervalNonlinearProblem{ - uType, iip, <:Union{<:Dual{T, V, P}, <:AbstractArray{<:Dual{T, V, P}}}}, - alg::$(algT), - args...; - kwargs...) where {uType, iip, T, V, P} + prob::DualIntervalNonlinearProblem{T, V, P}, alg::$(algT), args...; + kwargs... + ) where {T, V, P} sol, partials = nonlinearsolve_forwarddiff_solve(prob, alg, args...; kwargs...) dual_soln = nonlinearsolve_dual_solution(sol.u, partials, prob.p) return SciMLBase.build_solution( - prob, alg, dual_soln, sol.resid; sol.retcode, sol.stats, - sol.original, left = Dual{T, V, P}(sol.left, partials), - right = Dual{T, V, P}(sol.right, partials)) + prob, alg, dual_soln, sol.resid; + sol.retcode, sol.stats, sol.original, + left = Dual{T, V, P}(sol.left, partials), + right = Dual{T, V, P}(sol.right, partials) + ) end end diff --git a/lib/BracketingNonlinearSolve/test/qa_tests.jl b/lib/BracketingNonlinearSolve/test/qa_tests.jl index c01c493f4..dc78ce75e 100644 --- a/lib/BracketingNonlinearSolve/test/qa_tests.jl +++ b/lib/BracketingNonlinearSolve/test/qa_tests.jl @@ -1,7 +1,12 @@ @testitem "Aqua" tags=[:core] begin using Aqua, BracketingNonlinearSolve - Aqua.test_all(BracketingNonlinearSolve; piracies = false, ambiguities = false) + Aqua.test_all( + BracketingNonlinearSolve; + piracies = false, ambiguities = false, stale_deps = false, deps_compat = false + ) + Aqua.test_stale_deps(BracketingNonlinearSolve; ignore = [:SciMLJacobianOperators]) + Aqua.test_deps_compat(BracketingNonlinearSolve; ignore = [:SciMLJacobianOperators]) Aqua.test_piracies(BracketingNonlinearSolve; treat_as_own = [IntervalNonlinearProblem]) Aqua.test_ambiguities(BracketingNonlinearSolve; recursive = false) end diff --git a/lib/NonlinearSolveBase/test/runtests.jl b/lib/NonlinearSolveBase/test/runtests.jl index 07c0f14c6..2c745c1c3 100644 --- a/lib/NonlinearSolveBase/test/runtests.jl +++ b/lib/NonlinearSolveBase/test/runtests.jl @@ -8,7 +8,10 @@ using InteractiveUtils, Test @testset "Aqua" begin using Aqua, NonlinearSolveBase - Aqua.test_all(NonlinearSolveBase; piracies = false, ambiguities = false) + Aqua.test_all( + NonlinearSolveBase; piracies = false, ambiguities = false, stale_deps = false + ) + Aqua.test_stale_deps(NonlinearSolveBase; ignore = [:TimerOutputs]) Aqua.test_piracies(NonlinearSolveBase) Aqua.test_ambiguities(NonlinearSolveBase; recursive = false) end