-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
ci: automate release issue creation #12741
Conversation
* ci: automate release issue creation from v1.32.0 learnings * Self-review feedback from looking at #12749 * Fix String contains ordering bugs. * chore: run gofmt --------- Co-authored-by: galargh <piotr.galar@gmail.com>
@BigLep Lovely! Thank you for that. I now merged your follow-up into this PR. Let me know if there's anything else we should take care of in this iteration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
seems ok to me, some Go cleanup suggestions left inline
Co-authored-by: Rod Vagg <rod@vagg.org>
Co-authored-by: Rod Vagg <rod@vagg.org>
Related Issues
Resolves #12477
Proposed Changes
This PR implements the release issue creation automation.
Firstly, it turns the
RELEASE_ISSUE_TEMPLATE.md
into a Go template. This allowed us to use variable substitution and conditional blocks, which were the prerequisites for release issue rendering. We used variable substitution inline. We hid the conditional block starts/ends in HTML comment tags (<!--
,-->
). We kept the modifications to a minimum and ensured that the template could still be copied manually and updated using almost the same steps as before.Secondly, we added a new command -
create-issue
- to thecmd/release
tool. The command accepts a number of flags, values of which are then used to render the issue template. Before creating a new issue, the command checks whether if it already exists. It requires GITHUB_TOKEN with write access to issues to be present in the environment. The command doesn't operate in interactive mode. It expects all the data to be provided via flags instead.Finally, we created a new GitHub Actions workflow which accepts exactly the same inputs as the command and calls it to create the new release issue. It can be triggered on demand.
Additional Info
An example of the release issue created using
release create-issue --type node --tag 1.2.3 --level patch --network-upgrade 23
: galargh/.github#73Checklist
Before you mark the PR ready for review, please make sure that: