Standardize bundle output names; hard-error on profile output: patterns - #3856
Open
cotti wants to merge 2 commits into
Open
Standardize bundle output names; hard-error on profile output: patterns#3856cotti wants to merge 2 commits into
cotti wants to merge 2 commits into
Conversation
cotti
force-pushed
the
feature/bundle-output-convention
branch
from
August 13, 2026 12:48
425268a to
5808f11
Compare
Bundle names now derive by convention as {product}-{version}.yaml from
the profile's primary output product (B2, #3774), in
run and --plan alike. Profiles still setting output: get an actionable
hard error (the field stays parseable for one release cycle), and two
profiles sharing a primary product are rejected — they would silently
overwrite the same conventional target for any given version.
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
cotti
force-pushed
the
feature/bundle-output-convention
branch
from
August 13, 2026 12:48
5808f11 to
256985c
Compare
Mpdreamz
approved these changes
Aug 13, 2026
Mpdreamz
reviewed
Aug 13, 2026
| /// field remains parseable for one release cycle so authors get an actionable error rather | ||
| /// than a YAML parse failure. | ||
| /// </summary> | ||
| public string? Output { get; init; } |
Contributor
Author
There was a problem hiding this comment.
Done in 6ac9142 — added [Obsolete] with a message pointing at the convention, and suppressed CS0618 at the two intentional read sites (loader + hard-error validation) since warnings are errors here.
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
Bundle output names are being standardized by convention (
{product}-{version}.yaml) so every consumer — the scrubber, the CDN registry, the promotion workflow, backfill — can derive a bundle's location from product + version alone (RFC B2, closes #3774). Explicitoutput:patterns in profiles undermine that and, silently, let two profiles overwrite each other's target.What
output_products, elseproducts) and the version argument, in both the run and--plan(the CIbundle-createaction locates the file via plan output). Invocations without a resolvable product/version (e.g. report-only) keep thechangelog-bundle.yamldefault.output:on any profile is now a hard error with a message directing removal; the field stays parseable for one release cycle so authors get the error rather than a YAML parse failure.Breaking: repositories with
output:inchangelog.ymlprofiles must remove it; their bundle file names change to the convention on the next cut.Stack: 3/5.