-
Notifications
You must be signed in to change notification settings - Fork 152
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
(feat): use towncrier
for changelog automations
#1604
Conversation
towncrier
for docs automationstowncrier
for changelog automations
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1604 +/- ##
==========================================
- Coverage 86.74% 84.25% -2.49%
==========================================
Files 37 37
Lines 5989 5989
==========================================
- Hits 5195 5046 -149
- Misses 794 943 +149 |
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.
Wow, if that’s it, that looks extremely clean, seems instantly nicer than what we have now.
Also, need to figure out exactly where to inject this into the CI. If not, this can be done manually, although I'd rather not.
Ideally release-please style:
- A workflow-generated PR¹ that contains the result of running towncrier to prepare a release. Two options for how it’s created:
- some workflow reacts to pushes on
main
and the current version branch by creating/updating a “do a patch release” PR and a “do a minor/major release” PR. The effect is two PRs always existing, except directly after a release1. - a manually run workflow with the dropdown choices “patch”, “minor”, “major” creates that PR
- some workflow reacts to pushes on
- When that(/one of these) PRs is merged, a workflow creates Git tag, GitHub release, and PyPI release.
Footnotes
-
After merging the patch release PR, the minor/major PR would still be open. After merging the minor/major PR, the patch release PR gets auto-closed. ↩
Co-authored-by: Philipp A. <[email protected]>
Co-authored-by: Philipp A. <[email protected]>
Some thoughts:
|
Is there something wrong with our current system? I like the separate branches, like |
ah, sure, the bugfix branch doesn’t have the feature fragments, makes sense! And actually we can’t use sections for what I was thinking. My comment was about this structure: when we do a feature release, we’d want to insert (v0.11)=
## Version 0.11 before the new and when we do a bugfix release, we want our new section to be inserted below the “Version 0.10” header. There is only one insertion point: see here but maybe moving that around as part of the release automation isn’t so bad! |
This comment was marked as outdated.
This comment was marked as outdated.
Ooof, now that I wrote all this code, I realized there’s an even better solution: Replace the whole content of # Release notes
```{release-notes} .
``` and implement the |
c451151
to
b5bbf09
Compare
TODO:
|
@flying-sheep It will be easier to backport this if we simply don't do the |
Co-authored-by: Philipp A. <[email protected]>
…og automations) (#1613) Co-authored-by: Ilan Gold <[email protected]>
Co-authored-by: Philipp A. <[email protected]>
Blocked by twisted/towncrier#661 and twisted/towncrier#648 (comment).
Also, need to figure out exactly where to inject this into the CI. If not, this can be done manually, although I'd rather not.
I've set up the
0.10.9
release to usetowncrier
- so all you need to do is runtowncrier
before building the docs.