Skip to content

Uniformize OUQ onto centralized monorepo CI + lib/ structure#10

Merged
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:restructure-lib-and-centralized-ci
Jun 7, 2026
Merged

Uniformize OUQ onto centralized monorepo CI + lib/ structure#10
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:restructure-lib-and-centralized-ci

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Ignore until reviewed by @ChrisRackauckas.

Restructures OptimalUncertaintyQuantification.jl into the standard SciML monorepo layout (sublibraries under lib/) and uniformizes its CI onto the centralized reusable sublibrary workflows. Builds on the now-merged #8 (Julia 1.10 fixes, [sources], verified [compat] floors), all of which are already in main and preserved here.

lib/ restructure (history-preserving git mv)

  • CanonicalMoments.jllib/CanonicalMoments
  • DiscreteMeasures.jllib/DiscreteMeasures
  • OUQBase.jllib/OUQBase

Path updates:

  • root [workspace] projectslib/CanonicalMoments, lib/DiscreteMeasures, lib/OUQBase
  • lib/OUQBase [sources]../CanonicalMoments, ../DiscreteMeasures
  • lib/CanonicalMoments [sources]../DiscreteMeasures
  • lib/CanonicalMoments/examples [sources] sibling paths
  • .github/dependabot.yml julia directories → lib/*

The root src/OptimalUncertaintyQuantification.jl is preserved as-is.

Centralized CI (auto-discovers lib/*)

  • Tests.ymlSublibraryCI.yml (sublibrary-project-tests.yml@v1)
  • Downgrade.ymlDowngradeSublibraries.yml (sublibrary-downgrade.yml@v1, julia-version: 1.10, skip: Pkg,TOML, strict allow-reresolve: false)
  • added TagBot.yml (JuliaRegistries/TagBot, subdir matrix over the three lib/*)
  • FormatCheck.yml (runic.yml@v1) and SpellCheck.yml (spellcheck.yml@v1) were already centralized callers; left unchanged.

Removed the bespoke per-submodule test matrix and the upload-manifest job.

Verification (local, Julia 1.10.11, isolated depot)

  • Root workspace and each lib/X instantiate/resolve with the new lib/ [sources] paths.
  • Full strict downgrade run per sublibrary, mirroring sublibrary-downgrade.yml exactly (julia-downgrade-compatjulia-buildpkgPkg.test(allow_reresolve=false)):
    • DiscreteMeasures: PASS (45 tests)
    • CanonicalMoments: PASS (271 tests) — confirms ../DiscreteMeasures lib/ sibling resolves
    • OUQBase: PASS — confirms ../CanonicalMoments + ../DiscreteMeasures lib/ siblings resolve
  • actionlint passes on all five workflow files.

🤖 Generated with Claude Code

Move the three submodules under lib/ (SciML monorepo convention, matching
e.g. BoundaryValueDiffEq.jl):

  CanonicalMoments.jl -> lib/CanonicalMoments
  DiscreteMeasures.jl -> lib/DiscreteMeasures
  OUQBase.jl          -> lib/OUQBase

Update all relative paths accordingly:
- root [workspace] projects -> lib/*
- lib/OUQBase [sources]: ../CanonicalMoments, ../DiscreteMeasures
- lib/CanonicalMoments [sources]: ../DiscreteMeasures
- lib/CanonicalMoments/examples [sources] sibling paths
- .github/dependabot.yml julia directories

Uniformize CI onto the centralized SciML reusable sublibrary workflows
(auto-discovering lib/*), replacing the bespoke per-submodule matrices:
- Tests.yml -> SublibraryCI.yml (sublibrary-project-tests.yml@v1)
- Downgrade.yml -> DowngradeSublibraries.yml (sublibrary-downgrade.yml@v1,
  julia-version 1.10, skip Pkg,TOML, strict allow-reresolve false)
- add TagBot.yml (JuliaRegistries/TagBot, subdir matrix over lib/*)

FormatCheck.yml (runic.yml@v1) and SpellCheck.yml (spellcheck.yml@v1) are
already centralized callers and are left unchanged.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ChrisRackauckas ChrisRackauckas marked this pull request as ready for review June 7, 2026 10:30
@ChrisRackauckas ChrisRackauckas merged commit dba27e9 into SciML:main Jun 7, 2026
13 of 22 checks passed
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