Repository navigation
Prepare Release workflow and towncrier changelog (as in anyplotlib) - #61
Merged
Merged
Conversation
- .github/workflows/prepare_release.yml (run from the Actions tab): bumps the version in pyproject.toml, builds CHANGES.rst from upcoming_changes/ with towncrier and opens a Release PR. Publishing a GitHub release still runs publish.yaml, which uploads to PyPI (its trusted publisher is unchanged). - Versions become major.minor.patch (5.3b6 -> 5.3.0b7, the same version under PEP 440); deapi/version.py, the protocol version sent to DE-Server, is left alone. - upcoming_changes/README.rst explains the fragment types and naming.
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings deapi's release process in line with anyplotlib and de-twin: a Prepare Release workflow plus a towncrier changelog.
How a release works after this
pre-release:5.3b6→5.3.0b7finalize:5.3b6→5.3.0minor,bugfix,major, with an optional beta flagversioninpyproject.toml, buildsCHANGES.rstfrom the fragments inupcoming_changes/, and opens a Release v… PR. Review it and merge.v<version>onmain, and tick "pre-release" for betas. Publishing it runs the existingpublish.yaml, which uploads to PyPI.What's included
.github/workflows/prepare_release.yml: anyplotlib's workflow, with these changes:5.3b6).[tool.towncrier]inpyproject.toml: the same fragment types as anyplotlib (api_change,new_feature,bugfix,deprecation,removal,doc,maintenance). Entries link to deapi PRs.upcoming_changes/README.rst: how to name and write fragments, adapted from anyplotlib's.CHANGES.rst: a.. towncrier release notes startmarker above the existing entries. Older entries are unchanged.Choices to review
major.minor.patch, so5.3b6is followed by5.3.0b7. That's the same version as5.3b7under PEP 440, so pip ordering doesn't change. Tags follow asv5.3.0b7, replacing thev5.3beta7style.deapi/version.pyisn't bumped. Itsversionis the client/protocol version that the client sends to DE-Server, andversionInfoparses it as integers. The workflow only changes the package version inpyproject.toml.publish.yamlis unchanged. PyPI's trusted publisher is tied to that workflow's filename, so renaming or rewriting it would need the PyPI settings changed too.GITHUB_TOKEN, as in anyplotlib, so push an empty commit or close and reopen the PR to run it.Tested locally
5.3b6,5.3.0b7and5.3.0with every bump, gives the versions above. It refuses bumps that would skip a pending 5.3.0.towncrier build --yes, run on a copy with this PR's fragment, writes a new5.3.0b7 (date)section under the marker and deletes the fragment.