ci: evict majestic's moving S3 tarball from the dl cache too (#109)

PR #105 added a "Refresh moving-ref package downloads" step that drops
*-{HEAD,master,main,dist}.tar.gz before each build so buildroot re-fetches
the current ref. That fixed the majestic-webui-dist.tar.gz staleness (the
*-dist.tar.gz case), but it never matched majestic itself.

majestic downloads from S3 as majestic.<family>.<variant>.master.tar.bz2
(majestic.mk) — a DOT separator, .tar.bz2, and an S3 host the old pattern
deliberately spared as "content-addressed". But that S3 object is a moving
`master` build, re-uploaded on every majestic CI run, with no .hash to force
a refetch. So it stayed frozen in the monthly builder-dl cache while the
webui refreshed — the exact desync that shipped a pre-x-groups majestic in a
t31 lite image against the current webui, blanking the settings page with
"No settings groups in schema."

Broaden the eviction to a regex covering both -ref and .ref separators across
gz/bz2/xz, so majestic.*.master.tar.bz2 and majestic-webui-dist.tar.gz are
both dropped while semver/SHA-pinned tarballs keep their cache.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dmitry Ilyin
2026-06-28 14:00:25 +03:00
committed by GitHub
co-authored by Claude Opus 4.8
parent edb7251bf3
commit 9d85e993fb
2 changed files with 22 additions and 17 deletions
+8 -6
View File
@@ -69,12 +69,14 @@ jobs:
- name: Refresh moving-ref package downloads
run: |
# The monthly builder-dl cache freezes moving-ref downloads (VERSION = HEAD /
# branch, or the majestic-webui `dist` release asset) under a constant
# <pkg>-<ref>.tar.gz filename, so buildroot keeps reusing a stale tarball.
# Drop them so it re-fetches the current ref each run. See master.yml.
find /tmp/builder-dl -type f \
\( -name '*-HEAD.tar.gz' -o -name '*-master.tar.gz' -o -name '*-main.tar.gz' -o -name '*-dist.tar.gz' \) \
# The monthly builder-dl cache freezes moving-ref downloads under a constant
# filename, so buildroot keeps reusing a stale tarball. Drop them so it
# re-fetches the current ref each run. See master.yml for the rationale.
# Covers both the dash form (<pkg>-<ref>.tar.gz, e.g. majestic-webui-dist) and
# the dot form (<pkg>.<ref>.tar.bz2, e.g. majestic.t31.lite.master from S3 —
# a moving build with no .hash, NOT a content-addressed pin).
find /tmp/builder-dl -type f -regextype posix-extended \
-regex '.*[-.](HEAD|master|main|dist)\.tar\.(gz|bz2|xz)' \
-print -delete 2>/dev/null || true
- name: Build firmware