Skip to content

Commit 0e0fd79

Browse files
committed
ci: add downgrade testing to all the packages
1 parent d548ada commit 0e0fd79

10 files changed

+325
-71
lines changed

.github/workflows/CI_BracketingNonlinearSolve.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,41 @@ jobs:
6969
token: ${{ secrets.CODECOV_TOKEN }}
7070
verbose: true
7171
fail_ci_if_error: true
72+
73+
downgrade:
74+
runs-on: ubuntu-latest
75+
strategy:
76+
fail-fast: false
77+
matrix:
78+
version:
79+
- "1.10"
80+
steps:
81+
- uses: actions/checkout@v4
82+
- uses: julia-actions/setup-julia@v2
83+
with:
84+
version: ${{ matrix.version }}
85+
- uses: julia-actions/julia-downgrade-compat@v1
86+
with:
87+
skip: NonlinearSolveBase, SciMLJacobianOperators
88+
- name: "Install Dependencies and Run Tests"
89+
run: |
90+
import Pkg
91+
Pkg.Registry.update()
92+
# Install packages present in subdirectories
93+
dev_pks = Pkg.PackageSpec[]
94+
for path in ("lib/NonlinearSolveBase", "lib/SciMLJacobianOperators")
95+
push!(dev_pks, Pkg.PackageSpec(; path))
96+
end
97+
Pkg.develop(dev_pks)
98+
Pkg.instantiate()
99+
Pkg.test(; coverage="user")
100+
shell: julia --color=yes --code-coverage=user --depwarn=yes --project=lib/BracketingNonlinearSolve {0}
101+
- uses: julia-actions/julia-processcoverage@v1
102+
with:
103+
directories: lib/BracketingNonlinearSolve/src,lib/BracketingNonlinearSolve/ext,lib/NonlinearSolveBase/src,lib/NonlinearSolveBase/ext,lib/SciMLJacobianOperators/src
104+
- uses: codecov/codecov-action@v4
105+
with:
106+
file: lcov.info
107+
token: ${{ secrets.CODECOV_TOKEN }}
108+
verbose: true
109+
fail_ci_if_error: true

.github/workflows/CI_NonlinearSolve.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,3 +83,47 @@ jobs:
8383
token: ${{ secrets.CODECOV_TOKEN }}
8484
verbose: true
8585
fail_ci_if_error: true
86+
87+
downgrade:
88+
runs-on: ubuntu-latest
89+
strategy:
90+
fail-fast: false
91+
matrix:
92+
version:
93+
- "1.10"
94+
group:
95+
- Core
96+
- Downstream
97+
- Wrappers
98+
steps:
99+
- uses: actions/checkout@v4
100+
- uses: julia-actions/setup-julia@v2
101+
with:
102+
version: ${{ matrix.version }}
103+
- uses: julia-actions/julia-downgrade-compat@v1
104+
with:
105+
skip: SciMLJacobianOperators, BracketingNonlinearSolve, NonlinearSolveBase, SimpleNonlinearSolve, NonlinearSolveFirstOrder, NonlinearSolveSpectralMethods, NonlinearSolveQuasiNewton
106+
- name: "Install Dependencies and Run Tests"
107+
run: |
108+
import Pkg
109+
Pkg.Registry.update()
110+
# Install packages present in subdirectories
111+
dev_pks = Pkg.PackageSpec[]
112+
for path in ("lib/SciMLJacobianOperators", "lib/BracketingNonlinearSolve", "lib/NonlinearSolveBase", "lib/SimpleNonlinearSolve", "lib/NonlinearSolveFirstOrder", "lib/NonlinearSolveSpectralMethods", "lib/NonlinearSolveQuasiNewton")
113+
push!(dev_pks, Pkg.PackageSpec(; path))
114+
end
115+
Pkg.develop(dev_pks)
116+
Pkg.instantiate()
117+
Pkg.test(; coverage="user")
118+
shell: julia --color=yes --code-coverage=user --depwarn=yes --project=. {0}
119+
env:
120+
GROUP: ${{ matrix.group }}
121+
- uses: julia-actions/julia-processcoverage@v1
122+
with:
123+
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
124+
- uses: codecov/codecov-action@v4
125+
with:
126+
file: lcov.info
127+
token: ${{ secrets.CODECOV_TOKEN }}
128+
verbose: true
129+
fail_ci_if_error: true

