Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,22 @@ jobs:
strategy:
fail-fast: false
matrix:
# Only the root umbrella package's own test groups are listed here.
# The lib/* sublibraries are covered by SublibraryCI.yml (project model);
# they are intentionally not re-tested through the root matrix.
group:
- Core
- QA
version:
- "1"
- "lts"
- "1"
- "pre"
exclude:
# QA (explicit-imports check) does not need the pre-release Julia.
- group: QA
version: "pre"
uses: "SciML/.github/.github/workflows/tests.yml@v1"
with:
julia-version: "${{ matrix.version }}"
group: "${{ matrix.group }}"
secrets: "inherit"
9 changes: 4 additions & 5 deletions .github/workflows/Downgrade.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,13 @@ on:
- master
paths-ignore:
- 'docs/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
jobs:
downgrade:
name: "Downgrade"
strategy:
matrix:
julia-version: ['1.10']
uses: "SciML/.github/.github/workflows/downgrade.yml@v1"
with:
julia-version: "${{ matrix.julia-version }}"
skip: "Pkg,TOML"
group: "Core"
secrets: "inherit"
5 changes: 3 additions & 2 deletions .github/workflows/DowngradeSublibraries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,6 @@ jobs:
uses: "SciML/.github/.github/workflows/sublibrary-downgrade.yml@v1"
secrets: "inherit"
with:
julia-version: "lts"
skip: "Pkg,TOML,Statistics,LinearAlgebra,SparseArrays,InteractiveUtils,Random,Test,Markdown"
group-env-name: "DIFFEQPROBLEMLIBRARY_TEST_GROUP"
group-env-value: "Core"
# Every lib/* sublibrary is downgrade-tested (projects auto-discovered, no exclusions).
53 changes: 53 additions & 0 deletions .github/workflows/Downstream.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: IntegrationTest
on:
push:
branches: [master]
tags: [v*]
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
jobs:
test:
name: ${{ matrix.package.repo }}/${{ matrix.package.group }}/${{ matrix.julia-version }}
runs-on: ${{ matrix.os }}
env:
GROUP: ${{ matrix.package.group }}
strategy:
fail-fast: false
matrix:
julia-version: ['1.10']
os: [ubuntu-latest]
package:
- {user: SciML, repo: DiffEqDevTools.jl, group: All}
- {user: SciML, repo: OrdinaryDiffEq.jl, group: Regression_I}
steps:
- uses: actions/checkout@v6
- uses: julia-actions/setup-julia@v3
with:
version: ${{ matrix.julia-version }}
arch: x64
- name: Clone Downstream
uses: actions/checkout@v6
with:
repository: ${{ matrix.package.user }}/${{ matrix.package.repo }}
path: downstream
- name: Load this and run the downstream tests
shell: julia --color=yes --project=downstream {0}
run: |
using Pkg
try
Pkg.develop(map(path ->Pkg.PackageSpec.(;path="lib/$(path)"), readdir("./lib")));
Pkg.test(coverage=true)
catch err
err isa Pkg.Resolve.ResolverError || rethrow()
@info "Not compatible with this release. No problem." exception=err
exit(0)
end
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v6
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: lcov.info
fail_ci_if_error: false
disable_safe_directory: true
3 changes: 3 additions & 0 deletions .github/workflows/SublibraryCI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,7 @@ concurrency:
jobs:
sublibraries:
uses: "SciML/.github/.github/workflows/sublibrary-project-tests.yml@v1"
with:
group-env-name: DIFFEQPROBLEMLIBRARY_TEST_GROUP
check-bounds: auto
secrets: "inherit"
33 changes: 22 additions & 11 deletions .github/workflows/TagBot.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,26 @@
name: TagBot
name: "TagBot"
on:
issue_comment:
types:
- created
types: [created]
workflow_dispatch:
jobs:
TagBot:
if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'
runs-on: ubuntu-latest
steps:
- uses: JuliaRegistries/TagBot@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
ssh: ${{ secrets.DOCUMENTER_KEY }}
tagbot:
uses: "SciML/.github/.github/workflows/tagbot.yml@v1"
secrets: "inherit"

