Skip to content

Commit

Permalink
docs: add release guide (#193)
Browse files Browse the repository at this point in the history
Signed-off-by: Nam Hoang <[email protected]>
  • Loading branch information
namhoang1604 authored Jan 3, 2025
1 parent c9ba738 commit 1dfacbd
Show file tree
Hide file tree
Showing 2 changed files with 75 additions and 0 deletions.
1 change: 1 addition & 0 deletions .github/workflows/create-changelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- release/*
- hotfix/*
workflow_dispatch:

permissions:
Expand Down
74 changes: 74 additions & 0 deletions RELEASE_GUIDE.md
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.

0 comments on commit 1dfacbd

Please sign in to comment.