- 
                Notifications
    
You must be signed in to change notification settings  - Fork 743
 
chore: add release note generation script #5561
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
base: main
Are you sure you want to change the base?
Conversation
7ac5005    to
    bfa1f0c      
    Compare
  
    | fh.write("\n## Release Summary:\n") | ||
| for summary in release_summaries: | ||
| fh.write(f"- {summary}\n") | ||
| fh.write("\n\n## What's Changed:\n") | 
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.
Do we actually need changelog generation in this script? It was my understanding that this was already done automatically.
I'm trying to think about at which point in our release process would we run this generate release notes script. Like, we need the release notes before we work on the github script IIRC. But I don't think we also need the changelog part.
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 would replace the automatically generated notes. I have a draft PR showing how we could add a config file to customize, slightly, the generated notes, but the way we're doing a release summary requires a script.
| ``` | ||
| if you use the [GitHub CLI](https://cli.github.com/) utility, you could use: `GITHUB_TOKEN=$(gh auth token)`. | ||
| 
               | 
          ||
| You can generate personal access tokens here: https://github.com/settings/personal-access-tokens, which should result in something that looks like | 
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.
What permissions do we need to give our PAT? Based on my experimentation you do not need to add any.
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.
Correct, basic repo:status should be enough.
| `uv` will automatically configure dependencies. To run `script.py` use `uv run script.py`. | ||
| 
               | 
          ||
| ### Release Script | ||
| To run the release note script you need to pass in a github token through an environment variable. This is because unauthenticated users are limited to 60 API calls per _hour_. | 
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.
60 API calls per hour doesn't sound like a lot. How many API calls does this script need?
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's more to the story...unauthenticated users are tracked by their IP address, so if we're all going out the same IP Gateway/NAT... those 60 calls could be shared across an entire office/org/metro area.
Co-authored-by: maddeleine <[email protected]>
Release Summary:
Resolved issues:
none
Description of changes:
Based on minor changes to #5327
Example release run:
Weekly release for Oct 27, 2025
Release Summary:
s2n_cert_validation_callbackWhat's Changed:
Full Changelog: https://github.com/aws/s2n-tls/compare/30f40f2345a89570ed3c4cee2274942f1ebf85fa..6aefe741f17489211f6c28e837c1a65ee66a1ef2
Call-outs:
This script could do much more to streamline the process, this is a starting point for more iteration.
Testing:
How is this change tested (unit tests, fuzz tests, etc.)? Locally/CI
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.