-
Notifications
You must be signed in to change notification settings - Fork 10
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
replace changelog.md with support for github releases #345
Comments
From our discussion: anndata/scanpy instead use towncrier together with some custom scripts1, but we decided that ecosystem packages rarely end up needing that. Footnotes
|
Few ideas that I observed:
In general, having a changelog as a file is really nice in the context of documentation. Also simplify contribution with bug fixes. In napari we have used such a changelog to provide also highlights (what are the most important changes). I agree that contributing to The release manage should already have the repository copied on his machine to validate if everything is working. |
Hi @Czaki , thanks for your comment. Note that we don't want to abolish changelogs, we just want to replace it with a changelog automatically generated by GitHub. This is basically equivalent to
except that it doesn't require any custom tooling. The changelog would then be git Github release page, e.g. spatialdata. This can be linked from the documentation. If you want to show highlights, it is easy to manually edit the text and adjust it.
The release workflow we are proposing in this template doesn't require a release manager or a local machine. By using the PyPI "trusted publishing" workflow, it is as simple as create a release on GitHub. Of course one of your three options above could also be achieved with a custom github action, but I think the GitHub releases provide a decent default with no maintenance cost. |
It is not equivalent. In such a situation, changelog is strongly connected to a single propertiary platform, is not easy searchable, lives outside the documentation.
It could be done only by a person with write/admin access to the repository. With the file, any person could contribute suggestions for changes.
I still do not found a way to create tag without a copy of the repository on my local machine (with exception to custom callable workflow, that will have dangerous permission). Also, without a release manager, who will be responsible to checking if code is in good quality to release? |
I agree with the proprietary platform, but we (i.e. scverse) and this template are heavily bought into GitHub anyway (github actions, github apps, issue tracker etc.)
That's fair
Creating a release on GitHub does create a tag at the same time
IMO the main branch should always be of sufficient quality to make a release. I'm also not saying it's the perfect solution for everyone. But I do believe it's a reasonable default for most projects, especially for ecosystem packages that might not be maintained by highly experienced developers. |
One thing to go into is also conventional commits, especially when coupled with commitizen. Maybe not for the template, as it’s pretty opinionated, but it would allow to get completely automated releases (and setting a label is also easy enough) |
The text was updated successfully, but these errors were encountered: