Repository navigation
Conversation
| - uses: julia-actions/setup-julia@v2 | ||
| with: | ||
| version: '1.10' | ||
| version: '1' |
There was a problem hiding this comment.
locking it to a precise minor version seems good.
Because it stops doctests breaking if julia decides to change the string representation of things again
| version: '1' | |
| version: '1.10' |
There was a problem hiding this comment.
1.10 doesn't support path, IIRC at least 1.11 is needed.
There was a problem hiding this comment.
Following up: the docs need Julia ≥ 1.11 for [sources] in docs/Project.toml, and ≥ 1.12 for the workspace. So I've kept '1'. Also, the docs build doesn't execute any code, so no output can change with the Julia version.
| *.jl.*.cov | ||
| *.jl.mem | ||
| /Manifest.toml | ||
| Manifest.toml |
There was a problem hiding this comment.
keeping the docs manifest around is useful to avoid breaking doctests if packages we use change their string represetations
There was a problem hiding this comment.
IMO such doctest failures should be avoided by using doctest filters or changing to more stable tests, since string representations may change even in non-breaking releases.
Co-authored-by: Frames White <me@oxinabox.net>
| *.jl.*.cov | ||
| *.jl.mem | ||
| /Manifest.toml | ||
| Manifest.toml |
There was a problem hiding this comment.
IMO such doctest failures should be avoided by using doctest filters or changing to more stable tests, since string representations may change even in non-breaking releases.
But the Manifest.toml doesn't lock to nonbreaking releases. Should and is are different things. |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Follow JuliaDiff/ChainRulesCore.jl#715: - Replace CompatHelper with Dependabot for Julia; declare `docs` as a workspace project so Dependabot also updates its compat entries. - Test `lts` and `1` on all OSes with native arch; `min`, x86 and an allowed-to-fail `pre` job on Linux. Drop JuliaNightly.yml. - Move the docs build into CI.yml and drop Documenter.yml. - IntegrationTest: trigger on `main`, add cache, permissions and concurrency, and run downstream tests in a temporary environment. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Test min and 1 on all OSes as before, with pre replacing nightly. Drop lts and the x86 job, which fails two high-order accuracy tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Fair point that a Manifest pins exact versions. In this repo, though, there's nothing for it to protect: the docs build doesn't execute any code. There are no With the update in this PR, |
Brings the CI setup in line with current Julia ecosystem practice, following JuliaDiff/ChainRulesCore.jl#715.
CI changes
Project.tomldeclaresdocsas part of a workspace, so the package and the docs are resolved together into one Manifest. Julia versions before 1.12 ignore the table.juliaecosystem entry for/that groups package updates into one weekly PR, coveringdocs/Project.tomlas well.CompatHelper.ymlis removed.mininstead of a hardcoded1.0) and1, on Linux, macOS and Windows.prereplaces the separateJuliaNightly.ymlworkflow and runs on the same three OSes; it's allowed to fail. The hardcodedarch: x64is dropped, somacos-latest(Apple Silicon) runs nativeaarch64binaries. Julia 1.0 has noaarch64build, sominruns onmacOS-15-intelinstead.julia-actions/cachereplaces the hand-writtenactions/cachesetup, and the workflows getactions: writeso it can prune old caches. Codecov usescodecov-action@v7with a token andfail_ci_if_error: true.CI.ymlas adocsjob. It builds on Julia1and installs dependencies withPkg.instantiate(), relying on[sources]indocs/Project.tomlinstead ofPkg.develop. The separatedoctest(FiniteDifferences)step is dropped: the docs contain nojldoctest(or any other executed) blocks, andmakedocsruns doctests anyway.Documenter.ymlis removed.maininstead ofmaster, which doesn't exist. It also gets permissions, the cache and concurrency settings, and drops the redundantarch: x64. Downstream tests run in a temporary environment with both packages developed..travis.ymlanddocs/Manifest.toml, ignores allManifest.tomlfiles, and fixes the README badges.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.Testing
Pkg.test()passes locally on Julia 1.13.1 and 1.6.7. On 1.6 this checks that Julia versions before 1.12 ignore the[workspace]table.Pkg.instantiate()only.actionlintwas not run.Julia 1jobs and the ChainRules, SpecialFunctions and BlockDiagonals integration tests that fail onmain.🤖 Generated with Claude Code