Skip to content

Add QA (Aqua/JET) groups to sublibraries (SciML/.github#77)#614

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:sublib-qa
Jun 15, 2026
Merged

Add QA (Aqua/JET) groups to sublibraries (SciML/.github#77)#614
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:sublib-qa

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Part of SciML/.github#77 — canonical QA (Aqua + JET) groups for monorepo sublibraries.

Units in this batch

  • lib/RecursiveArrayToolsArrayPartitionAnyAll
  • lib/RecursiveArrayToolsRaggedArrays
  • lib/RecursiveArrayToolsShorthandConstructors

What each unit gets

  • test/qa/Project.toml: isolated QA env with Aqua + JET + Test and the sublibrary via [sources] path (compat: julia 1.10, Aqua 0.8, JET 0.9/0.10/0.11, Test 1).
  • test/qa/qa.jl: Aqua.test_all + JET.test_package(...; target_defined_modules = true).
  • QA dispatch in test/runtests.jl gated on RECURSIVEARRAYTOOLS_TEST_GROUP == "QA", activating the qa env with the same Julia < 1.11 [sources]-develop fallback the root QA env uses (develops both the sublibrary and the umbrella root so LTS tests PR-branch code).
  • Pkg added to [extras]/[targets] with a [compat] entry; missing compat entries for existing extras (Test, SparseArrays) added so Aqua.test_deps_compat stays green.
  • [QA] group in test/test_groups.toml with versions = ["lts", "1"] (no pre, ubuntu-only), picked up by the centralized sublibrary-project-tests.yml matrix.

Verification was static only (TOML parse, Meta.parseall on runtests/qa.jl, [sources] path resolution, extras-compat coverage); QA findings will be triaged from CI per the established mark-broken+issue policy.

Further batches may be pushed to this branch. Ignore until reviewed by @ChrisRackauckas.

🤖 Generated with Claude Code

Adds a canonical QA test group to each sublibrary:
RecursiveArrayToolsArrayPartitionAnyAll, RecursiveArrayToolsRaggedArrays,
RecursiveArrayToolsShorthandConstructors.

Each unit gets test/qa/{Project.toml,qa.jl} running Aqua.test_all +
JET.test_package(target_defined_modules=true), a QA dispatch in
test/runtests.jl gated on RECURSIVEARRAYTOOLS_TEST_GROUP == "QA" (with
the Julia < 1.11 [sources] develop fallback mirroring the root QA env),
Pkg wired into [extras]/[targets] with compat so Aqua deps_compat stays
green, and a [QA] entry (versions = ["lts", "1"]) in test_groups.toml.

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 15, 2026 04:57
@ChrisRackauckas ChrisRackauckas merged commit f3b56b5 into SciML:master Jun 15, 2026
34 of 55 checks passed
ChrisRackauckas added a commit that referenced this pull request Jun 15, 2026
The ArrayPartitionAnyAll and ShorthandConstructors sublibrary QA groups
(added in #614) fail Aqua's piracy check because they extend Base
functions on RecursiveArrayTools-owned types:

  * ArrayPartitionAnyAll: any/all on ArrayPartition
  * ShorthandConstructors: getindex(::Type{VA}, ...), getindex(::Type{AP}, ...)

These are intentional methods on types the sublibraries hard-depend on, not
type piracy. Pass them via Aqua.test_all(...; piracies = (; treat_as_own = ...))
so the owned-type extensions are not flagged.

Co-authored-by: ChrisRackauckas-Claude <accounts@chrisrackauckas.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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