Skip to content

Fix stale changelog registry - #3911

Open
lcawl wants to merge 2 commits into
mainfrom
changelog-registry-fix
Open

Fix stale changelog registry#3911
lcawl wants to merge 2 commits into
mainfrom
changelog-registry-fix

Conversation

@lcawl

@lcawl lcawl commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

This PR must be merged after #3801 since it uses that PR as its base.

Context

changelog bundle CDN sourcing today does this:

flowchart LR
  bundleCmd["changelog bundle"] --> registry["GET changelog/org/repo/branch/registry.json"]
  registry --> listed["Download every listed YAML"]
  listed --> match["Filter by optional YAML prs/issues/products"]
Loading

After #3760, nothing writes changelog/{org}/{repo}/{branch}/registry.json. The scrubber only reconciles bundle/{product}/registry.json. Uploaded YAML is on S3/CDN; the pool index is frozen.

This means that changelogs that I've uploaded recently to the CDN are not findable by the docs-builder changelog bundle command because they're not reflected in the registry.

Implementation details

What changed in docs-builder

  • The scrubber now owns both listings. YAML (and registry-key) events reconcile changelog/{org}/{repo}/{branch}/registry.json from the public YAML listing. target is always null for the pool. Client JSON is not copied.
  • --prs (local and CDN) uses the same join as git-ref: leading filename digits or YAML prs:. Empty prs: still matches 12345.yaml.
  • CDN --files / a path list GETs those basenames only (no registry.json). A missing name still fails the run.
  • CDN --all and product-only filters error and point at --force-local. Local --all is unchanged. Git-ref infer is unchanged.

After merge, Kibana’s stale listing only heals once the scrubber Lambda is deployed. CLI-only is not enough. A --skip-etag-check upload (or the next YAML event) after that deploy rewrites changelog/elastic/kibana/main/registry.json.

Behavior to be aware of: a CDN monthly/product-only bundle (no PR/file list), like the cloud products: profile with only a date argument, now errors until phase 3. Use --force-local for those runs (this should be fine since we've now removed those profiles).
Kibana's serverless-release … prs.txt is --prs and is the path this fixes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants