Skip to content

Commit fd7e475

Browse files
Added release playbook for project deployment.
Signed-off-by: Leander Stephen D'Souza <leanderdsouza1234@gmail.com>
1 parent 2d2d01e commit fd7e475

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

release_playbook.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Release Playbook
2+
3+
This playbook outlines the steps to release a new version of the `vcs2l` project. It includes tasks for updating version tags, generating changelogs, and publishing the release to GitHub.
4+
5+
## 1. Release PR
6+
7+
### Creation steps
8+
* Create the PR with the branch name - `github-username/release-x.y.z` where `x.y.z` is the new version number.
9+
* Update the version tag in [`vcs2l/__init__.py`](./vcs2l/__init__.py) file.
10+
* Update the [Changelog](CHANGELOG.rst) to include all the PRs merged since the last release. Also update the contributors involved in this release.
11+
* Make sure that this is done with the commit message as `x.y.z`.
12+
* Push the changes and create a PR against the `main` branch.
13+
14+
### Merging steps
15+
* Make sure to rebase the PR if the `main` branch has moved ahead:
16+
```bash
17+
git fetch origin main
18+
git checkout github-username/release-x.y.z
19+
git rebase origin/main
20+
git push --force-with-lease origin github-username/release-x.y.z
21+
```
22+
23+
* Upon approval, use the following commands to merge the PR:
24+
25+
```bash
26+
git checkout main
27+
git merge --ff-only github-username/release-x.y.z
28+
git push origin main
29+
```
30+
31+
## 2. Tagging the release
32+
After merging the PR, create a new tag for the release using the following commands:
33+
34+
```bash
35+
git checkout main
36+
git tag x.y.z
37+
git push origin x.y.z
38+
```
39+
40+
## 3. Publishing the release on GitHub
41+
* Navigate to the [Releases](https://github.com/ros-infrastructure/vcs2l/releases/new) page, and select the tag you just pushed.
42+
* Fill in the release title as `x.y.z`.
43+
* Create the release notes by using the `Generate release notes` button.
44+
* Publish the release by setting it as the latest release.
45+
* This will automatically trigger the GitHub Actions workflow to publish the package to PyPI.

0 commit comments

Comments
 (0)