Skip to content

Commit 7426a3d

Browse files
Merge pull request #505 from ChrisRackauckas-Claude/uniformize-monorepo-structure
Uniformize monorepo structure to OrdinaryDiffEq.jl canonical style
2 parents 97e8de7 + 65b5dca commit 7426a3d

90 files changed

Lines changed: 1074 additions & 587 deletions

File tree

Some content is hidden

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

.github/workflows/CI.yml

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
name: CI
2+
on:
3+
pull_request:
4+
branches:
5+
- master
6+
push:
7+
branches:
8+
- master
9+
concurrency:
10+
# Skip intermediate builds: always.
11+
# Cancel intermediate builds: only if it is a pull request build.
12+
group: ${{ github.workflow }}-${{ github.ref }}
13+
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
14+
jobs:
15+
test:
16+
permissions:
17+
actions: write
18+
contents: read
19+
runs-on: ubuntu-latest
20+
timeout-minutes: 120
21+
strategy:
22+
fail-fast: false
23+
matrix:
24+
# Root BoundaryValueDiffEq's own test groups only. The lib/* sublibraries
25+
# are covered by SublibraryCI.yml (project model); do not double-test them
26+
# through the root matrix.
27+
group:
28+
- Misc
29+
- Wrappers
30+
- QA
31+
version:
32+
- 'lts'
33+
- '1'
34+
- 'pre'
35+
exclude:
36+
# QA (Aqua + JET) runs on release + LTS Julia only (not pre-release).
37+
- group: QA
38+
version: 'pre'
39+
steps:
40+
- uses: actions/checkout@v6
41+
- uses: julia-actions/setup-julia@v3
42+
with:
43+
version: ${{ matrix.version }}
44+
- uses: julia-actions/cache@v3
45+
- name: Develop local path deps (Julia < 1.11)
46+
shell: julia --color=yes --project=. {0}
47+
run: |
48+
using Pkg
49+
if VERSION < v"1.11.0-DEV.0"
50+
toml = Pkg.TOML.parsefile("Project.toml")
51+
if haskey(toml, "sources")
52+
specs = Pkg.PackageSpec[]
53+
for (dep, spec) in toml["sources"]
54+
if spec isa Dict && haskey(spec, "path") && isdir(spec["path"])
55+
@info "Developing" dep spec["path"]
56+
push!(specs, Pkg.PackageSpec(path=spec["path"]))
57+
end
58+
end
59+
# Batch the develop call so Pkg resolves all path deps together.
60+
isempty(specs) || Pkg.develop(specs)
61+
end
62+
end
63+
- uses: julia-actions/julia-buildpkg@v1
64+
- uses: julia-actions/julia-runtest@v1
65+
with:
66+
coverage: true
67+
check_bounds: auto
68+
env:
69+
GROUP: ${{ matrix.group }}
70+
- uses: julia-actions/julia-processcoverage@v1
71+
with:
72+
directories: src,ext
73+
- uses: codecov/codecov-action@v6
74+
with:
75+
token: ${{ secrets.CODECOV_TOKEN }}
76+
files: lcov.info
77+
fail_ci_if_error: false
78+
disable_safe_directory: true

.github/workflows/CI_BoundaryValueDiffEq.yml

Lines changed: 0 additions & 81 deletions
This file was deleted.

.github/workflows/Downgrade.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ jobs:
1717
name: "Downgrade"
1818
uses: "SciML/.github/.github/workflows/downgrade.yml@v1"
1919
with:
20-
julia-version: "1.11"
21-
skip: "Pkg,TOML"
20+
julia-version: "lts"
21+
group: "Misc"
2222
secrets: "inherit"

.github/workflows/DowngradeSublibraries.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,6 @@ jobs:
2222
uses: "SciML/.github/.github/workflows/sublibrary-downgrade.yml@v1"
2323
secrets: "inherit"
2424
with:
25-
julia-version: "1.11"
26-
skip: "Pkg,TOML"
25+
julia-version: "lts"
26+
group-env-name: "BOUNDARYVALUEDIFFEQ_TEST_GROUP"
27+
group-env-value: "Core"

.github/workflows/QA.yml

Lines changed: 0 additions & 54 deletions
This file was deleted.

.github/workflows/SublibraryCI.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,7 @@ concurrency:
1919
jobs:
2020
sublibraries:
2121
uses: "SciML/.github/.github/workflows/sublibrary-project-tests.yml@v1"
22+
with:
23+
group-env-name: BOUNDARYVALUEDIFFEQ_TEST_GROUP
24+
check-bounds: auto
2225
secrets: "inherit"

.github/workflows/TagBot.yml

Lines changed: 17 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,24 @@
1-
name: TagBot
1+
name: "TagBot"
22
on:
33
issue_comment:
4-
types:
5-
- created
4+
types: [created]
65
workflow_dispatch:
7-
inputs:
8-
lookback:
9-
default: "3"
10-
11-
permissions:
12-
actions: read
13-
checks: read
14-
contents: write
15-
deployments: read
16-
issues: read
17-
discussions: read
18-
packages: read
19-
pages: read
20-
pull-requests: read
21-
repository-projects: read
22-
security-events: read
23-
statuses: read
24-
256
jobs:
26-
TagBot-BoundaryValueDiffEq:
27-
if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'
28-
runs-on: ubuntu-latest
29-
steps:
30-
- name: Tag BoundaryValueDiffEq
31-
uses: JuliaRegistries/TagBot@v1
32-
with:
33-
token: ${{ secrets.GITHUB_TOKEN }}
34-
ssh: ${{ secrets.DOCUMENTER_KEY }}
35-
36-
TagBot-Subpackages:
37-
if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'
38-
runs-on: ubuntu-latest
7+
tagbot:
8+
uses: "SciML/.github/.github/workflows/tagbot.yml@v1"
9+
secrets: "inherit"
10+
tagbot-subpackages:
3911
strategy:
4012
fail-fast: false
4113
matrix:
42-
package:
43-
- BoundaryValueDiffEqCore
44-
- BoundaryValueDiffEqMIRK
45-
- BoundaryValueDiffEqFIRK
46-
- BoundaryValueDiffEqMIRKN
47-
- BoundaryValueDiffEqAscher
48-
- BoundaryValueDiffEqShooting
49-
steps:
50-
- name: Tag ${{ matrix.package }}
51-
uses: JuliaRegistries/TagBot@v1
52-
with:
53-
token: ${{ secrets.GITHUB_TOKEN }}
54-
ssh: ${{ secrets.DOCUMENTER_KEY }}
55-
subdir: "lib/${{ matrix.package }}"
14+
subdir:
15+
- "lib/BoundaryValueDiffEqCore"
16+
- "lib/BoundaryValueDiffEqMIRK"
17+
- "lib/BoundaryValueDiffEqFIRK"
18+
- "lib/BoundaryValueDiffEqMIRKN"
19+
- "lib/BoundaryValueDiffEqAscher"
20+
- "lib/BoundaryValueDiffEqShooting"
21+
uses: "SciML/.github/.github/workflows/tagbot.yml@v1"
22+
with:
23+
subdir: "${{ matrix.subdir }}"
24+
secrets: "inherit"

Project.toml

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ BoundaryValueDiffEqODEInterfaceExt = "ODEInterface"
3434

3535
[compat]
3636
ADTypes = "1.14"
37-
Aqua = "0.8.11"
3837
BoundaryValueDiffEqAscher = "1"
3938
BoundaryValueDiffEqCore = "2"
4039
BoundaryValueDiffEqFIRK = "1"
@@ -46,7 +45,6 @@ DiffEqDevTools = "2.48, 3"
4645
DifferentiationInterface = "0.7.13"
4746
FastClosures = "0.3.2"
4847
ForwardDiff = "0.10.38, 1"
49-
Hwloc = "3.3"
5048
InteractiveUtils = "<0.0.1, 1"
5149
LinearAlgebra = "1.10"
5250
LinearSolve = "3.12"
@@ -58,35 +56,32 @@ OrdinaryDiffEqTsit5 = "1.1, 2"
5856
OptimizationBase = "5"
5957
Pkg = "1.10.0"
6058
Random = "1.10"
61-
ReTestItems = "1.29"
6259
RecursiveArrayTools = "3.31.2, 4"
6360
Reexport = "1.2"
61+
SafeTestsets = "0.1.0"
6462
SciMLBase = "3"
6563
Sparspak = "0.3.11"
6664
StaticArrays = "1.9.8"
6765
Test = "1.10"
6866
julia = "1.10"
6967

7068
[extras]
71-
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
7269
DiffEqDevTools = "f3b72e0c-5b89-59e1-b016-84e28bfd966d"
7370
DifferentiationInterface = "a0c0ee7d-e4b9-4e03-894e-1c5f64a51d63"
74-
Hwloc = "0e44f5e4-bd66-52a0-8798-143a42290a1d"
7571
InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
7672
LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae"
7773
NonlinearSolveBase = "be0214bd-f91f-a760-ac4e-3421ce2b2da0"
7874
NonlinearSolveFirstOrder = "5959db7a-ea39-4486-b5fe-2dd0bf03d60d"
79-
ODEInterface = "54ca160b-1b9f-5127-a996-1867f4bc2a2c"
8075
OrdinaryDiffEqLowOrderRK = "1344f307-1e59-4825-a18e-ace9aa3fa4c6"
8176
OrdinaryDiffEqTsit5 = "b1df2697-797e-41e3-8120-5422d3b24e4a"
8277
OptimizationBase = "bca83a33-5cc9-4baa-983d-23429ab6bcbb"
8378
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
8479
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
85-
ReTestItems = "817f1d60-ba6b-4fd5-9520-3cf149f6a823"
8680
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"
81+
SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
8782
Sparspak = "e56a9233-b9d6-4f03-8d0f-1825330902ac"
8883
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
8984
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
9085

9186
[targets]
92-
test = ["Aqua", "DiffEqDevTools", "DifferentiationInterface", "Hwloc", "InteractiveUtils", "LinearSolve", "NonlinearSolveFirstOrder", "ODEInterface", "OrdinaryDiffEqLowOrderRK", "OrdinaryDiffEqTsit5", "Pkg", "Random", "ReTestItems", "RecursiveArrayTools", "Sparspak", "StaticArrays", "Test", "OptimizationBase", "NonlinearSolveBase"]
87+
test = ["DiffEqDevTools", "DifferentiationInterface", "InteractiveUtils", "LinearSolve", "NonlinearSolveFirstOrder", "OrdinaryDiffEqLowOrderRK", "OrdinaryDiffEqTsit5", "Pkg", "Random", "RecursiveArrayTools", "SafeTestsets", "Sparspak", "StaticArrays", "Test", "OptimizationBase", "NonlinearSolveBase"]

0 commit comments

Comments
 (0)