forked from torrust/torrust-index
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge torrust#346: docs: add release process
e93e5cd docs: add release process (Cameron Garnham) Pull request description: ACKs for top commit: da2ce7: ACK e93e5cd Tree-SHA512: 85c3af184402a32a4700db2477025c85009acf197893842785e2e64f1587f6794a3bba49753bcb3fce03fe1c0153b68b37e6a82a4cd580b2bb393f073a87a88f
- Loading branch information
Showing
1 changed file
with
95 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,95 @@ | ||
# Torrust Index Release Process (v2.2.2) | ||
|
||
## Version: | ||
> **The `[semantic version]` is bumped according to releases, new features, and breaking changes.** | ||
> | ||
> *The `develop` branch uses the (semantic version) suffix `-develop`.* | ||
## Process: | ||
|
||
**Note**: this guide assumes that the your git `torrust` remote is like this: | ||
|
||
```sh | ||
git remote show torrust | ||
``` | ||
|
||
```s | ||
* remote torrust | ||
Fetch URL: [email protected]:torrust/torrust-index.git | ||
Push URL: [email protected]:torrust/torrust-index.git | ||
... | ||
``` | ||
|
||
|
||
### 1. The `develop` branch is ready for a release. | ||
The `develop` branch should have the version `[semantic version]-develop` that is ready to be released. | ||
|
||
### 2. Stage `develop` HEAD for merging into the `main` branch: | ||
|
||
```sh | ||
git fetch --all | ||
git push --force torrust develop:staging/main | ||
``` | ||
|
||
### 3. Create Release Commit: | ||
|
||
```sh | ||
git stash | ||
git switch staging/main | ||
git reset --hard torrust/staging/main | ||
# change `[semantic version]-develop` to `[semantic version]`. | ||
git add -A | ||
git commit -m "release: version [semantic version]" | ||
git push torrust | ||
``` | ||
|
||
### 4. Create and Merge Pull Request from `staging/main` into `main` branch. | ||
|
||
Pull request title format: "Release Version `[semantic version]`". | ||
|
||
This pull request merges the new version into the `main` branch. | ||
|
||
### 5. Push new version from `main` HEAD to `releases/v[semantic version]` branch: | ||
|
||
```sh | ||
git fetch --all | ||
git push torrust main:releases/v[semantic version] | ||
``` | ||
|
||
> **Check that the deployment is successful!** | ||
### 6. Create Release Tag: | ||
|
||
```sh | ||
git switch releases/v[semantic version] | ||
git tag --sign v[semantic version] | ||
git push --tags torrust | ||
``` | ||
|
||
### 7. Create Release on Github from Tag. | ||
This is for those who wish to download the source code. | ||
|
||
### 8. Stage `main` HEAD for merging into the `develop` branch: | ||
Merge release back into the develop branch. | ||
|
||
```sh | ||
git fetch --all | ||
git push --force torrust main:staging/develop | ||
``` | ||
### 9. Create Comment that bumps next development version: | ||
|
||
```sh | ||
git stash | ||
git switch staging/develop | ||
git reset --hard torrust/staging/develop | ||
# change `[semantic version]` to `(next)[semantic version]-develop`. | ||
git add -A | ||
git commit -m "develop: bump to version (next)[semantic version]-develop" | ||
git push torrust | ||
``` | ||
|
||
### 10. Create and Merge Pull Request from `staging/develop` into `develop` branch. | ||
|
||
Pull request title format: "Version `[semantic version]` was Released". | ||
|
||
This pull request merges the new release into the `develop` branch and bumps the version number. |