Skip to content

Commit 1906e02

Browse files
committed
ci: reuse workflows from Lux
1 parent c23a805 commit 1906e02

15 files changed

+216
-506
lines changed

.github/workflows/CI_BracketingNonlinearSolve.yml

Lines changed: 14 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,17 @@ 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
44+
local_dependencies: "lib/NonlinearSolveBase,lib/SciMLJacobianOperators"

.github/workflows/CI_NonlinearSolve.yml

Lines changed: 25 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,28 @@ 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-
files: 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+
local_dependencies: "lib/BracketingNonlinearSolve,lib/NonlinearSolveBase,lib/NonlinearSolveFirstOrder,lib/NonlinearSolveQuasiNewton,lib/NonlinearSolveSpectralMethods,lib/SimpleNonlinearSolve"
74+
test_args: "GROUP=${{ matrix.group }}"

.github/workflows/CI_NonlinearSolveBase.yml

Lines changed: 14 additions & 38 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,40 +27,17 @@ 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-
files: 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"
36+
37+
downgrade:
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
43+
local_dependencies: "lib/SciMLJacobianOperators"

.github/workflows/CI_NonlinearSolveFirstOrder.yml

Lines changed: 14 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,17 @@ 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
44+
local_dependencies: "lib/NonlinearSolveBase,lib/SciMLJacobianOperators"

.github/workflows/CI_NonlinearSolveHomotopyContinuation.yml

Lines changed: 14 additions & 38 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,40 +27,17 @@ 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/NonlinearSolveBase",)
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/NonlinearSolveHomotopyContinuation {0}
59-
- uses: julia-actions/julia-processcoverage@v1
60-
with:
61-
directories: lib/NonlinearSolveBase/src,lib/NonlinearSolveBase/ext,lib/NonlinearSolveHomotopyContinuation/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/NonlinearSolveHomotopyContinuation"
35+
local_dependencies: "lib/NonlinearSolveBase"
36+
37+
downgrade:
38+
uses: LuxDL/Lux.jl/.github/workflows/CommonCI.yml@main
39+
with:
40+
julia_version: "1.11"
41+
project: "lib/NonlinearSolveHomotopyContinuation"
42+
downgrade_testing: true
43+
local_dependencies: "lib/NonlinearSolveBase"

.github/workflows/CI_NonlinearSolveQuasiNewton.yml

Lines changed: 14 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,17 @@ 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/NonlinearSolveQuasiNewton {0}
60-
- uses: julia-actions/julia-processcoverage@v1
61-
with:
62-
directories: lib/NonlinearSolveQuasiNewton/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/NonlinearSolveQuasiNewton"
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/NonlinearSolveQuasiNewton"
43+
downgrade_testing: true
44+
local_dependencies: "lib/NonlinearSolveBase,lib/SciMLJacobianOperators"

0 commit comments

Comments
 (0)