Skip to content

fix: add cleanup script for R-devel check NOTEs and fix Docker cache import - #585

Open
krlmlr wants to merge 4 commits into
mainfrom
claude/fix-cicd-failures-63v5pe
Open

fix: add cleanup script for R-devel check NOTEs and fix Docker cache import#585
krlmlr wants to merge 4 commits into
mainfrom
claude/fix-cicd-failures-63v5pe

Conversation

@krlmlr

@krlmlr krlmlr commented Jul 21, 2026

Copy link
Copy Markdown
Member

Summary

Two independent CI fixes on main. (The rcc dev dev-package install issue this branch originally also touched is now handled upstream by the Resolute migration + DBItest dropping purrr, so that workflow change was dropped when rebasing onto current main.)

1. rcc (R-devel job) — add a cleanup script

configure writes configure.log at the top level and generates src/Makevars from src/Makevars.in. On R-devel, R CMD check flags these as two NOTEs (Non-standard file … 'configure.log'; Package has both 'src/Makevars.in' and 'src/Makevars'), and the check runs with error-on: "note", so the job fails. Added an executable cleanup script (rm -f src/Makevars configure.log, byte-identical to RMariaDB's) and stopped ignoring it in .Rbuildignore/.gitignore so it ships in the tarball and runs during check.

2. Create and publish a Docker image — fix the GHA cache import

cache-from used || where && was intended (event != 'schedule' || event != 'workflow_dispatch' is always true), so every build imported type=gha; the nightly scheduled build then repeatedly failed with RESPONSE 404 BlobNotFound (the cache manifest referenced an evicted blob). Changed to && so scheduled/manual builds skip the cache import and build fresh, while push builds still use it.

🤖 Generated with Claude Code

https://claude.ai/code/session_016BRYo2D5L4wpgaTFTHH2B7

@krlmlr krlmlr changed the title fix: unbreak CI (declare purrr, add cleanup script, fix Docker cache) ci: unbreak CI (fix dev-package install, add cleanup script, fix Docker cache) Jul 21, 2026
claude added 4 commits July 22, 2026 21:02
The development version of `DBItest` (installed from r-universe in the
`rcc dev` workflow) calls `purrr::` functions directly (e.g. in
`stream_frame()`), so `DBItest::test_all()` aborts with "there is no
package called 'purrr'" unless `purrr` is available in the check
library. Declaring it in Suggests guarantees it is installed, matching
the fix applied to RMariaDB.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016BRYo2D5L4wpgaTFTHH2B7
`configure` writes `configure.log` at the top level and generates
`src/Makevars` from `src/Makevars.in`. On R-devel, `R CMD check` runs
the package's `cleanup` script and then flags these leftover files as
NOTEs ("Non-standard file/directory found at top level: 'configure.log'"
and "Package has both 'src/Makevars.in' and 'src/Makevars'"), which fail
the check because `error-on` is `"note"`. Ship a `cleanup` script that
removes both files, matching RMariaDB. Stop ignoring `cleanup` in
`.Rbuildignore`/`.gitignore` so it is tracked and included in the
tarball.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016BRYo2D5L4wpgaTFTHH2B7
The `cache-from` expression used `||` where `&&` was intended, so the
condition was always true and every build imported `type=gha`. On the
nightly scheduled runs this repeatedly failed with "404 BlobNotFound"
when the cache manifest referenced an evicted blob. Use `&&` so
scheduled and manual (`workflow_dispatch`) builds skip the cache import
and build fresh, while push builds still benefit from it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016BRYo2D5L4wpgaTFTHH2B7
…verse

The "Install dev version" step installed the dev package via
remotes::install_runiverse(..., linux_distro = "noble") without its
dependencies, so a dev package that added a new hard dependency (e.g. dev
DBItest adding purrr to Imports) left that dependency uninstalled and the
check failed.

Replace the single install call with a three-phase install: pull only the
dev package (no deps) from r-universe as a binary, install any newly
declared hard deps from P3M as released binaries, then re-install the dev
package with deps satisfied. This fixes the failure at its source in the
workflow, so the coincidental purrr-in-Suggests workaround is reverted.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016BRYo2D5L4wpgaTFTHH2B7
@krlmlr
krlmlr force-pushed the claude/fix-cicd-failures-63v5pe branch from e3f4895 to ddfa280 Compare July 22, 2026 21:03
@krlmlr krlmlr changed the title ci: unbreak CI (fix dev-package install, add cleanup script, fix Docker cache) fix: add cleanup script for R-devel check NOTEs and fix Docker cache import Jul 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants