feat(build): skip already-built package versions on workflow restart #91

Merged
pat-s merged 3 commits from t3code/270bb972 into main 2026-06-16 07:27:21 +00:00

2026-06-16

Merge origin/main into t3code/270bb972
Resolve .crow conflicts by taking main's content (which moved bincraft pins
to 4.2.1 and added per-minor build/install loops) and re-bumping every
bincraft pin to 4.2.2, so all pinned pipelines use the metadata-after-upload
release. build-all.R auto-merged: the restart skip-filter coexists with
main's r-minor-sensitive build path.
2026-06-16 09:25:11 +02:00
chore(ci): bump pinned bincraft v4.1.1 -> v4.2.2 in update/rebuild workflows
Moves the process-updates-*, weekly-rebuild-missing-* and archive-missed
workflows onto bincraft 4.2.2, which records a build's success metadata only
after the S3 upload is confirmed (rpkgs/bincraft#56). Keeps these pipelines
consistent with the metadata-after-upload behavior the restart-skip filter
relies on.
2026-06-16 09:22:06 +02:00
feat(build): skip already-built package versions on workflow restart
build-all reads a static pkgs_to_build.rds produced once by the install-deps
step, so a restarted build job re-cycles every package an interrupted run
already produced. Query the build-metadata DB at job start and drop the
(Package, Version) pairs already built successfully for this platform/arch,
so a restart only processes what is genuinely left.

Relies on bincraft writing the success row only after a confirmed S3 upload
(rpkgs/bincraft#56), so a DB success guarantees the binary is published.
2026-06-16 09:04:17 +02:00