.github/workflows/CI_NonlinearSolveBase.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,3 +68,41 @@ jobs:
6868
token: ${{ secrets.CODECOV_TOKEN }}
6969
verbose: true
7070
fail_ci_if_error: true
71+
72+
downgrade:
73+
runs-on: ubuntu-latest
74+
strategy:
75+
fail-fast: false
76+
matrix:
77+
version:
78+
- "1.10"
79+
steps:
80+
- uses: actions/checkout@v4
81+
- uses: julia-actions/setup-julia@v2
82+
with:
83+
version: ${{ matrix.version }}
84+
- uses: julia-actions/julia-downgrade-compat@v1
85+
with:
86+
skip: SciMLJacobianOperators
87+
- name: "Install Dependencies and Run Tests"
88+
run: |
89+
import Pkg
90+
Pkg.Registry.update()
91+
# Install packages present in subdirectories
92+
dev_pks = Pkg.PackageSpec[]
93+
for path in ("lib/SciMLJacobianOperators",)
94+
push!(dev_pks, Pkg.PackageSpec(; path))
95+
end
96+
Pkg.develop(dev_pks)
97+
Pkg.instantiate()
98+
Pkg.test(; coverage="user")
99+
shell: julia --color=yes --code-coverage=user --depwarn=yes --project=lib/NonlinearSolveBase {0}
100+
- uses: julia-actions/julia-processcoverage@v1
101+
with:
102+
directories: lib/NonlinearSolveBase/src,lib/NonlinearSolveBase/ext,lib/SciMLJacobianOperators/src
103+
- uses: codecov/codecov-action@v4
104+
with:
105+
file: lcov.info
106+
token: ${{ secrets.CODECOV_TOKEN }}
107+
verbose: true
108+
fail_ci_if_error: true

.github/workflows/CI_NonlinearSolveFirstOrder.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,41 @@ jobs:
6969
token: ${{ secrets.CODECOV_TOKEN }}
7070
verbose: true
7171
fail_ci_if_error: true
72+
73+
downgrade:
74+
runs-on: ubuntu-latest
75+
strategy:
76+
fail-fast: false
77+
matrix:
78+
version:
79+
- "1.10"
80+
steps:
81+
- uses: actions/checkout@v4
82+
- uses: julia-actions/setup-julia@v2
83+
with:
84+
version: ${{ matrix.version }}
85+
- uses: julia-actions/julia-downgrade-compat@v1
86+
with:
87+
skip: NonlinearSolveBase, SciMLJacobianOperators
88+
- name: "Install Dependencies and Run Tests"
89+
run: |
90+
import Pkg
91+
Pkg.Registry.update()
92+
# Install packages present in subdirectories
93+
dev_pks = Pkg.PackageSpec[]
94+
for path in ("lib/SciMLJacobianOperators", "lib/NonlinearSolveBase")
95+
push!(dev_pks, Pkg.PackageSpec(; path))
96+
end
97+
Pkg.develop(dev_pks)
98+
Pkg.instantiate()
99+
Pkg.test(; coverage="user")
100+
shell: julia --color=yes --code-coverage=user --depwarn=yes --project=lib/NonlinearSolveFirstOrder {0}
101+
- uses: julia-actions/julia-processcoverage@v1
102+
with:
103+
directories: lib/NonlinearSolveFirstOrder/src,lib/NonlinearSolveBase/src,lib/NonlinearSolveBase/ext,lib/SciMLJacobianOperators/src
104+
- uses: codecov/codecov-action@v4
105+
with:
106+
file: lcov.info
107+
token: ${{ secrets.CODECOV_TOKEN }}
108+
verbose: true
109+
fail_ci_if_error: true

.github/workflows/CI_NonlinearSolveQuasiNewton.yml

Lines changed: 54 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,33 +20,71 @@ concurrency:
2020
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
2121

