-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Nam Hoang <[email protected]>
- Loading branch information
1 parent
c9ba738
commit 1dfacbd
Showing
2 changed files
with
75 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 |
---|---|---|
|
@@ -4,6 +4,7 @@ on: | |
push: | ||
branches: | ||
- release/* | ||
- hotfix/* | ||
workflow_dispatch: | ||
|
||
permissions: | ||
|
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,74 @@ | ||
# RELEASE GUIDE | ||
|
||
This document provides a step-by-step guide for preparing, releasing, and deploying a new version of the application. | ||
|
||
--- | ||
|
||
## Table of Contents | ||
|
||
1. [Pre-Release Checklist](#pre-release-checklist) | ||
2. [Version Bumping](#version-bumping) | ||
3. [Post-Release Steps](#post-release-steps) | ||
4. [Hotfix Release](#hotfix-release) | ||
5. [Troubleshooting](#troubleshooting) | ||
|
||
--- | ||
|
||
## 1. Pre-Release Checklist | ||
|
||
Before starting the release process, ensure: | ||
|
||
- [ ] All pull requests for the release are merged on next branch. | ||
- [ ] Create `release/*` branch from `next` branch. | ||
- [ ] Update version and dependencies the steps mentioned in [Version Bumping](#version-bumping). | ||
- [ ] Generate new version of documentation if there are any changes. | ||
- [ ] All unit, integration, and end-to-end tests pass. | ||
- [ ] Merge the PR for changelog automatically generated by the changelog pipeline. | ||
- [ ] Create a PR for the `release/*` branch to `main` branch. | ||
- [ ] Get approval from the team. | ||
- [ ] Merge the PR to `main` branch. | ||
- [ ] Relevant stakeholders are informed. | ||
|
||
--- | ||
|
||
## 2. Version Bumping | ||
|
||
1. Determine the new version number based on [Semantic Versioning](https://semver.org/): | ||
|
||
- Patch: Bug fixes (e.g., 1.0.1 → 1.0.2) | ||
- Minor: New features, backward-compatible (e.g., 1.0.2 → 1.1.0) | ||
- Major: Breaking changes (e.g., 1.1.0 → 2.0.0) | ||
|
||
2. Update the version in: | ||
- `package.json` and `version.json` files. | ||
- Make sure all dependencies in `package.json` are up-to-date and compatible with the new version. | ||
- Make sure all dependencies in `version.json` are up-to-date and compatible with the new version. | ||
- Update documentation version if necessary. | ||
- Update API version if necessary. | ||
|
||
--- | ||
|
||
## 3. Post-Release Steps | ||
|
||
- [ ] Merge the `main` branch to `next` branch. | ||
|
||
--- | ||
|
||
## 4. Hotfix Release | ||
|
||
In case of a critical bug or security issue, a hotfix release is required. Follow these steps: | ||
|
||
1. Create a new branch from `main` branch with the name `hotfix/*`. | ||
2. Make the necessary changes and commit them. | ||
3. Update the version number in `package.json` and `version.json` files following the [Version Bumping](#version-bumping) steps. | ||
4. Create a PR for the `hotfix/*` branch to `main` branch. | ||
5. Get approval from the team. | ||
6. Merge the PR to `main` branch. | ||
7. Merge the `main` branch to `next` branch. | ||
|
||
--- | ||
|
||
## 5. Troubleshooting | ||
|
||
- **Build failed:** Check logs for errors in dependencies or configurations. | ||
- **Tests failed:** Investigate the specific test cases and fix issues. |