-
Notifications
You must be signed in to change notification settings - Fork 180
use towncrier to handle changelog entries
#8671
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
use towncrier to handle changelog entries
#8671
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #8671 +/- ##
==========================================
+ Coverage 61.81% 61.86% +0.04%
==========================================
Files 377 377
Lines 38915 38911 -4
==========================================
+ Hits 24056 24071 +15
+ Misses 14859 14840 -19 ☔ View full report in Codecov by Sentry. |
a22060d to
413e317
Compare
|
as @braingram pointed out in tagup this morning, using |
|
Would this require adding a subdirectory and Lines 4 to 5 in 1a45e34
and looking at astropy's use of towncrier it has a subdirectory for each section: https://github.com/astropy/astropy/tree/main/docs/changes/config and a corresponding entry in pyproject.toml Also, is it required to manually run |
If we want to keep the current headings, then yes. However, I also wanted to discuss whether it would be more useful for the user to condense the headings to the defaults here; do the current module-based headings make the changelog more or less confusing?
This could be done with a release action, which would have to make a commit freezing the changelog |
I don't have an informed opinion here so I'll keep quiet :) |
calling @nden; should we keep the current changelog headings? I can add them here |
|
There are use cases for the changelog during development - it's convenient to have a single location to read all updates since the last release. Is there another option besides only building the changelog on release under towncrier? My 2c would be that the subheadings are very useful and should remain, fwiw. |
The downside, however, is that the developer must manually update the changelog with every release, and changelog entries might be accidentally inserted into old changelog sections. The
Alright, I'll add them back |
towncrier to automatically create changelog entriestowncrier
a901171 to
b913409
Compare
cd95b10 to
8e31c64
Compare
|
this will pair nicely with #8716 |
|
I really like this proposal in principle. I think everyone will be happier not having to de-conflict the change log all the time. But I have a few opinions about the proposed formatting:
Also, I'd like to propose that we hold off on transitioning to this system until after the next build -- development ends in just a couple weeks anyway. That way you don't have to try to keep the fragments in line with current development, and we can start fresh with a clean change log for the next build. |
I can do that, sure
I wanted to emphasize that this is the module name, but you're right it does make it more visually complex
That sounds great to me! I'll wait until the next build |
42f5db7 to
f316bc2
Compare
group changelog entries by stage and rough step order format change log entry fix backticks
f316bc2 to
7a70b31
Compare
tapastro
left a comment
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.
Looks good! Just a couple of requested additions to fragment types.
|
@zacharyburnett - can we also remove the back ticks around the pipeline names in the fragment types? |
melanieclarke
left a comment
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.
LGTM, when Tyler is happy. Thanks for all the updates -- looking forward to getting this in and never de-conflicting the change log again!
tapastro
left a comment
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.
Looks good, thanks!
related to #8670
using
towncrierto handle changelog entries willCHANGES.rstwe currently experience with PRsCHANGES.rstconsistent and eliminate duplicate sectionstowncrierexpects "news fragment" files (text files in thechanges/directory with filenames in the format<PR#>.<changetype>.rst, i.e. for this PR it would bechanges/8671.docs.rst). See docs at https://towncrier.readthedocs.io/en/latest/tutorial.html#creating-news-fragmentswhen ready to make a release, run
towncrier buildto ingest the news fragments and generate a changelog section inCHANGES.rstwith all the new change log entries for that release (this clears thechanges/directory of all news fragment files). This step should either be done before making a release, or could probably be added to a GitHub workflow triggered on release (to insert a commit and remake the tag).After merging this PR the
Release Processwiki page will need to be updated to include a step to runtowncrier buildinstead of manually editingCHANGES.rstTasks
Build 11.3(use the latest build if not sure)no-changelog-entry-needed)changes/:echo "changed something" > changes/<PR#>.<changetype>.rst(see below for change types)docs/pageokify_regteststo update the truth files