Skip to content

ci: standardize linting, import hygiene, and CI workflows - #2

Merged
adrhill merged 9 commits into
mainfrom
ah/ci-cleanup
Jul 13, 2026
Merged

ci: standardize linting, import hygiene, and CI workflows#2
adrhill merged 9 commits into
mainfrom
ah/ci-cleanup

Conversation

@adrhill

@adrhill adrhill commented Jul 13, 2026

Copy link
Copy Markdown
Member
  • Move the Aqua.jl and JET.jl checks into a self-contained test/linting.jl (JET runs on Julia v1.12+ only).
  • Add ExplicitImports.jl import-hygiene checks and drop unused imports.
  • Add a package-scoped Aqua.test_ambiguities check alongside Aqua.test_all(…; ambiguities = false).
  • Standardize the GitHub Actions workflow: pin actions to their latest majors, restrict the Julia matrix to 1 and lts, and drop the os/arch matrix (single ubuntu-latest runner).
  • Add a pre-commit config (Runic, typos, whitespace/EOF hygiene) and apply the resulting fixes.

🤖 Generated with Claude Code

- Move the Aqua.jl and JET.jl checks from `test/runtests.jl` into a self-contained `test/linting.jl`.
- Run the JET testset only on Julia v1.12+ (JET v0.11 supports v1.12+ only).
- Run Aqua with `ambiguities = false`.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@adrhill adrhill changed the title Standardize linting into shared test/linting.jl ci: move Aqua and JET checks into shared linting.jl Jul 13, 2026
adrhill and others added 5 commits July 13, 2026 21:27
Add `Aqua.test_ambiguities(<Module>)` alongside the existing
`Aqua.test_all(...; ambiguities = false)`. test_all's built-in check
broadens to [Module, Core, Base] and trips on dependency-owned
ambiguities we can't fix; the scoped call only reports ambiguities where
at least one conflicting method is owned by the package itself.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Pin all GitHub Actions to their latest major moving tag: checkout@v7,
setup-julia@v3, cache@v3, codecov-action@v7 (julia-actions/*, TagBot and
runic-action stay @v1). The codecov bump is input-safe as every step
already uses the post-v4 `files:` schema.

Test only on Julia '1' and 'lts' on a single ubuntu-latest runner: drop
'pre'/'nightly'/pinned point releases and remove the os/arch matrix
dimensions and hardcoded arch inputs.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@adrhill adrhill changed the title ci: move Aqua and JET checks into shared linting.jl ci: standardize linting, import hygiene, and CI workflows Jul 13, 2026
adrhill and others added 3 commits July 13, 2026 22:35
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ExplicitImports' `check_all_qualified_accesses_via_owners` failed on
Julia LTS because `trainable` was accessed as `Flux.trainable`, but the
name is owned by Optimisers (Flux only re-exports it). Access it through
`Optimisers.trainable` instead — an identical binding across the whole
Flux 0.14–0.16 compat range — and add Optimisers to deps/compat.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@adrhill
adrhill merged commit f2a5486 into main Jul 13, 2026
3 checks passed
@adrhill
adrhill deleted the ah/ci-cleanup branch July 13, 2026 21:50
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.

1 participant