-
Notifications
You must be signed in to change notification settings - Fork 23
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
develop
branch - Create a branch named
release/x.x.x
from thedevelop
branch. - On the newly created release branch, update the CHANGELOG.md by renaming the
Unreleased
section tox.x.x
. - Update the links at the bottom of the CHANGELOG.md to reference the
vx.x.x
tag. This tag will be created in a later step. - Edit the version in pyproject.toml to be
x.x.x-rc1
- Run
poetry update
to 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
develop
branch, edit the version in pyproject.toml to bex.x+1.x-a0
to allow for development to continue while the release is being worked on - Edit the changelog by renaming the
Unreleased
section tox.x.x
and creating a new blankUnreleased
section. - 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.x
and 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.x
which targetsmain
. - Set the pull request to close the issue created in Step 1
- Request review/feedback from other users
- Merge the pull request to
main
using a merge commit - Edit the pyproject.toml to drop the
rcx
qualifier and commit and push the change tomain
- On the release page https://github.com/nasa/python_cmr/releases, click "Draft a new release".
- Target
main
and 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
main
back 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