diff --git a/docs/release-process.md b/docs/release-process.md index fadb35530..877ebff3d 100644 --- a/docs/release-process.md +++ b/docs/release-process.md @@ -2,19 +2,36 @@ The following steps are needed to create a release. -Create a tag on the commit that should be released: +1. **Generate the Changelog** + - Run the following command to generate the changelog on the `main` branch: + ```bash + make changelog + ``` + - Create a new branch for the release: + ```bash + export VERSION=v0.0.1 + git checkout -b /release-${VERSION} + ``` -```bash -export VERSION=v0.0.1 -git tag --sign --message="Version ${VERSION}" "${VERSION}" -``` +2. **Review and Update the Changelog** + - Review the generated changelog and make updates if necessary. + - If needed (e.g., for a minor release), manually update the version in `.punch_version.py` to match the release version. + - Add a `Deployment Notes` section to the changelog, if relevant or needed. -Push the tag upstream: +3. **Create and Merge a Pull Request** + - Create a pull request from the `/release-${VERSION}` branch. + - Get the pull request reviewed and merged into `main`. -```bash -git push origin "${VERSION}" -``` +4. **Pull the Latest Changes** + - Switch to the `main` branch and pull the latest changes: + ```bash + git checkout main + git pull + ``` -This will trigger the `release` GitHub Action that will create and publish a -release, together with the changelog with changes since the previous release. -Commit messages are used to generate the changelog. +5. **Create the Release Tag** + - Run the following command to create the release tag: + ```bash + make release-tag + ``` + - This will trigger the `release` GitHub Action to create and publish the release, including the changelog with changes since the previous release.