Skip to content

tests.yml: add num-threads input + sublibrary (project) support - #43

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:tests-yml-sublib-and-threads
Jun 4, 2026
Merged

ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:tests-yml-sublib-and-threads

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

Note

Please ignore until reviewed by @ChrisRackauckas. Draft.

Two backward-compatible additions to tests.yml so the last repos keeping bespoke test CI can move onto the reusable workflow:

  • num-threads input → sets JULIA_NUM_THREADS on the runtest step (default "1" = unchanged). Unblocks RecursiveArrayTools.jl, whose bespoke Tests.yml runs with 2 threads to cover the threaded regression path (issue #570) — tests.yml had no way to express that.
  • project passed to julia-buildpkg + an in-repo [sources] develop step, so the workflow can build+test a lib/* sublibrary (project: lib/Foo). The develop step only runs for non-root projects on Julia < 1.11 (≥1.11 auto-resolves [sources]); skipped for every existing caller. Unblocks Corleone.jl#72 (CorleoneOED sublibrary) without reverting to bespoke CI.

All defaults preserve current behavior for the ~130 existing consumers.

Follow-ups once on v1: convert RecursiveArrayTools to a tests.yml@v1 caller (num-threads: 2), and rework Corleone#72 to a matrixed {group, project} caller.

🤖 Generated with Claude Code

Two backward-compatible additions so a couple of repos that currently keep
bespoke test CI can use the centralized workflow:

- num-threads: sets JULIA_NUM_THREADS on the runtest step (default "1", i.e.
  unchanged). Lets repos that need multi-threaded test coverage (e.g.
  RecursiveArrayTools' issue #570 threaded regression tests) run on the
  reusable workflow instead of a bespoke matrix.
- Pass `project` to julia-buildpkg, and add an in-repo [sources] develop
  step, so the workflow can build+test a lib/* sublibrary package (project:
  lib/Foo). The develop step only runs for non-root projects on Julia < 1.11
  (>= 1.11 auto-resolves [sources]); it is skipped for every existing caller
  (project defaults to "@.").

All defaults preserve current behavior for the ~130 existing consumers.

Co-Authored-By: Chris Rackauckas <[email protected]>
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
@ChrisRackauckas
ChrisRackauckas marked this pull request as ready for review June 4, 2026 16:03
@ChrisRackauckas
ChrisRackauckas merged commit 39eceaa into SciML:master Jun 4, 2026
ChrisRackauckas-Claude pushed a commit to ChrisRackauckas-Claude/Corleone.jl that referenced this pull request Jun 4, 2026
…verage)

Instead of reverting to bespoke CI, use a matrixed tests.yml@v1 caller now
that the reusable workflow supports per-job `project` + in-repo [sources]
develop (SciML/.github#43). The Corleone group tests the root (@.) and the
CorleoneOED group tests lib/CorleoneOED (with the parent dev'd from its
[sources]); both run unconditionally on every push/PR, restoring the
coverage SciML#71 dropped — without a bespoke carve-out.

Co-Authored-By: Chris Rackauckas <[email protected]>
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
ChrisRackauckas added a commit to SciML/RecursiveArrayTools.jl that referenced this pull request Jun 4, 2026
Convert the bespoke Tests.yml to a tests.yml@v1 caller now that the
reusable workflow supports `num-threads` (SciML/.github#43). Preserves the
exact version x group matrix and JULIA_NUM_THREADS=2 (needed so the
threaded regression tests for #570 actually exercise the multi-thread path)
and coverage-directories src,ext.

Co-Authored-By: Chris Rackauckas <[email protected]>
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
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