2222
jobs:
23-
test:
24-
runs-on: ${{ matrix.os }}
23+
# test:
24+
# runs-on: ${{ matrix.os }}
25+
# strategy:
26+
# fail-fast: false
27+
# matrix:
28+
# version:
29+
# - "1.10"
30+
# - "1"
31+
# os:
32+
# - ubuntu-latest
33+
# - macos-latest
34+
# - windows-latest
35+
# steps:
36+
# - uses: actions/checkout@v4
37+
# - uses: julia-actions/setup-julia@v2
38+
# with:
39+
# version: ${{ matrix.version }}
40+
# - uses: actions/cache@v4
41+
# env:
42+
# cache-name: cache-artifacts
43+
# with:
44+
# path: ~/.julia/artifacts
45+
# key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
46+
# restore-keys: |
47+
# ${{ runner.os }}-test-${{ env.cache-name }}-
48+
# ${{ runner.os }}-test-
49+
# ${{ runner.os }}-
50+
# - name: "Install Dependencies and Run Tests"
51+
# run: |
52+
# import Pkg
53+
# Pkg.Registry.update()
54+
# # Install packages present in subdirectories
55+
# dev_pks = Pkg.PackageSpec[]
56+
# for path in ("lib/SciMLJacobianOperators", "lib/NonlinearSolveBase")
57+
# push!(dev_pks, Pkg.PackageSpec(; path))
58+
# end
59+
# Pkg.develop(dev_pks)
60+
# Pkg.instantiate()
61+
# Pkg.test(; coverage="user")
62+
# shell: julia --color=yes --code-coverage=user --depwarn=yes --project=lib/NonlinearSolveQuasiNewton {0}
63+
# - uses: julia-actions/julia-processcoverage@v1
64+
# with:
65+
# directories: lib/NonlinearSolveQuasiNewton/src,lib/NonlinearSolveBase/src,lib/NonlinearSolveBase/ext,lib/SciMLJacobianOperators/src
66+
# - uses: codecov/codecov-action@v4
67+
# with:
68+
# file: lcov.info
69+
# token: ${{ secrets.CODECOV_TOKEN }}
70+
# verbose: true
71+
# fail_ci_if_error: true
72+
73+
downgrade:
74+
runs-on: ubuntu-latest
2575
strategy:
2676
fail-fast: false
2777
matrix:
2878
version:
2979
- "1.10"
30-
- "1"
31-
os:
32-
- ubuntu-latest
33-
- macos-latest
34-
- windows-latest
3580
steps:
3681
- uses: actions/checkout@v4
3782
- uses: julia-actions/setup-julia@v2
3883
with:
3984
version: ${{ matrix.version }}
40-
- uses: actions/cache@v4
41-
env:
42-
cache-name: cache-artifacts
85+
- uses: julia-actions/julia-downgrade-compat@v1
4386
with:
44-
path: ~/.julia/artifacts
45-
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
46-
restore-keys: |
47-
${{ runner.os }}-test-${{ env.cache-name }}-
48-
${{ runner.os }}-test-
49-
${{ runner.os }}-
87+
skip: NonlinearSolveBase, SciMLJacobianOperators
5088
- name: "Install Dependencies and Run Tests"
5189
run: |
5290
import Pkg

.github/workflows/CI_NonlinearSolveSpectralMethods.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,41 @@ jobs:
6969
token: ${{ secrets.CODECOV_TOKEN }}
7070
verbose: true
7171
fail_ci_if_error: true
72+
73+
downgrade:
74+
runs-on: ubuntu-latest
75+
strategy:
76+
fail-fast: false
77+
matrix:
78+
version:
79+
- "1.10"
80+
steps:
81+
- uses: actions/checkout@v4
82+
- uses: julia-actions/setup-julia@v2
83+
with:
84+
version: ${{ matrix.version }}
85+
- uses: julia-actions/julia-downgrade-compat@v1
86+
with:
87+
skip: NonlinearSolveBase, SciMLJacobianOperators
88+
- name: "Install Dependencies and Run Tests"
89+
run: |
90+
import Pkg
91+
Pkg.Registry.update()
92+
# Install packages present in subdirectories
93+
dev_pks = Pkg.PackageSpec[]
94+
for path in ("lib/SciMLJacobianOperators", "lib/NonlinearSolveBase")
95+
push!(dev_pks, Pkg.PackageSpec(; path))
96+
end
97+
Pkg.develop(dev_pks)
98+
Pkg.instantiate()
99+
Pkg.test(; coverage="user")
100+
shell: julia --color=yes --code-coverage=user --depwarn=yes --project=lib/NonlinearSolveSpectralMethods {0}
101+
- uses: julia-actions/julia-processcoverage@v1
102+
with:
103+
directories: lib/NonlinearSolveSpectralMethods/src,lib/NonlinearSolveBase/src,lib/NonlinearSolveBase/ext,lib/SciMLJacobianOperators/src
104+
- uses: codecov/codecov-action@v4
105+
with:
106+
file: lcov.info
107+
token: ${{ secrets.CODECOV_TOKEN }}
108+
verbose: true
109+
fail_ci_if_error: true

