build(deps): adopt the five action major bumps as one commit - #24
Merged
Conversation
…e `skip` Supersedes the five open Dependabot PRs in one commit. They all edit the same `uses:` blocks in CI.yml (and three also edit Runic.yml), so merging them one at a time would conflict and re-run the 90-minute matrix five times; each was already green on its own PR, and this is their exact union: #23 actions/checkout v4 -> v7 (CI.yml ×4, Runic.yml) #19 julia-actions/setup-julia v2 -> v3 (CI.yml ×4, Runic.yml, CompatHelper.yml) #20 julia-actions/cache v2 -> v3 (CI.yml ×4, Runic.yml) #21 julia-actions/julia-downgrade-compat v1 -> v2 (CI.yml) #22 codecov/codecov-action v5 -> v7 (CI.yml) Reviewed against each action's breaking changes; nothing else needed adjusting. All four majors move to a Node 24 runtime, which the hosted runners already provide. setup-julia v3 changes `version: min` semantics and now errors instead of warning on x86_64 Julia under Apple Silicon — we pin '1.12'/'1'/nightly and never set `arch`, so neither applies. cache v3 is a JS rewrite that now saves the cache on failed jobs too (`save-always`, default true), which suits the nightly job that occasionally hits its timeout. checkout v7 only tightens fork checkout under `pull_request_target`/`workflow_run`, events this repo does not use. codecov v7 keeps the `files`/`token` inputs. The one bump that is more than a version string is julia-downgrade-compat. v2 replaces v1's textual Project.toml rewriting with a Resolver.jl min-resolve, and its `skip` input is now read ONLY under `mode: forcedeps`. Our `skip: Random, Statistics, TOML` would therefore have become silently inert config with a comment that no longer described it, so it is removed: v2 handles stdlibs itself, and its default `mode: alldeps` pins every dep AND weakdep to its floor — exactly what the Project.toml floor comments claim the job does. `forcedeps` was considered and rejected: it min-resolves `deps` only, which would drop the Plots/Arrow weakdep floors that cfaffaf deliberately raised to be exercised here. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This was referenced Aug 22, 2026
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.
Resolves the five open Dependabot PRs — #19, #20, #21, #22, #23 — by landing their exact union in a single commit, plus the one config change that a bump silently invalidated.
Why consolidate rather than merge five PRs
All five edit the same
uses:block in.github/workflows/CI.yml(three also editRunic.yml), on adjacent lines.mainrequires linear history, so each merge would force a rebase of the remaining four and another ~90-minute matrix run. Each PR is already green on its own head, so this commit is their union, validated once as a set.actions/checkoutv4 → v7julia-actions/setup-juliav2 → v3julia-actions/cachev2 → v3julia-actions/julia-downgrade-compatv1 → v2codecov/codecov-actionv5 → v7Breaking changes reviewed
All four majors move to a Node 24 action runtime, which the hosted runners already provide.
version: minsemantics (min major/minor, latest patch) and now errors rather than warns on x86_64 Julia under Apple Silicon. Neither applies: we pin'1.12'/'1'/nightlyand never setarch.save-always, defaulttrue). Welcome for the nightly job, which occasionally hits its 90-minute timeout.pull_request_target/workflow_run, events this repo does not use. v6's credential-file change does not affectjulia-docdeploy(Documenter deploys viaDOCUMENTER_KEY).filesandtokeninputs; the step stayscontinue-on-error.The one non-mechanical change:
julia-downgrade-compatv2 replaces v1's textual
Project.tomlrewriting with a Resolver.jl min-resolve, and itsskipinput is now consulted only undermode: forcedeps. Ourskip: Random, Statistics, TOMLwould have become inert config carrying a comment that no longer described it, so it is removed — v2 handles stdlibs itself, and its defaultmode: alldepspins every dep and weakdep to its floor, which is exactly what theProject.tomlfloor comments already claim this job does.forcedepswas considered and rejected: it min-resolvesdepsonly, which would drop thePlots/Arrowweakdep floors that cfaffaf deliberately raised so this job would exercise them.Note this is a silent semantic change CI cannot catch — the
Downgrade compatjob passes either way — which is the main reason these bumps wanted a read rather than a rubber stamp.Note on #22's red check
The
Julia nightly - ubuntu-latestjob on #22 was cancelled at the 90-minute timeout, not failed on the bump; that job does not usecodecov-actionat all, and the job iscontinue-on-error: true(informational).🤖 Generated with Claude Code