Repository navigation
Modernize CI setup - #715
Merged
Merged
Conversation
- Replace CompatHelper with Dependabot for Julia packages (root and docs) - Add spell check workflow using typos - Test lts and 1 on Linux, macOS (native aarch64) and Windows; run pre on Linux only and allow it to fail; remove separate JuliaNightly workflow - Build docs on Julia 1 using [sources] instead of Pkg.develop - Downgrade: use lts, pass downgrade mode, add cache, drop unused settings - Add permissions for julia-actions/cache where missing Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #715 +/- ##
=======================================
Coverage 93.39% 93.39%
=======================================
Files 15 15
Lines 999 999
=======================================
Hits 933 933
Misses 66 66 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Apply JuliaFormatter suggestions, fix typos missed by typos, and rename the NoTangent test variable to `no_tangent` (`nt` usually denotes a NamedTuple in this codebase). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffractor only runs on Julia nightly and has been failing for a long time because its dependency Cthulhu does not precompile there; its last code change was in June 2025. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
devmotion
marked this pull request as ready for review
October 16, 2026 13:47
2 tasks done
devmotion
added a commit
to JuliaDiff/ChainRules.jl
that referenced
this pull request
Oct 19, 2026
Bring the CI setup in line with ChainRulesCore (JuliaDiff/ChainRulesCore.jl#715): - Replace CompatHelper with Dependabot's `julia` ecosystem - Add a `typos` spell check workflow and fix the misspellings it finds - Test `pre` on Linux with allowed failures instead of a separate JuliaNightly workflow - Add cache and permissions to IntegrationTest and test downstream packages in a temporary environment - Pin `setup-julia` instead of using `@latest` and fix the VersionVigilante labeller for `actions/github-script` v8 Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
devmotion
added a commit
to JuliaDiff/ChainRulesTestUtils.jl
that referenced
this pull request
Oct 20, 2026
* Fix typos
Fix misspellings in README, docstrings, comments and tests found by
typos, plus two it misses ("based ion", "a arbitrary").
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Modernize CI setup
Bring the CI setup in line with ChainRulesCore (JuliaDiff/ChainRulesCore.jl#715)
and ChainRules (JuliaDiff/ChainRules.jl#850):
- Replace CompatHelper with Dependabot's `julia` ecosystem
- Add a `typos` spell check workflow
- Test `pre` on Linux with allowed failures instead of a separate
JuliaNightly workflow, and upload coverage from the CI jobs
- Build the docs in the CI workflow on Julia 1; the separate Documenter
workflow only ran on pushes to the non-existent `master` branch
- Run IntegrationTest on `main`, add cache and permissions, and test
downstream packages in a temporary environment
- Add concurrency and permissions everywhere and update action versions
(no more `@latest`)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Modernize Julia setup
Bring the package setup in line with ChainRulesCore (JuliaDiff/ChainRulesCore.jl#717):
- Require Julia 1.10 (the current LTS) and drop the obsolete version
checks in the tests
- Remove the Compat dependency (`only` is in Base since Julia 1.4)
- Add compat entries for the stdlibs
- Move the test dependencies to test/Project.toml and make the test and
docs environments part of a workspace, using [sources] instead of
`Pkg.develop` and a checked-in docs/Manifest.toml
- Update Documenter to v1 and fix the doctests, which were silently
failing with Documenter 0.27: ignore `Test Summary` tables (they
differ between `makedocs` and `doctest` and across Julia versions) and
don't run the deliberately failing `test_rrule` example, whose output
is random
- Set `devbranch = "main"` in `deploydocs`
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Only import `Test.eval_test` on Julia < 1.13
Since JuliaLang/julia@d934b03 (1.13.0-DEV.300) `Test.eval_test` is replaced
by `eval_test_comparison` and `eval_test_function`, so importing it
unconditionally warns that the imported binding was undeclared.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings the CI setup in line with current Julia ecosystem practice.
CI changes
juliaecosystem entry for/and/docs, grouping package updates into one weekly PR.CompatHelper.ymlis removed.SpellCheck.ymlworkflow runningcrate-ci/typos.ltsand1on Linux, macOS and Windows witharch: default. Onmacos-latest(Apple Silicon) this runs nativeaarch64binaries. The 32-bit x86 job is unchanged.prenow runs only on Linux and is allowed to fail. The separateJuliaNightly.ymlworkflow is removed.1and install dependencies withPkg.instantiate(), relying on[sources]indocs/Project.tomlinstead ofPkg.develop. Addsactions: writesojulia-actions/cachecan prune old caches.lts, actually passmodetojulia-downgrade-compat, and add the cache, permissions and concurrency settings. Removes the unusedgroup/GROUPmatrix entry, a stale comment and the no-opskip: Pkg,TOML. In v2 the action leaves stdlibs out of the downgrade on its own.arch: x64. Drop Diffractor: it only ran on Julia nightly, where its dependency Cthulhu doesn't precompile, and it hasn't had a code change since June 2025. The ChainRulesOverloadGeneration job stays; its failing demo tests are fixed in Fix type piracy in demo tests ChainRulesOverloadGeneration.jl#22.Typo fixes
Fixes about 40 misspellings found by
typosin comments, docstrings, docs and tests, including the test-only functionmixed_vararg_type_constaint. Two variable names thattyposflags are renamed instead of allowlisted:dne→ntintest/tangent_types/abstract_zero.jl, andsomes/some→results/resultin a docs example.Repo settings needed
CODECOV_TOKENas a Dependabot secret (Settings → Secrets and variables → Dependabot). Dependabot PRs can't read normal Actions secrets, andfail_ci_if_error: truewould otherwise fail CI on them.prematrix jobs and JuliaNightly, and add Spell Check.Testing
typospasses locally on the whole repo.Pkg.test()passes locally on Julia 1.10.12 (lts) and 1.13.1.actionlintwas not run.🤖 Generated with Claude Code