Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

SPEC 10: Add an initial draft for a SPEC about release documentation#321

Draft
InessaPawson wants to merge 14 commits intoscientific-python:main from
InessaPawson:spec10
Draft

SPEC 10: Add an initial draft for a SPEC about release documentation #321
InessaPawson wants to merge 14 commits intoscientific-python:main from
InessaPawson:spec10

Conversation

@InessaPawson
Copy link
Member

@InessaPawson InessaPawson commented Jun 4, 2024
edited by pllim
Loading

Fix #242


TO DO

### Automation
Copy link
Member

@stefanv stefanv Jun 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tools --- we have several to mention; sp/changelist, towncrier, scipy wiki, astropy (two mechanisms? @pllim @bsipocz?)

Copy link
Member

@bsipocz bsipocz Jun 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actions to be used by either towncrier systems or by direct edits of a single changelog file (both approaches have legitime use cases):

https://github.com/scientific-python/action-towncrier-changelog
https://github.com/scientific-python/action-check-changelogfile

pllim reacted with thumbs up emoji
Copy link
Member

@bsipocz bsipocz Jun 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

quasi-automation: I do run cosistency checking scripts before cutting a release to ensure all PRs in a release either have a changelog, or e.g. a no-changelog-required label. So in my mind the actions are required for the PR, but in practice there is always some inconsistencies, especially when there are many people doing merges with significantly different level of tolerance towards failing CI checks.

Copy link
Contributor

@lucascolley lucascolley Sep 28, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be useful to gather info from projects which use more niche workflows (like SciPy) on what stops them from moving to an automated tool, to help guide readers. There is generic dev workflow churn, but any other reasons are probably more informative.

stefanv and InessaPawson reacted with thumbs up emoji
Copy link
Member Author

@InessaPawson InessaPawson Oct 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lucascolley Yes, there are always exemptions. Could you point me to the SciPy documentation that covers this part?

Copy link
Contributor

@lucascolley lucascolley Oct 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a bit of documentation at https://scipy.github.io/devdocs/dev/core-dev/index.html#release-notes. We recently also introduced a "needs-release-note" tag to try to reduce the chance that PRs are missed.

InessaPawson reacted with thumbs up emoji

### Automation

TO DO
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

@bsipocz bsipocz Jun 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but this document is not about releasing, but just the changelog, and thus automation for me means e.g. the github actions checking the existence of a changelog, or the changelog framework itself, e.g. creating one single changelog file from the fragments for towncrier

guenp reacted with thumbs up emoji
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In my mind, generating the changelog and the release are tightly coupled and usually happens at the same time, so for any automation to happen it would be in the same file. here is an example of an automated release pipeline generated with the above docs that also generates release notes automatically: https://github.com/duckdb/dbt-duckdb/blob/master/.github/workflows/release.yml

There is also a --notes tag that lets you add custom (generated or manually entered) notes

Copy link
Member

@bsipocz bsipocz Jun 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like to have the changelog available, and complete/correct during the dev process already, it's quite useful for big projects, but I also find it somewhat useful to enforce the presence the changelog at the time a contribution is made

InessaPawson reacted with thumbs up emoji
- maintaining accuracy of the records about the changes in each release (e.g.,
adding essential information that was left out when the initial changelog was published)
- improving clarity and readability of the change log. Try to avoid nitpicking when
making edits to the changelog.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Slightly related and not sure myself: should changelogs link to API like functions etc when rendered by sphinx? This can be very nice from a user perspective but over time, these references tend to get stale pretty fast due to deprecations, etc. We should probably mention this trade-off in some capacity.

pllim reacted with thumbs up emoji
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, for that reason, astropy no longer put "live" links (especially intersphinx stuff) in changelog, so we don't have to go back and fix broken links N number of years later, and thus changing history (and if you type at 88mph, more bad things might also happen). Some URLs still snuck in and we handle those as need arise. Our decision had oppositions, so it is not perfect solution either.

### Editing a Changelog

It is generally acceptable to edit a changelog for the following reasons:
- maintaining accuracy of the records about the changes in each release (e.g.,
Copy link
Member

@nabobalis nabobalis Jun 4, 2024
edited
Loading

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We use nitpicky so any sphinx links in our changelog can often break with new releases. So that is a very common reason to edit our changelog.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does "maintaining accuracy" include fixing typo?


## Notes

<!--
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another thing @InessaPawson and I chatted about is to provide a template for a GitHub profile readme that shows OSS/Scientific Python contributions:
https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme

InessaPawson reacted with thumbs up emoji
Copy link
Member Author

@InessaPawson InessaPawson Oct 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@guenp After giving it more thought, I wonder if this info belongs to the SPEC about release documentation. I will keep the conversation open to gather feedack from others.

@InessaPawson InessaPawson changed the title (削除) Add initial draft for SPEC about keeping a changelog (削除ここまで) (追記) Add initial draft for SPEC about release documentation (追記ここまで) Jun 5, 2024
@InessaPawson InessaPawson linked an issue Jun 5, 2024 that may be closed by this pull request
- **Security**: Vulnerability fixes.

### Standard Changelog Format
There is not one standard changelog format.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should at least list some that are recommended (and give reasons why they are recommended)?

InessaPawson reacted with thumbs up emoji
Copy link
Contributor

pllim commented Jun 5, 2024

pre-commit.ci autofix

pre-commit-ci[bot] reacted with rocket emoji

Copy link
Contributor

pllim commented Jun 5, 2024

Should there also be a section about "when you should not put things in change log"?

InessaPawson reacted with thumbs up emoji

@InessaPawson InessaPawson changed the title (削除) Add initial draft for SPEC about release documentation (削除ここまで) (追記) Add initial draft for SPEC about changelog and release documentation (追記ここまで) Jun 11, 2024
@InessaPawson InessaPawson changed the title (削除) Add initial draft for SPEC about changelog and release documentation (削除ここまで) (追記) SPEC10: Add initial draft for SPEC about changelog and release documentation (追記ここまで) Jun 11, 2024
Copy link
Contributor

pllim commented Oct 7, 2024

pre-commit.ci autofix

pre-commit-ci[bot] reacted with rocket emoji

@InessaPawson InessaPawson changed the title (削除) SPEC10: Add initial draft for SPEC about changelog and release documentation (削除ここまで) (追記) SPEC10: Add an initial draft for a SPEC about release documentation (追記ここまで) Oct 8, 2024
@InessaPawson InessaPawson changed the title (削除) SPEC10: Add an initial draft for a SPEC about release documentation (削除ここまで) (追記) SPEC 10: Add an initial draft for a SPEC about release documentation (追記ここまで) Oct 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@stefanv stefanv stefanv left review comments

@bsipocz bsipocz bsipocz left review comments

@lagru lagru lagru left review comments

+4 more reviewers

@nabobalis nabobalis nabobalis left review comments

@pllim pllim pllim left review comments

@guenp guenp guenp left review comments

@lucascolley lucascolley lucascolley left review comments

Reviewers whose approvals may not affect merge requirements

At least 1 approving review is required to merge this pull request.

Assignees

No one assigned

Labels

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

SPEC10: changelog and release documentation

AltStyle によって変換されたページ (->オリジナル) /