-
Notifications
You must be signed in to change notification settings - Fork 34
Add PR label blockers to changelog creation #2350
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🔍 Preview links for changed docs |
|
This part looks good taking into account #2407's fixes; once it is merged here, we can merge this too IMO. |
|
Can you explain the need for render blockers? Ultimately these yaml changelog items will all go in to a database where they can be rendered in different views. Put differently when do we need a changelog item that we never want exposed? |
I've responded to this in #2426 (comment) |
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
…ect' Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Felipe Cotti <[email protected]>
…null' Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
…ect' Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Summary
This PR updates the
docs-builder changelog addcommand to be able to create multiple changelog files if you provide multiple PRs in the--prsoption. This makes it easier to address situations where we've missed changelogs for multiple PRs.It also adds logic to block the creation of a changelog in the presence of chosen PR labels. This enables us to handle the situation where PRs have
non-issueorrelease_notes:skipor any label of their choosing.It also enables us to handle the situation where changelogs are not desired for specific combinations of product and label (e.g.cloud-serverlessandILM).[Edit] Upon further reflection, I think there are two circumstances: PR labels that block changelog creation and changelog areas that block inclusion in the docs (for a specific set of release notes). This PR only covers the first case. I've renamed the yaml entry to "add_blockers" so we can do a "render_blockers" in a subsequent PR (#2426).
Examples
If you have a changelog configuration file (
changelog.yml) like this, which enables the command to derive the areas and types from PR labels:Create changelogs for multiple PRs at once:
The command successfully creates three changelogs.
If you then update the
changelog.ymlconfiguration file to includeadd_blockers, for example:NOTE: The implementation supports two formats:
elasticsearch: - ">non-issue"elasticsearch, cloud-serverless: - ">non-issue"The comma-separated format expands to individual entries during YAML deserialization, so both formats work identically.
Then the same
docs-builder changelog addcommand returns the following messages:Additional examples of area mappings can be found in:
Changes
Summary
ChangelogCommand.csto accept--prsas a string arrayChangelogInputto usePrs(string array) instead ofPr(string)ChangelogServiceto process multiple PRsAddBlockersconfiguration toChangelogConfigurationcloud-serverlesswith ILM label)Prsinstead ofPradd_blockers.changelog.yml.examplewithadd_blockersconfiguration examplesdocs/contribute/changelog.mdto document the--prsoption and label blocking feature--prupdated to--prsAll tests pass and the code builds successfully. The implementation follows the existing codebase patterns and maintains backward compatibility by supporting single PR processing when only one PR is provided.
Generative AI disclosure
Tool(s) and model(s) used: composer-1 agent