ci: move every workflow to the org reusable templates - #44
Open
eliotmcintire wants to merge 1 commit into
Open
Conversation
All four workflows become thin callers on PredictiveEcology/actions.
198 -> 112 lines, and no workflow file here runs its own job any more.
R-CMD-check 57 -> 32
test-coverage 36 -> 29
pkgdown 48 -> 19
revdeps 57 -> 30
Three of the four have zero customisation. The exception is
R-CMD-check's extra-config, and only for matrix legs.
## Bugs this fixes
R-CMD-check and test-coverage triggered on [master, development]. There
is no `master` branch and the default branch is `main`, so NEITHER had
ever run on main -- pushes and PRs to the default branch got no check and
no coverage at all.
DESCRIPTION declares R (>= 4.3). With release at 4.6 that floor is
oldrel-3, which the hand-rolled matrix never tested; it stopped at
oldrel-2. The declared minimum was an unverified claim. Added.
revdeps ran on pull_request across a three-OS matrix. The shared action's
own README warns revdep checks are too resource intensive for standard
runners, and each revdep gets a full R CMD check with its dependency
closure installed first -- hours of runner time per PR for a signal
almost no PR changes. Now dispatch plus the existing weekly schedule, on
the shared single-leg default.
Drops the stale install-spatial-deps@v0.3 pin, which PR #43 was opened to
fix: every tag of that action adds the ubuntugis PPA, whose libgdal37 is
ABI-incompatible with Posit's noble cache.
## Customisations deliberately dropped
OMP_THREAD_LIMIT: 4 -- quickPlot has no src/ and no parallel or OpenMP
use anywhere in R/. Inherited boilerplate.
systemfonts in the revdeps extra-packages -- not referenced in
DESCRIPTION, R/, tests/ or vignettes/, and not transitively reachable
from any declared dependency. Restore it if a revdep run actually needs
it, rather than carrying it on spec.
The per-job [skip-ci] guards -- now honoured by the shared workflows
themselves (PredictiveEcology/actions#34).
## Behaviour changes worth knowing
Coverage moves macOS -> ubuntu and gains NOT_CRAN=true from the shared
workflow, so skip_on_cran() tests now run under coverage. That raises the
measured figure and can surface tests that had never executed in CI.
Require hit exactly that on migration.
The matrix gains a nosuggests (_R_CHECK_DEPENDS_ONLY_) leg, which this
repo never had.
Supersedes #42, which is CONFLICTING and covers only three of the four
workflows while also carrying DESCRIPTION, NEWS.md, README.md,
cran-comments.md and CRAN-SUBMISSION changes.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NNLtKFXrNPN2XvuAjsy4Sy
This was referenced Sep 3, 2026
Merged
This was referenced Sep 4, 2026
eliotmcintire
added a commit
that referenced
this pull request
Sep 4, 2026
…tthat fix(docs): drop testthat from the whereInStack example (last red leg on #44)
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.
Supersedes #42. Every workflow becomes a thin caller on
PredictiveEcology/actions— 198 → 112 lines, and no workflow file here runs a job of its own any more.
R-CMD-checkextra-config(matrix legs only)test-coveragepkgdownrevdepsThree bugs this fixes
1. Neither
R-CMD-checknortest-coveragehas ever run onmain. Bothtriggered on
[master, development]. There is nomasterbranch, and thedefault branch is
main— so pushes and PRs to the default branch got no checkand no coverage at all.
2. The declared R floor was never tested.
DESCRIPTIONsaysR (>= 4.3).With release at 4.6, that floor is oldrel-3, and the hand-rolled matrix
stopped at oldrel-2 — so the DESCRIPTION claim was unverified. Added.
3.
revdepsran on everypull_request, across three OSes. The sharedaction's own README warns revdep checks are too resource intensive for standard
runners, and each revdep gets a full
R CMD checkwith its dependency closureinstalled first. That is hours of runner time per PR for a signal almost no PR
changes. Now
workflow_dispatchplus the existing weekly schedule, on theshared single-leg default.
It also drops the stale
install-spatial-deps@v0.3pin — what #43 was openedto fix. Every tag of that action adds the ubuntugis PPA, whose
libgdal37isABI-incompatible with Posit's noble cache.
Customisations dropped, with reasons
You asked whether we need any. Assessed individually:
OMP_THREAD_LIMIT: 4— quickPlot has nosrc/and no parallel or OpenMPuse anywhere in
R/. Inherited boilerplate.systemfontsin the revdepsextra-packages— not referenced inDESCRIPTION,R/,tests/orvignettes/, and not transitively reachablefrom any declared dependency. Better restored if a revdep run actually needs
it than carried on spec.
[skip-ci]guards — now honoured by the shared workflowsthemselves (feat: honour [skip-ci] org-wide; add a reusable revdeps workflow actions#34), so callers no longer need them.
Everything else is the shared default.
Coverage moves macOS → ubuntu and gains
NOT_CRAN=true.skip_on_cran()tests now run under coverage. That raises the measured figure — and can surface
tests that had never executed in CI. Require hit exactly that on this migration:
a test gated on
NOT_CRANanddpkg-queryhad never run anywhere, becausecoverage was on macOS (no dpkg-query) and
R CMD checkskipsskip_on_cran().Worth watching this PR's coverage run for the same.
The matrix gains a
nosuggests(_R_CHECK_DEPENDS_ONLY_) leg this reponever had.
Why not #42
It is
CONFLICTING, covers only three of the four workflows (leavingrevdepshand-rolled), and carries unrelated
DESCRIPTION,NEWS.md,README.md,cran-comments.mdandCRAN-SUBMISSIONchanges. Recommend closing it.🤖 Generated with Claude Code
https://claude.ai/code/session_01NNLtKFXrNPN2XvuAjsy4Sy