Repository navigation
Modernize CI setup - #850
Merged
Merged
Conversation
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>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #850 +/- ##
=======================================
Coverage 96.57% 96.57%
=======================================
Files 28 28
Lines 3618 3618
=======================================
Hits 3494 3494
Misses 124 124 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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 JuliaDiff/ChainRulesCore.jl#715.
CI changes
juliaecosystem entry for/, grouping package updates into one weekly PR.CompatHelper.ymlis removed.SpellCheck.ymlworkflow runningcrate-ci/typos.ltsand1witharch: default, plus the 32-bit x86 job on1.preis added and allowed to fail. The separateJuliaNightly.ymlworkflow is removed.julia-actions/cache.julia-buildpkg@v1instead of@latestand drops the redundantarch: x64.deved, as in ChainRulesCore.setup-julia@v3instead of@latest.github.issues.*.actions/github-scriptv8 only exposesgithub.rest.issues.*, so these steps failed silently behindcontinue-on-error.actions/checkoutto v7 andjulia-actions/setup-juliato v3 throughout.Typo fixes
Fixes the 8 misspellings found by
typosin comments and the README. There are no functional changes.Julia nightly
Nightly currently fails in
test/rulesets/LinearAlgebra/factorization.jl. The cause is JuliaLang/LinearAlgebra.jl#1717, which landed in Julia1.15.0-DEV.1via JuliaLang/julia#63897. Since then,eigen!/eigvals!of aStridedMatrix{<:BlasComplex}always return complex eigenvalues, even for Hermitian input. Our rules don't handle this yet:frule(eigen!)andfrule(eigvals!)forward Hermitian input to theHermitianrules and return real values and tangents.rrule(eigen)pullback picks its Hermitian branch witheltype(λ) <: Real, so it now takes the general path, which assumes thegeevxphase convention, and computes the wrong∂A.Nightly is no longer tested after this PR. This will show up again once Julia 1.15 reaches the
prechannel and can be fixed separately.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.x64test checks with the newdefaultjob namesTesting
typospasses locally on the whole repo (typos 1.50.3).actionlintwas not run.🤖 Generated with Claude Code