.github/workflows/CI_SciMLJacobianOperators.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,33 @@ jobs:
6161
token: ${{ secrets.CODECOV_TOKEN }}
6262
verbose: true
6363
fail_ci_if_error: true
64+
65+
downgrade:
66+
runs-on: ubuntu-latest
67+
strategy:
68+
fail-fast: false
69+
matrix:
70+
version:
71+
- "1.10"
72+
steps:
73+
- uses: actions/checkout@v4
74+
- uses: julia-actions/setup-julia@v2
75+
with:
76+
version: ${{ matrix.version }}
77+
- uses: julia-actions/julia-downgrade-compat@v1
78+
- name: "Install Dependencies and Run Tests"
79+
run: |
80+
import Pkg
81+
Pkg.Registry.update()
82+
Pkg.instantiate()
83+
Pkg.test(; coverage="user")
84+
shell: julia --color=yes --code-coverage=user --depwarn=yes --project=lib/SciMLJacobianOperators {0}
85+
- uses: julia-actions/julia-processcoverage@v1
86+
with:
87+
directories: lib/SciMLJacobianOperators/src
88+
- uses: codecov/codecov-action@v4
89+
with:
90+
file: lcov.info
91+
token: ${{ secrets.CODECOV_TOKEN }}
92+
verbose: true
93+
fail_ci_if_error: true

.github/workflows/CI_SimpleNonlinearSolve.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,3 +76,47 @@ jobs:
7676
token: ${{ secrets.CODECOV_TOKEN }}
7777
verbose: true
7878
fail_ci_if_error: true
79+
80+
downgrade:
81+
runs-on: ubuntu-latest
82+
strategy:
83+
fail-fast: false
84+
matrix:
85+
version:
86+
- "1.10"
87+
group:
88+
- core
89+
- adjoint
90+
- alloc_check
91+
steps:
92+
- uses: actions/checkout@v4
93+
- uses: julia-actions/setup-julia@v2
94+
with:
95+
version: ${{ matrix.version }}
96+
- uses: julia-actions/julia-downgrade-compat@v1
97+
with:
98+
skip: NonlinearSolveBase, BracketingNonlinearSolve, SciMLJacobianOperators
99+
- name: "Install Dependencies and Run Tests"
100+
run: |
101+
import Pkg
102+
Pkg.Registry.update()
103+
# Install packages present in subdirectories
104+
dev_pks = Pkg.PackageSpec[]
105+
for path in ("lib/NonlinearSolveBase", "lib/BracketingNonlinearSolve", "lib/SciMLJacobianOperators")
106+
push!(dev_pks, Pkg.PackageSpec(; path))
107+
end
108+
Pkg.develop(dev_pks)
109+
Pkg.instantiate()
110+
Pkg.test(; coverage="user")
111+
shell: julia --color=yes --code-coverage=user --depwarn=yes --project=lib/SimpleNonlinearSolve {0}
112+
env:
113+
GROUP: ${{ matrix.group }}
114+
- uses: julia-actions/julia-processcoverage@v1
115+
with:
116+
directories: lib/SimpleNonlinearSolve/src,lib/SimpleNonlinearSolve/ext,lib/SciMLJacobianOperators/src,lib/BracketingNonlinearSolve/src,lib/BracketingNonlinearSolve/ext,lib/NonlinearSolveBase/src,lib/NonlinearSolveBase/ext
117+
- uses: codecov/codecov-action@v4
118+
with:
119+
file: lcov.info
120+
token: ${{ secrets.CODECOV_TOKEN }}
121+
verbose: true
122+
fail_ci_if_error: true

0 commit comments

Comments
 (0)