Skip to content

fix(ci): restore committed catalogue over cache to break live-data deadlock - #809

Open
kylerankin wants to merge 1 commit into
projectbluefin:mainfrom
kylerankin:fix/missing-back-catalogue-album
Open

kylerankin wants to merge 1 commit into
projectbluefin:mainfrom
kylerankin:fix/missing-back-catalogue-album

Conversation

@kylerankin

@kylerankin kylerankin commented Sep 15, 2026

Copy link
Copy Markdown

Problem

The daily Update Live Data job fails every run at Report albums needing a manual ingest, even after the missing album is ingested and committed. That is what keeps re-firing the recurring Failed to update live data from SBOM sources issue (#808).

The root cause is the cache wiring, not the data:

  • public/experiences/catalogue.json is version-controlled, and only a local npm run update:back-catalogue (yt-dlp) can build its track segments. CI therefore can never hold a fresher catalogue than HEAD.
  • The Restore previous live data step restores the whole cache, clobbering the committed catalogue with a stale copy. A stale catalogue fails this run hard (a missing album escalates to an issue) rather than merely shipping stale data.
  • Every pre-fix run saved an incomplete catalogue, so every run since has restored it and failed again — the ingest in fix(catalogue): ingest The Gardener and the Winnower back-catalogue album #789 could not clear the backlog because the stale cache kept overwriting it before refreshMetadata ran.

Fix

Restore the committed catalogue over the cache in a dedicated step before refreshMetadata runs, so a stale cache can never wedge the next ingest. The auto-generated feeds below the fold (stream/dakota/flickr/growth/sbom) are still carried by the cache.

This makes the maintainer's existing workflow actually work: commit an ingest locally, and the next scheduled run goes green.

Tests

Adds a workflow test asserting the committed catalogue is restored over the cache after the restore step. Full suite: 1292 passing.

— hive: backend=pi model=lemonade/Ornith-1.5-35B-A3B-GGUF-Q6_K

…adlock

The Update Live Data job fails every run at 'Report albums needing a manual
ingest' even after an album is ingested and committed, because the cache
restore above it clobbers the version-controlled
public/experiences/catalogue.json with a stale copy. catalogue.json is only
ever rebuilt by a local 'npm run update:back-catalogue' (yt-dlp), so CI can
never hold a fresher catalogue than HEAD — the restore can only make it
staler, and a stale catalogue fails this run hard (a missing album escalates
to an issue) rather than merely shipping stale data. The pre-fix failed runs
each saved an incomplete catalogue, so every run since has restored it and
failed again: the recurring 'Failed to update live data from SBOM sources'
issue (projectbluefin#808).

Restore the committed catalogue over the cache before refreshMetadata runs, so
a stale cache can never wedge the next ingest. The auto-generated feeds below
the fold are still carried by the cache.

Adds a workflow test asserting the committed catalogue is restored over the
cache after the restore step.

Signed-off-by: kylerankin <kylerankin@users.noreply.github.com>
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.

1 participant