- 
                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