Skip to content

Add downstream testing workflow for DI, Optimization, and Turing#138

Closed
ChrisRackauckas-Claude wants to merge 1 commit intoSciML:mainfrom
ChrisRackauckas-Claude:add-downstream-tests-97
Closed

Add downstream testing workflow for DI, Optimization, and Turing#138
ChrisRackauckas-Claude wants to merge 1 commit intoSciML:mainfrom
ChrisRackauckas-Claude:add-downstream-tests-97

Conversation

@ChrisRackauckas-Claude
Copy link
Copy Markdown
Contributor

Summary

This PR addresses #97 by adding a downstream testing workflow that runs tests for the biggest downstream users of ADTypes:

  • DifferentiationInterface (JuliaDiff/DifferentiationInterface.jl) - uses ADTypes most thoroughly
  • Optimization.jl (SciML/Optimization.jl) - key SciML package
  • Turing.jl (TuringLang/Turing.jl) - major user from the TuringLang ecosystem

The workflow follows the same pattern as SciMLSensitivity.jl's downstream testing:

  • Runs on push to main and on PRs
  • Clones the downstream package
  • Installs the current version of ADTypes via Pkg.develop
  • Runs the downstream test suite
  • Gracefully handles SemVer incompatibilities (exits with success if dependency resolution fails)

This strengthens the testing as discussed in #95, allowing maintainers to trust that changes won't break major downstream users without needing manual verification.

Test Plan

  • CI workflow runs successfully
  • DifferentiationInterface tests pass
  • Optimization.jl tests pass
  • Turing.jl tests pass

cc @ChrisRackauckas @gdalle

🤖 Generated with Claude Code

This addresses issue SciML#97 by adding CI tests for the biggest downstream
users of ADTypes:

- DifferentiationInterface (JuliaDiff/DifferentiationInterface.jl)
- Optimization.jl (SciML/Optimization.jl)
- Turing.jl (TuringLang/Turing.jl)

The workflow runs on push to main and on pull requests, using the same
pattern as SciMLSensitivity's downstream testing. If a dependency
resolution fails due to SemVer incompatibility, it gracefully exits as
success since this indicates an intentional breaking change.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@gdalle
Copy link
Copy Markdown
Collaborator

gdalle commented Jan 1, 2026

What exactly do we want to test from DI here? Because the full test suite is ginormous, but it is pretty much the only way to test every struct defined by ADTypes

@ChrisRackauckas
Copy link
Copy Markdown
Member

That's the bot.

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.

4 participants