-
Notifications
You must be signed in to change notification settings - Fork 24
Release Process
Frank Greguska edited this page Sep 13, 2024
·
3 revisions
This page outlines the steps necessary to create a new release of the python_cmr package.
Open a new issue in the repository with a label question. The discussion should agree whether the release is a major, minor, or patch release and the new semantic version should be agreed on. This new version will be referred to as x.x.x in the following steps.
- Pull the latest revision from the
developbranch - Create a branch named
release/x.x.xfrom thedevelopbranch. - On the newly created release branch, update the CHANGELOG.md by renaming the
Unreleasedsection tox.x.x. - Update the links at the bottom of the CHANGELOG.md to reference the
vx.x.xtag. This tag will be created in a later step. - Edit the version in pyproject.toml to be
x.x.x-rc1 - Run
poetry updateto update the dependencies of the package and commit the lock file to the branch - Ensure the github action https://github.com/nasa/python_cmr/actions/workflows/python-app.yml passes, may need to fix linting errors or ask for help with any failing tests.
- On the
developbranch, edit the version in pyproject.toml to bex.x+1.x-a0to allow for development to continue while the release is being worked on - Edit the changelog by renaming the
Unreleasedsection tox.x.xand creating a new blankUnreleasedsection. - Commit & Push the changes to the develop branch
- On the release page https://github.com/nasa/python_cmr/releases, click "Draft a new release".
- Target
release/x.x.xand create a new tag calledvx.x.x-rc1. - Set the previous release to the most recent release (excluding pre-releases) before this one and click generate release notes.
- Check the box for Set as a pre-release
- Publish the release
This will publish the release to pypi via https://github.com/nasa/python_cmr/actions/workflows/python-publish.yml.
- Open a pull request from
release/x.x.xwhich targetsmain. - Set the pull request to close the issue created in Step 1
- Request review/feedback from other users
- Merge the pull request to
mainusing a merge commit - Edit the pyproject.toml to drop the
rcxqualifier and commit and push the change tomain - On the release page https://github.com/nasa/python_cmr/releases, click "Draft a new release".
- Target
mainand create a new tag calledvx.x.x. - Set the previous release to the most recent release (excluding pre-releases) before this one and click generate release notes.
- Check the box for Set as latest release
- Publish the release
-
Important Merge
mainback intodevelop. There will be merge conflicts in the pyproject.toml and CHANGELOG (at a minimum) that will need to be manually resolved
Post a message to the #cmr channel on eosdis.slack.com