Skip to content

Add downgrade CI for all sublibraries - #364

Merged
ChrisRackauckas merged 2 commits into
masterfrom
add-sublibrary-downgrade-ci
Jul 30, 2025
Merged

Add downgrade CI for all sublibraries#364
ChrisRackauckas merged 2 commits into
masterfrom
add-sublibrary-downgrade-ci

Conversation

@ChrisRackauckas

Copy link
Copy Markdown
Member

Summary

  • Adds comprehensive downgrade CI testing for all sublibraries
  • Tests the main package (.) and all 6 sublibraries in
  • Each sublibrary is tested individually with downgraded dependencies
  • Uses julia-downgrade-compat@v2 with ALLOW_RERESOLVE: false

Sublibraries Covered

Main package:

6 Sublibraries:

Benefits

  • Ensures compatibility across the entire package ecosystem
  • Catches dependency issues early for each sublibrary
  • Provides comprehensive downgrade testing coverage
  • Maintains lean testing with focused sublibrary-specific tests

Test plan

  • Verify workflow triggers correctly on PRs and pushes
  • Confirm each sublibrary builds and tests successfully
  • Check that downgrade testing works for all projects
  • Validate matrix strategy runs all combinations

🤖 Generated with Claude Code

This adds a comprehensive downgrade CI workflow that tests compatibility
for the main package and all 6 sublibraries in the lib/ directory:

Main package: .
Sublibraries: BoundaryValueDiffEqAscher, BoundaryValueDiffEqCore, BoundaryValueDiffEqFIRK, BoundaryValueDiffEqMIRK, BoundaryValueDiffEqMIRKN, BoundaryValueDiffEqShooting

Each sublibrary is tested individually with downgraded dependencies
to ensure compatibility across the ecosystem.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jul 30, 2025

Copy link
Copy Markdown
Contributor

Benchmark Results

Click to check benchmark results
master 36d9c95... master / 36d9c95...
Simple Pendulum/IIP/BoundaryValueDiffEqMIRK.MIRK2() 0.6 ± 0.02 s 0.592 ± 0.017 s 1.01 ± 0.044
Simple Pendulum/IIP/BoundaryValueDiffEqMIRK.MIRK3() 13.7 ± 0.57 ms 13.7 ± 0.52 ms 1 ± 0.056
Simple Pendulum/IIP/BoundaryValueDiffEqMIRK.MIRK4() 3.16 ± 0.17 ms 3.13 ± 0.22 ms 1.01 ± 0.089
Simple Pendulum/IIP/BoundaryValueDiffEqMIRK.MIRK5() 9.35 ± 1.2 ms 9.22 ± 1.3 ms 1.01 ± 0.2
Simple Pendulum/IIP/BoundaryValueDiffEqMIRK.MIRK6() 1.63 ± 0.3 ms 1.62 ± 0.28 ms 1.01 ± 0.26
Simple Pendulum/IIP/MultipleShooting(10, Tsit5; grid_coarsening = false) 1.87 ± 0.64 ms 1.83 ± 0.64 ms 1.02 ± 0.5
Simple Pendulum/IIP/MultipleShooting(10, Tsit5; grid_coarsening = true) 3.14 ± 0.98 ms 3.09 ± 0.98 ms 1.01 ± 0.45
Simple Pendulum/IIP/MultipleShooting(100, Tsit5; grid_coarsening = false) 0.0668 ± 0.007 s 0.0672 ± 0.0067 s 0.993 ± 0.14
Simple Pendulum/IIP/MultipleShooting(100, Tsit5; grid_coarsening = true) 0.0816 ± 0.012 s 0.0789 ± 0.014 s 1.03 ± 0.24
Simple Pendulum/IIP/Shooting(Tsit5()) 0.239 ± 0.075 ms 0.236 ± 0.076 ms 1.01 ± 0.46
Simple Pendulum/OOP/BoundaryValueDiffEqMIRK.MIRK2() 0.761 ± 0.012 s 0.746 ± 0.011 s 1.02 ± 0.022
Simple Pendulum/OOP/BoundaryValueDiffEqMIRK.MIRK3() 16.7 ± 6.1 ms 16.5 ± 4.8 ms 1.02 ± 0.48
Simple Pendulum/OOP/BoundaryValueDiffEqMIRK.MIRK4() 3.64 ± 0.18 ms 3.58 ± 0.15 ms 1.02 ± 0.065
Simple Pendulum/OOP/BoundaryValueDiffEqMIRK.MIRK5() 10.9 ± 1.2 ms 10.7 ± 0.66 ms 1.03 ± 0.13
Simple Pendulum/OOP/BoundaryValueDiffEqMIRK.MIRK6() 1.88 ± 0.14 ms 1.87 ± 0.13 ms 1 ± 0.1
Simple Pendulum/OOP/MultipleShooting(10, Tsit5; grid_coarsening = false) 3.62 ± 2.9 ms 3.48 ± 2.9 ms 1.04 ± 1.2
Simple Pendulum/OOP/MultipleShooting(10, Tsit5; grid_coarsening = true) 6.1 ± 4.9 ms 5.91 ± 4.9 ms 1.03 ± 1.2
Simple Pendulum/OOP/MultipleShooting(100, Tsit5; grid_coarsening = false) 0.121 ± 0.0073 s 0.116 ± 0.0034 s 1.04 ± 0.07
Simple Pendulum/OOP/MultipleShooting(100, Tsit5; grid_coarsening = true) 0.147 ± 0.0061 s 0.139 ± 0.0062 s 1.05 ± 0.064
Simple Pendulum/OOP/Shooting(Tsit5()) 0.635 ± 0.045 ms 0.631 ± 0.038 ms 1.01 ± 0.094
time_to_load 5.42 ± 0.049 s 5.33 ± 0.013 s 1.02 ± 0.0096
### Benchmark Plots A plot of the benchmark results has been uploaded as an artifact to the workflow run for this PR. Go to "Actions"->"Benchmark a pull request"->[the most recent run]->"Artifacts" (at the bottom).

Comment thread .github/workflows/DowngradeSublibraries.yml Outdated
@ChrisRackauckas
ChrisRackauckas merged commit 6a96dd6 into master Jul 30, 2025
6 of 11 checks passed
@ChrisRackauckas
ChrisRackauckas deleted the add-sublibrary-downgrade-ci branch July 30, 2025 10:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants