-
Notifications
You must be signed in to change notification settings - Fork 9.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
Changelog Automation #16215
Changelog Automation #16215
Conversation
.github/workflows/changelog.yml
Outdated
@@ -69,3 +69,23 @@ jobs: | |||
key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }} | |||
- run: cd tools && go install github.com/client9/misspell/cmd/misspell | |||
- run: misspell -error -source text CHANGELOG.md | |||
|
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.
I'm wondering if we should add a check to ensure the changelog file naming (number) matches the PR number.
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.
I can think of a few cases where this won't necessarily be true, so it might be best to wait and see how much of a problem it is:
- Separate pull request to add a changelog entries for previously merged pull requests
- Pull request to fix an existing changelog entry
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.
Thinking about this more, it might be really good if we separately had content checking tooling to reduce some maintainer burden:
- Release note blocks should not contain new lines (instead should be multiple release note blocks)
- Ensuring category entries except features contain entry categories
- If there is an entry category, ensure it has the prefix
resource/aws_
,data-source/aws_
,provider
, or (fairly rarely)service/
Doesn't need to be part of the MVP though. This type of Markdown AST checking is fairly fresh in my mind from recent enhancements to tfproviderdocs
so can certainly help or provide guidance.
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.
Overall this is super exciting -- left some initial feedback. 👍
.github/workflows/changelog.yml
Outdated
@@ -69,3 +69,23 @@ jobs: | |||
key: ${{ runner.os }}-go-pkg-mod-${{ hashFiles('go.sum') }} | |||
- run: cd tools && go install github.com/client9/misspell/cmd/misspell | |||
- run: misspell -error -source text CHANGELOG.md | |||
|
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.
I can think of a few cases where this won't necessarily be true, so it might be best to wait and see how much of a problem it is:
- Separate pull request to add a changelog entries for previously merged pull requests
- Pull request to fix an existing changelog entry
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.
This was fully tested outside this repository and looks good to me. Over time we can create tooling to handle linting the CHANGELOG files.
Co-authored-by: Brian Flad <bflad417@gmail.com>
Co-authored-by: Brian Flad <bflad417@gmail.com>
This has been released in version 3.26.0 of the Terraform AWS provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading. For further feature requests or bug reports with this functionality, please create a new GitHub issue following the template for triage. Thanks! |
I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. Thanks! |
Community Note
This Pull Request adds automation to generate the CHANGELOG.md contents for the unreleased milestone after every pull request merge. It does so via the https://github.com/hashicorp/go-changelog tool currently in use in the google provider and a number of other HashiCorp repositories.
This should result in a significant reduction in overhead for maintainers, more consistent output, and an integration of the review of changelog contents into the code review process itself.
It also contains documentation to ensure that contributors are aware of the steps necessary to generate a successful changelog entry, and changes to the pull request template.
Note that that rollout of this process will require this to be merged immediately after a release (when no unreleased changelog notes exist)