Enhance changelog bundle command with github release workflow#2843
Open
lcawl wants to merge 1 commit intofeat/changelog-add-release-versionfrom
Open
Enhance changelog bundle command with github release workflow#2843lcawl wants to merge 1 commit intofeat/changelog-add-release-versionfrom
lcawl wants to merge 1 commit intofeat/changelog-add-release-versionfrom
Conversation
2 tasks
reakaleek
approved these changes
Mar 4, 2026
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.
Summary
Per #2841, the
docs-builder changelog gh-releasecommand creates both changelog files and a bundle from a GitHub release. This PR enhances thedocs-builder changelog bundlecommand to also be able to do just the second half of that functionality, in case teams want to separate the tasks. For example, maybe there's a case where they already have all the changelogs (created on a PR-by-PR basis) and just want to bundle up the appropriate changelogs for a release.Files changed
Config model:
BundleConfiguration.cs— addedRepoandOwnerproperties (derived from outstanding Changelog profile parity - phase 1 & 2 #2791)ChangelogConfigurationYaml.cs(BundleConfigurationYaml) — addedRepoandOwnerfor YAML deserializationChangelogConfigurationLoader.cs— maps the new fields inParseBundleConfigurationsrc/tooling/docs-builder/Commands/ChangelogCommand.cs--release-versionandusing Elastic.Documentation.ReleaseNotes;to theBundlemethod; when set: validates mutual exclusivity with--all/--input-products/--prs/--issuesand requirement of--repo, fetches the release, parses PR references from the release notes, builds full PR URLs, auto-infers--output-productsfrom the tag+repo when not explicitly provided, then passes the PR list to the existingChangelogBundlingServiceflow--release-versionblock now:ChangelogConfigurationfirst (before the repo check)resolvedRepoas--repoCLI →bundle.repoconfigresolvedOwneras--ownerCLI →bundle.ownerconfig →"elastic"resolvedRepothroughout (fetch, PR URL construction, product auto-inference)tests/Elastic.Changelog.Tests/Changelogs/BundleReleaseVersionTests.cs(new) — 6 tests covering: PR list bundling from release, auto-inferred output products, explicit output products override, no PR refs warning, fetch failure, andlatesttag pass-throughDocs:
changelog-bundle.md— documented--release-versionoption with all its constraints; updated the four existing filter option descriptions to mention it in the mutual exclusivity note; added a "Bundle by GitHub release" subsection with examples; updated--repodescriptioncontribute/changelog.md— added--release-versionto the filter options list; added "Bundle by GitHub release" subsection with example and auto-inference note; updated to drop the hard "requires--repo" wording and show both the repo and owner precedence chainsAll 250 tests pass.
Generative AI disclosure
Tool(s) and model(s) used: composer-1.5, clause-4.6-sonnet-medium