* Next Dev Version: `1.3dev`
* Source Branch: `main`
Release Workflow
The release on Github and PyPi performed from a release branch while the release branch PR is in progress. After the releases, the version in the PR is updated before it is merged. Thus, the version in `main` is not the same as the version of the release.
*NOTE: This section refers to version and branch names given in Release Naming Conventions section above.*
1. Starting from the Source Branch, create a release branch named `release-{Release Version}`
1. Make the following changes for the release:
* Update `CHANGELOG.md`, adhering to [Keep a Changelog](https://keepachangelog.com/)
* Update `pyproject.toml` to Release Version
1. Create a PR for the release branch (named after release branch, description is changelog entry, base is Source Branch), wait for CI to pass
1. Create a new github release:
* Set Tag to Release Version
* **!!!** Set Target to the release branch **!!!**
* Set Title to Tag Release Version
* Copy Description from the new entry in the changelog
* Select "This is a pre-release" if applicable
1. Verify the successful run of the Github Action "Autopublish to TestPyPi" and validate the test release on [test.pypi.org](https://test.pypi.org/project/juypterscad/)
1. Run the Github Action "Publish on PyPi", **!!!** Set Branch to the release branch **!!!** This will also deploy the docs to gh-pages.
1. Verify the successful run of the Github Action "Publish on PyPi" and validate the release on [pypi.org](https://pypi.org/project/juypterscad/)
1. Push a commit to the PR updating `pyproject.toml` to Next Dev Version
1. Merge PR
1. Maintenace release only: Merge release tag into `main`