tagbot-subpackages:
strategy:
fail-fast: false
matrix:
subdir:
- "lib/BVProblemLibrary"
- "lib/DAEProblemLibrary"
- "lib/DDEProblemLibrary"
- "lib/JumpProblemLibrary"
- "lib/NonlinearProblemLibrary"
- "lib/ODEProblemLibrary"
- "lib/SDEProblemLibrary"
uses: "SciML/.github/.github/workflows/tagbot.yml@v1"
with:
subdir: "${{ matrix.subdir }}"
secrets: "inherit"
16 changes: 14 additions & 2 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,31 @@ NonlinearProblemLibrary = "b7050fa9-e91f-4b37-bcee-a89a063da141"
ODEProblemLibrary = "fdc4e326-1af4-4b90-96e7-779fcce2daa5"
SDEProblemLibrary = "c72e72a9-a271-4b2b-8966-303ed956772e"

[sources]
BVProblemLibrary = {path = "lib/BVProblemLibrary"}
DAEProblemLibrary = {path = "lib/DAEProblemLibrary"}
DDEProblemLibrary = {path = "lib/DDEProblemLibrary"}
JumpProblemLibrary = {path = "lib/JumpProblemLibrary"}
NonlinearProblemLibrary = {path = "lib/NonlinearProblemLibrary"}
ODEProblemLibrary = {path = "lib/ODEProblemLibrary"}
SDEProblemLibrary = {path = "lib/SDEProblemLibrary"}

[compat]
BVProblemLibrary = "0.1"
DAEProblemLibrary = "0.1"
DDEProblemLibrary = "0.1"
JumpProblemLibrary = "1, 2.0"
NonlinearProblemLibrary = "0.1"
ODEProblemLibrary = "1"
SafeTestsets = "0.1"
SDEProblemLibrary = "1"
Test = "1.10"
julia = "1.10"

[extras]
ExplicitImports = "7d51a73a-1435-4ff3-83d9-f097790105c7"
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["ExplicitImports", "Test"]
test = ["Pkg", "SafeTestsets", "Test"]
File renamed without changes.
9 changes: 6 additions & 3 deletions lib/BVProblemLibrary/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,17 @@ Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a"
SpecialFunctions = "276daf66-3868-5448-9aa4-cd146d93841b"

[compat]
Aqua = "0.8"
DiffEqBase = "6, 7"
Markdown = "1.10"
SafeTestsets = "0.1"
SpecialFunctions = "2.3"
Test = "1.10"
julia = "1.10"

[extras]
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["Aqua"]
test = ["Pkg", "SafeTestsets", "Test"]
10 changes: 10 additions & 0 deletions lib/BVProblemLibrary/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# BVProblemLibrary.jl

