Skip to content

Commit

Permalink
Merge torrust#346: docs: add release process
Browse files Browse the repository at this point in the history
e93e5cd docs: add release process (Cameron Garnham)

Pull request description:

ACKs for top commit:
  da2ce7:
    ACK e93e5cd

Tree-SHA512: 85c3af184402a32a4700db2477025c85009acf197893842785e2e64f1587f6794a3bba49753bcb3fce03fe1c0153b68b37e6a82a4cd580b2bb393f073a87a88f
  • Loading branch information
da2ce7 committed Oct 15, 2023
2 parents f0662e0 + e93e5cd commit 11ef88a
Showing 1 changed file with 95 additions and 0 deletions.
95 changes: 95 additions & 0 deletions docs/release_process.md
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.

0 comments on commit 11ef88a

Please sign in to comment.