Changelog bundle: match --files filters against the CDN entry pool - #3783
Open
cotti wants to merge 3 commits into
Open
Changelog bundle: match --files filters against the CDN entry pool#3783cotti wants to merge 3 commits into
cotti wants to merge 3 commits into
Conversation
For private repos that upload changelog entries to S3 without keeping local copies, PR/issue references are scrubbed from the public entries, so PR-based bundle filters cannot match — and the --files workaround only worked with local files. The file filter now follows the standard entry-sourcing gate: with CDN sourcing, requested paths are matched to pool entries by file name (names survive scrubbing) and need not exist locally. --force-local / --directory / bundle.use_local_changelogs still force local reads.
lcawl
approved these changes
Aug 6, 2026
lcawl
left a comment
Contributor
There was a problem hiding this comment.
I added a file list example and the docs now LGTM.
I also tested the following type of commands on both a private and public repo (with and without AWS environment variables set up) and it all worked:
/path/to/GitHub/docs-builder/.artifacts/publish/docs-builder/release/docs-builder changelog bundle serverless-release 2027-02-02 docs/temp/files.txt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Private repos that upload their changelog entries to S3 without keeping local copies (e.g.
cloud) have PR/issue references scrubbed from the public copies, so PR/issue-based bundle filters can never match. The documented workaround, the--files/ path-list filter (#3664), forced local entry sourcing — it could not select entries that exist only in S3, so release coordinators had to download files by hand. This is the blocking case in elastic/docs-eng-team#734.What
The
--files/ path-list filter now follows the same entry-sourcing gate as every other filter instead of unconditionally forcing local sourcing. When entries are sourced from the CDN (the authoring repo resolves and a CDN base is configured), the requested paths are matched to pool entries by file name — file names survive scrubbing — and do not need to exist locally. A requested name missing from the pool fails the run rather than silently shipping an incomplete bundle. Local reads remain available via--force-local,--directory, orbundle.use_local_changelogs, and--planmirrors the new gate (path-list bundles now reportneeds_network: true).This makes the profile-mode invocation from the issue work against S3-only entries:
Note this is a behavior change for
--filesruns in repos where CDN sourcing is active: previously the listed files were always read from disk; now they select CDN pool entries by name unless local sourcing is forced. Docs and the CLI schema are updated accordingly.