[![Join the chat at https://julialang.zulipchat.com #sciml-bridged](https://img.shields.io/static/v1?label=Zulip&message=chat&color=9558b2&labelColor=389826)](https://julialang.zulipchat.com/#narrow/stream/279055-sciml-bridged)
[![Global Docs](https://img.shields.io/badge/docs-SciML-blue.svg)](https://docs.sciml.ai/DiffEqDocs/stable/)

[![ColPrac: Contributor's Guide on Collaborative Practices for Community Packages](https://img.shields.io/badge/ColPrac-Contributor%27s%20Guide-blueviolet)](https://github.com/SciML/ColPrac)
[![SciML Code Style](https://img.shields.io/static/v1?label=code%20style&message=SciML&color=9558b2&labelColor=389826)](https://github.com/SciML/SciMLStyle)

BVProblemLibrary.jl is a component of the [DiffEqProblemLibrary.jl](https://github.com/SciML/DiffEqProblemLibrary.jl) monorepo. A library of premade boundary value problems (BVProblems) for testing and benchmarking boundary value differential equation solvers.
While completely independent and usable on its own, users wanting the full set of premade differential equation problems should use [DiffEqProblemLibrary.jl](https://github.com/SciML/DiffEqProblemLibrary.jl).
13 changes: 13 additions & 0 deletions lib/BVProblemLibrary/test/qa/Project.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[deps]
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
BVProblemLibrary = "ded0fc24-dfea-4565-b1d9-79c027d14d84"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[sources]
BVProblemLibrary = {path = "../.."}

[compat]
Aqua = "0.8"
BVProblemLibrary = "0.1"
Test = "1.10"
julia = "1.10"
6 changes: 6 additions & 0 deletions lib/BVProblemLibrary/test/qa/qa.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
using BVProblemLibrary
using Aqua

@testset "Aqua" begin
Aqua.test_all(BVProblemLibrary; ambiguities = false)
end
28 changes: 22 additions & 6 deletions lib/BVProblemLibrary/test/runtests.jl
Original file line number Diff line number Diff line change
@@ -1,8 +1,24 @@
# The test is simply that all of the examples build!
using Pkg
using BVProblemLibrary
using SafeTestsets, Test

# Check that there are no undefined exports, stale dependencies, etc.
# Ambiguity checks are disabled since tests fail due to ambiguities
# in dependencies
using Aqua
Aqua.test_all(BVProblemLibrary; ambiguities = false)
const TEST_GROUP = get(ENV, "DIFFEQPROBLEMLIBRARY_TEST_GROUP", "All")

function activate_qa_env()
Pkg.activate(joinpath(@__DIR__, "qa"))
return Pkg.instantiate()
end

# The Core test is simply that all of the examples build (load the module).
if TEST_GROUP == "Core" || TEST_GROUP == "All"
@time @testset "Load Tests" begin
@test BVProblemLibrary isa Module
end
end

# Quality assurance: no undefined exports, stale dependencies, etc.
# Ambiguity checks are disabled since tests fail due to ambiguities in dependencies.
if TEST_GROUP == "QA" || TEST_GROUP == "All"
activate_qa_env()
@time @safetestset "Aqua" include("qa/qa.jl")
end
5 changes: 5 additions & 0 deletions lib/BVProblemLibrary/test/test_groups.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[Core]
versions = ["lts", "1", "pre"]

[QA]
versions = ["lts", "1"]
File renamed without changes.
9 changes: 6 additions & 3 deletions lib/DAEProblemLibrary/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,16 @@ DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e"
Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a"

[compat]
Aqua = "0.8"
DiffEqBase = "6, 7"
Markdown = "1.10"
SafeTestsets = "0.1"
Test = "1.10"
julia = "1.10"

[extras]
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["Aqua"]
test = ["Pkg", "SafeTestsets", "Test"]
10 changes: 10 additions & 0 deletions lib/DAEProblemLibrary/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# DAEProblemLibrary.jl

[![Join the chat at https://julialang.zulipchat.com #sciml-bridged](https://img.shields.io/static/v1?label=Zulip&message=chat&color=9558b2&labelColor=389826)](https://julialang.zulipchat.com/#narrow/stream/279055-sciml-bridged)
[![Global Docs](https://img.shields.io/badge/docs-SciML-blue.svg)](https://docs.sciml.ai/DiffEqDocs/stable/)

[![ColPrac: Contributor's Guide on Collaborative Practices for Community Packages](https://img.shields.io/badge/ColPrac-Contributor%27s%20Guide-blueviolet)](https://github.com/SciML/ColPrac)
[![SciML Code Style](https://img.shields.io/static/v1?label=code%20style&message=SciML&color=9558b2&labelColor=389826)](https://github.com/SciML/SciMLStyle)

DAEProblemLibrary.jl is a component of the [DiffEqProblemLibrary.jl](https://github.com/SciML/DiffEqProblemLibrary.jl) monorepo. A library of premade differential-algebraic equation problems (DAEProblems) for testing and benchmarking DAE solvers.
While completely independent and usable on its own, users wanting the full set of premade differential equation problems should use [DiffEqProblemLibrary.jl](https://github.com/SciML/DiffEqProblemLibrary.jl).
13 changes: 13 additions & 0 deletions lib/DAEProblemLibrary/test/qa/Project.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[deps]
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
DAEProblemLibrary = "dfb8ca35-80a1-48ba-a605-84916a45b4f8"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[sources]
DAEProblemLibrary = {path = "../.."}

[compat]
Aqua = "0.8"
DAEProblemLibrary = "0.1"
Test = "1.10"
julia = "1.10"
6 changes: 6 additions & 0 deletions lib/DAEProblemLibrary/test/qa/qa.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
using DAEProblemLibrary
using Aqua

@testset "Aqua" begin
Aqua.test_all(DAEProblemLibrary; ambiguities = false)
end
28 changes: 22 additions & 6 deletions lib/DAEProblemLibrary/test/runtests.jl
Original file line number Diff line number Diff line change
@@ -1,8 +1,24 @@
# The test is simply that all of the examples build!
using Pkg
using DAEProblemLibrary
using SafeTestsets, Test

# Check that there are no undefined exports, stale dependencies, etc.
# Ambiguity checks are disabled since tests fail due to ambiguities
# in dependencies
using Aqua
Aqua.test_all(DAEProblemLibrary; ambiguities = false)
const TEST_GROUP = get(ENV, "DIFFEQPROBLEMLIBRARY_TEST_GROUP", "All")

function activate_qa_env()
Pkg.activate(joinpath(@__DIR__, "qa"))
return Pkg.instantiate()
end

# The Core test is simply that all of the examples build (load the module).
if TEST_GROUP == "Core" || TEST_GROUP == "All"
@time @testset "Load Tests" begin
@test DAEProblemLibrary isa Module
end
end

# Quality assurance: no undefined exports, stale dependencies, etc.
# Ambiguity checks are disabled since tests fail due to ambiguities in dependencies.
if TEST_GROUP == "QA" || TEST_GROUP == "All"
activate_qa_env()
@time @safetestset "Aqua" include("qa/qa.jl")
end
5 changes: 5 additions & 0 deletions lib/DAEProblemLibrary/test/test_groups.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[Core]
versions = ["lts", "1", "pre"]

[QA]
versions = ["lts", "1"]
File renamed without changes.
9 changes: 6 additions & 3 deletions lib/DDEProblemLibrary/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,15 @@ version = "0.1.5"
DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e"

[compat]
Aqua = "0.8"
DiffEqBase = "6, 7"
SafeTestsets = "0.1"
Test = "1.10"
julia = "1.10"

[extras]
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["Aqua"]
test = ["Pkg", "SafeTestsets", "Test"]
10 changes: 10 additions & 0 deletions lib/DDEProblemLibrary/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# DDEProblemLibrary.jl

[![Join the chat at https://julialang.zulipchat.com #sciml-bridged](https://img.shields.io/static/v1?label=Zulip&message=chat&color=9558b2&labelColor=389826)](https://julialang.zulipchat.com/#narrow/stream/279055-sciml-bridged)
[![Global Docs](https://img.shields.io/badge/docs-SciML-blue.svg)](https://docs.sciml.ai/DiffEqDocs/stable/)

[![ColPrac: Contributor's Guide on Collaborative Practices for Community Packages](https://img.shields.io/badge/ColPrac-Contributor%27s%20Guide-blueviolet)](https://github.com/SciML/ColPrac)
[![SciML Code Style](https://img.shields.io/static/v1?label=code%20style&message=SciML&color=9558b2&labelColor=389826)](https://github.com/SciML/SciMLStyle)

DDEProblemLibrary.jl is a component of the [DiffEqProblemLibrary.jl](https://github.com/SciML/DiffEqProblemLibrary.jl) monorepo. A library of premade delay differential equation problems (DDEProblems) for testing and benchmarking delay differential equation solvers.
While completely independent and usable on its own, users wanting the full set of premade differential equation problems should use [DiffEqProblemLibrary.jl](https://github.com/SciML/DiffEqProblemLibrary.jl).
Loading
Loading