Skip to content

Commit ff6460d

Browse files
authored
test: fix all tests (#695)
* fix: explicit imports in NonlinearSolveBase * fix: link to SpeedMapping * ci: fix inputs * ci: formatter pin to v1 * fix: properly specify version * ci: remove duplicate workflows * fix: documentation * ci: reuse workflows from Lux * ci: use specific branch (drop me) * fix: min compats * fix: nonlinearsolvescipy * test: skip cuda installation + tests on pre-releases * fix: more min compat * fix: make DI v0.7 * fix: don't support speedmapping v0.4 for now * test: relax tolerance for broyden * fix: bracketing nlsolve min compats * fix: more min compat * Revert "ci: use specific branch (drop me)" This reverts commit 8298c02. * fix: more min compat * fix: more min compat * fix: nonlinearsolve test fixes * fix: first order tests * fix: more compat fixes * fix: missing sources * ci: fix * ci: fix * ci(buildkite): use sources * fix: simple nonlinear solve working in kernels again * ci: fix group for BVPs
1 parent 6aa834f commit ff6460d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+361
-706
lines changed

.buildkite/pipeline.yml

Lines changed: 4 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,13 @@ steps:
33
plugins:
44
- JuliaCI/julia#v1:
55
version: "1"
6+
- JuliaCI/julia-test#v1:
7+
test_args: "GROUP=cuda"
68
- JuliaCI/julia-coverage#v1:
79
codecov: true
810
dirs:
911
- src
1012
- ext
11-
command: |
12-
julia --color=yes --code-coverage=user --depwarn=yes --project=. -e '
13-
import Pkg;
14-
Pkg.Registry.update();
15-
# Install packages present in subdirectories
16-
dev_pks = Pkg.PackageSpec[];
17-
for path in ("lib/SciMLJacobianOperators", "lib/BracketingNonlinearSolve", "lib/NonlinearSolveBase", "lib/SimpleNonlinearSolve", "lib/NonlinearSolveFirstOrder", "lib/NonlinearSolveSpectralMethods", "lib/NonlinearSolveQuasiNewton")
18-
push!(dev_pks, Pkg.PackageSpec(; path));
19-
end
20-
Pkg.develop(dev_pks);
21-
Pkg.instantiate();
22-
Pkg.test(; coverage="user")'
2313
agents:
2414
queue: "juliagpu"
2515
cuda: "*"
@@ -31,23 +21,13 @@ steps:
3121
plugins:
3222
- JuliaCI/julia#v1:
3323
version: "1"
24+
- JuliaCI/julia-test#v1:
25+
test_args: "GROUP=cuda"
3426
- JuliaCI/julia-coverage#v1:
3527
codecov: true
3628
dirs:
3729
- src
3830
- ext
39-
command: |
40-
julia --color=yes --code-coverage=user --depwarn=yes --project=lib/SimpleNonlinearSolve -e '
41-
import Pkg;
42-
Pkg.Registry.update();
43-
# Install packages present in subdirectories
44-
dev_pks = Pkg.PackageSpec[];
45-
for path in ("lib/NonlinearSolveBase", "lib/BracketingNonlinearSolve", "lib/SciMLJacobianOperators")
46-
push!(dev_pks, Pkg.PackageSpec(; path))
47-
end
48-
Pkg.develop(dev_pks);
49-
Pkg.instantiate();
50-
Pkg.test(; coverage="user")'
5131
agents:
5232
queue: "juliagpu"
5333
cuda: "*"
@@ -56,6 +36,5 @@ steps:
5636
if: build.message !~ /\[skip tests\]/
5737

5838
env:
59-
GROUP: CUDA
6039
JULIA_PKG_SERVER: "" # it often struggles with our large artifacts
6140
SECRET_CODECOV_TOKEN: "HC7K/ymhi62KUQ5OLU4DOl+11gaQt4JhXX/2nfTGlTsBB8mEMxQ8R+sHIp/2HjEup5eSXAN2IWQDQ7RDBuQvVp0T1UVtr2e4YNZFztKnsJXrFO15hXxYShJodI//X/8DzhlQd/lyTDOAOJu3eznsc3sC2CUgJzXZxLUtQN9YaZ1i3a+NoN1mO5UpkkHVhXigwF5gjy+0tei8fCdcP+SIhG0EanS5yd9q/SurtCpMHsHyUG97+ZVPglSKgdaqr31+PdmiPJ+ynp4+Hnc/esosxUSHSIL+ryRTO+28RNwPTiNf99J51RJLQmz1knWTR1ky6tiYIZ5218O6wvNil0SqNw==;U2FsdGVkX18nBY3t4LZYlEIz3EVKjpqCd994JNeJGt006up+sAjXEssI0tgCVXnfXsenVsP3NCCEoOS1GXc44g=="

.github/workflows/CI_BracketingNonlinearSolve.yml

Lines changed: 13 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ concurrency:
1919

2020
jobs:
2121
test:
22-
runs-on: ${{ matrix.os }}
2322
strategy:
2423
fail-fast: false
2524
matrix:
@@ -29,40 +28,16 @@ jobs:
2928
os:
3029
- ubuntu-latest
3130
- macos-latest
32-
steps:
33-
- uses: actions/checkout@v4
34-
- uses: julia-actions/setup-julia@v2
35-
with:
36-
version: ${{ matrix.version }}
37-
- uses: actions/cache@v4
38-
env:
39-
cache-name: cache-artifacts
40-
with:
41-
path: ~/.julia/artifacts
42-
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
43-
restore-keys: |
44-
${{ runner.os }}-test-${{ env.cache-name }}-
45-
${{ runner.os }}-test-
46-
${{ runner.os }}-
47-
- name: "Install Dependencies and Run Tests"
48-
run: |
49-
import Pkg
50-
Pkg.Registry.update()
51-
# Install packages present in subdirectories
52-
dev_pks = Pkg.PackageSpec[]
53-
for path in ("lib/NonlinearSolveBase", "lib/SciMLJacobianOperators")
54-
push!(dev_pks, Pkg.PackageSpec(; path))
55-
end
56-
Pkg.develop(dev_pks)
57-
Pkg.instantiate()
58-
Pkg.test(; coverage="user")
59-
shell: julia --color=yes --code-coverage=user --depwarn=yes --project=lib/BracketingNonlinearSolve {0}
60-
- uses: julia-actions/julia-processcoverage@v1
61-
with:
62-
directories: lib/BracketingNonlinearSolve/src,lib/BracketingNonlinearSolve/ext,lib/NonlinearSolveBase/src,lib/NonlinearSolveBase/ext,lib/SciMLJacobianOperators/src
63-
- uses: codecov/codecov-action@v5
64-
with:
65-
file: lcov.info
66-
token: ${{ secrets.CODECOV_TOKEN }}
67-
verbose: true
68-
fail_ci_if_error: false
31+
uses: LuxDL/Lux.jl/.github/workflows/CommonCI.yml@main
32+
with:
33+
julia_version: ${{ matrix.version }}
34+
os: ${{ matrix.os }}
35+
project: "lib/BracketingNonlinearSolve"
36+
local_dependencies: "lib/NonlinearSolveBase,lib/SciMLJacobianOperators"
37+
38+
downgrade:
39+
uses: LuxDL/Lux.jl/.github/workflows/CommonCI.yml@main
40+
with:
41+
julia_version: "1.11"
42+
project: "lib/BracketingNonlinearSolve"
43+
downgrade_testing: true

.github/workflows/CI_NonlinearSolve.yml

Lines changed: 24 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ concurrency:
2727

2828
jobs:
2929
test:
30-
runs-on: ${{ matrix.os }}
3130
strategy:
3231
fail-fast: false
3332
matrix:
@@ -48,44 +47,27 @@ jobs:
4847
# Don't run nopre tests on prerelease Julia
4948
- group: nopre
5049
version: "pre"
51-
steps:
52-
- uses: actions/checkout@v4
53-
- uses: julia-actions/setup-julia@v2
54-
with:
55-
version: ${{ matrix.version }}
56-
- uses: actions/cache@v4
57-
env:
58-
cache-name: cache-artifacts
59-
with:
60-
path: ~/.julia/artifacts
61-
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
62-
restore-keys: |
63-
${{ runner.os }}-test-${{ env.cache-name }}-
64-
${{ runner.os }}-test-
65-
${{ runner.os }}-
66-
- name: "Install Dependencies and Run Tests"
67-
run: |
68-
import Pkg
69-
Pkg.Registry.update()
70-
# Install packages present in subdirectories
71-
dev_pks = Pkg.PackageSpec[]
72-
for path in ("lib/SciMLJacobianOperators", "lib/BracketingNonlinearSolve", "lib/NonlinearSolveBase", "lib/SimpleNonlinearSolve", "lib/NonlinearSolveFirstOrder", "lib/NonlinearSolveSpectralMethods", "lib/NonlinearSolveQuasiNewton")
73-
push!(dev_pks, Pkg.PackageSpec(; path))
74-
end
75-
Pkg.develop(dev_pks)
76-
Pkg.instantiate()
77-
Pkg.test(; coverage="user")
78-
shell: julia --color=yes --code-coverage=user --depwarn=yes --project=. {0}
79-
env:
80-
GROUP: ${{ matrix.group }}
81-
# Wrapper tests run sequentially to avoid parallel initialization issues with external packages
82-
RETESTITEMS_NWORKERS: ${{ matrix.group == 'wrappers' && '0' || '' }}
83-
- uses: julia-actions/julia-processcoverage@v1
84-
with:
85-
directories: src,ext,lib/SciMLJacobianOperators/src,lib/BracketingNonlinearSolve/src,lib/NonlinearSolveBase/src,lib/NonlinearSolveBase/ext,lib/SimpleNonlinearSolve/src,lib/NonlinearSolveFirstOrder/src,lib/NonlinearSolveSpectralMethods/src,lib/NonlinearSolveQuasiNewton/src
86-
- uses: codecov/codecov-action@v5
87-
with:
88-
file: lcov.info
89-
token: ${{ secrets.CODECOV_TOKEN }}
90-
verbose: true
91-
fail_ci_if_error: false
50+
uses: LuxDL/Lux.jl/.github/workflows/CommonCI.yml@main
51+
with:
52+
julia_version: ${{ matrix.version }}
53+
os: ${{ matrix.os }}
54+
project: "."
55+
local_dependencies: "lib/BracketingNonlinearSolve,lib/NonlinearSolveBase,lib/NonlinearSolveFirstOrder,lib/NonlinearSolveQuasiNewton,lib/NonlinearSolveSpectralMethods,lib/SimpleNonlinearSolve"
56+
test_args: "GROUP=${{ matrix.group }}"
57+
58+
downgrade:
59+
strategy:
60+
fail-fast: false
61+
matrix:
62+
group:
63+
- core
64+
- downstream
65+
- wrappers
66+
- misc
67+
- nopre
68+
uses: LuxDL/Lux.jl/.github/workflows/CommonCI.yml@main
69+
with:
70+
project: "."
71+
julia_version: "1.11"
72+
downgrade_testing: true
73+
test_args: "GROUP=${{ matrix.group }}"

.github/workflows/CI_NonlinearSolveBase.yml

Lines changed: 11 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ concurrency:
1818

1919
jobs:
2020
test:
21-
runs-on: ${{ matrix.os }}
2221
strategy:
2322
fail-fast: false
2423
matrix:
@@ -28,78 +27,16 @@ jobs:
2827
os:
2928
- ubuntu-latest
3029
- macos-latest
31-
steps:
32-
- uses: actions/checkout@v4
33-
- uses: julia-actions/setup-julia@v2
34-
with:
35-
version: ${{ matrix.version }}
36-
- uses: actions/cache@v4
37-
env:
38-
cache-name: cache-artifacts
39-
with:
40-
path: ~/.julia/artifacts
41-
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
42-
restore-keys: |
43-
${{ runner.os }}-test-${{ env.cache-name }}-
44-
${{ runner.os }}-test-
45-
${{ runner.os }}-
46-
- name: "Install Dependencies and Run Tests"
47-
run: |
48-
import Pkg
49-
Pkg.Registry.update()
50-
# Install packages present in subdirectories
51-
dev_pks = Pkg.PackageSpec[]
52-
for path in ("lib/SciMLJacobianOperators",)
53-
push!(dev_pks, Pkg.PackageSpec(; path))
54-
end
55-
Pkg.develop(dev_pks)
56-
Pkg.instantiate()
57-
Pkg.test(; coverage="user")
58-
shell: julia --color=yes --code-coverage=user --depwarn=yes --project=lib/NonlinearSolveBase {0}
59-
- uses: julia-actions/julia-processcoverage@v1
60-
with:
61-
directories: lib/NonlinearSolveBase/src,lib/NonlinearSolveBase/ext,lib/SciMLJacobianOperators/src
62-
- uses: codecov/codecov-action@v5
63-
with:
64-
file: lcov.info
65-
token: ${{ secrets.CODECOV_TOKEN }}
66-
verbose: true
67-
fail_ci_if_error: false
30+
uses: LuxDL/Lux.jl/.github/workflows/CommonCI.yml@main
31+
with:
32+
julia_version: ${{ matrix.version }}
33+
os: ${{ matrix.os }}
34+
project: "lib/NonlinearSolveBase"
35+
local_dependencies: "lib/SciMLJacobianOperators"
6836

6937
downgrade:
70-
runs-on: ubuntu-latest
71-
strategy:
72-
fail-fast: false
73-
matrix:
74-
version:
75-
- "1.10"
76-
steps:
77-
- uses: actions/checkout@v4
78-
- uses: julia-actions/setup-julia@v2
79-
with:
80-
version: ${{ matrix.version }}
81-
- uses: julia-actions/julia-downgrade-compat@v2
82-
with:
83-
skip: SciMLJacobianOperators
84-
- name: "Install Dependencies and Run Tests"
85-
run: |
86-
import Pkg
87-
Pkg.Registry.update()
88-
# Install packages present in subdirectories
89-
dev_pks = Pkg.PackageSpec[]
90-
for path in ("lib/SciMLJacobianOperators",)
91-
push!(dev_pks, Pkg.PackageSpec(; path))
92-
end
93-
Pkg.develop(dev_pks)
94-
Pkg.instantiate()
95-
Pkg.test(; coverage="user")
96-
shell: julia --color=yes --code-coverage=user --depwarn=yes --project=lib/NonlinearSolveBase {0}
97-
- uses: julia-actions/julia-processcoverage@v1
98-
with:
99-
directories: lib/NonlinearSolveBase/src,lib/NonlinearSolveBase/ext,lib/SciMLJacobianOperators/src
100-
- uses: codecov/codecov-action@v5
101-
with:
102-
file: lcov.info
103-
token: ${{ secrets.CODECOV_TOKEN }}
104-
verbose: true
105-
fail_ci_if_error: false
38+
uses: LuxDL/Lux.jl/.github/workflows/CommonCI.yml@main
39+
with:
40+
julia_version: "1.11"
41+
project: "lib/NonlinearSolveBase"
42+
downgrade_testing: true

.github/workflows/CI_NonlinearSolveFirstOrder.yml

Lines changed: 13 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ concurrency:
1919

2020
jobs:
2121
test:
22-
runs-on: ${{ matrix.os }}
2322
strategy:
2423
fail-fast: false
2524
matrix:
@@ -29,40 +28,16 @@ jobs:
2928
os:
3029
- ubuntu-latest
3130
- macos-latest
32-
steps:
33-
- uses: actions/checkout@v4
34-
- uses: julia-actions/setup-julia@v2
35-
with:
36-
version: ${{ matrix.version }}
37-
- uses: actions/cache@v4
38-
env:
39-
cache-name: cache-artifacts
40-
with:
41-
path: ~/.julia/artifacts
42-
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
43-
restore-keys: |
44-
${{ runner.os }}-test-${{ env.cache-name }}-
45-
${{ runner.os }}-test-
46-
${{ runner.os }}-
47-
- name: "Install Dependencies and Run Tests"
48-
run: |
49-
import Pkg
50-
Pkg.Registry.update()
51-
# Install packages present in subdirectories
52-
dev_pks = Pkg.PackageSpec[]
53-
for path in ("lib/SciMLJacobianOperators", "lib/NonlinearSolveBase")
54-
push!(dev_pks, Pkg.PackageSpec(; path))
55-
end
56-
Pkg.develop(dev_pks)
57-
Pkg.instantiate()
58-
Pkg.test(; coverage="user")
59-
shell: julia --color=yes --code-coverage=user --depwarn=yes --project=lib/NonlinearSolveFirstOrder {0}
60-
- uses: julia-actions/julia-processcoverage@v1
61-
with:
62-
directories: lib/NonlinearSolveFirstOrder/src,lib/NonlinearSolveBase/src,lib/NonlinearSolveBase/ext,lib/SciMLJacobianOperators/src
63-
- uses: codecov/codecov-action@v5
64-
with:
65-
file: lcov.info
66-
token: ${{ secrets.CODECOV_TOKEN }}
67-
verbose: true
68-
fail_ci_if_error: false
31+
uses: LuxDL/Lux.jl/.github/workflows/CommonCI.yml@main
32+
with:
33+
julia_version: ${{ matrix.version }}
34+
os: ${{ matrix.os }}
35+
project: "lib/NonlinearSolveFirstOrder"
36+
local_dependencies: "lib/NonlinearSolveBase,lib/SciMLJacobianOperators"
37+
38+
downgrade:
39+
uses: LuxDL/Lux.jl/.github/workflows/CommonCI.yml@main
40+
with:
41+
julia_version: "1.11"
42+
project: "lib/NonlinearSolveFirstOrder"
43+
downgrade_testing: true

0 commit comments

Comments
 (0)