-
Notifications
You must be signed in to change notification settings - Fork 169
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
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 |
a34c75b
to
42f5db7
Compare
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
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? |
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!
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
towncrier
to handle changelog entries willCHANGES.rst
we currently experience with PRsCHANGES.rst
consistent and eliminate duplicate sectionstowncrier
expects "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 build
to ingest the news fragments and generate a changelog section inCHANGES.rst
with 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 Process
wiki page will need to be updated to include a step to runtowncrier build
instead of manually editingCHANGES.rst
Tasks
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_regtests
to update the truth files