Files
flatpark/scripts
KomhandClaude Opus 5 23ac2cdebc perf(ci): skip the repo/R2 half of publish on site-only pushes (#333)
The publish run's expensive half is the OSTree repo: the flatpak toolchain
install, the repo cache and the rclone pull of the whole object store from R2
(323s on the last run), then the push back. A push that cannot change a
published byte — a site edit, config/featured.yml, a catalog-only descriptor
edit like a developer-approved flip, metainfo/icons — pays all of it to upload
nothing.

scripts/publish-scope.sh decides that up front and prints "site" or "full".
It answers "full" for anything not provably repo-neutral: publish tooling
(scripts/, config/flatpark.conf, publish.yml), a build-relevant app change
(changed-apps.sh), an app added or de-listed, or a rename (the .flatpakref
Title). The workflow gates the toolchain, the signing key, the repo cache,
both R2 syncs, the summary re-sign and the .published-sha write on it; the
site build and the Pages deploy always run.

The diff base is .published-sha read straight from R2 (rclone cat, no sync),
so a failed publish keeps its registry changes in the diff and the next push
still runs full. A site publish leaves the marker alone for the same reason.

Co-authored-by: Claude Opus 5 <[email protected]>
2026-09-10 09:34:47 +08:00
..
2026-06-20 12:52:46 +08:00
2026-06-20 12:52:46 +08:00
2026-06-20 12:52:46 +08:00
2026-06-20 12:52:46 +08:00
2026-06-20 12:52:46 +08:00
2026-06-20 12:52:46 +08:00