This document provides a step-by-step guide for preparing, releasing, and deploying a new version of the application.
Before starting the release process, ensure:
- All pull requests for the release are merged on next branch.
- Create
release/*
branch fromnext
branch. - Update version and dependencies the steps mentioned in 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 tomain
branch. - Get approval from the team.
- Merge the PR to
main
branch. - Relevant stakeholders are informed.
-
Determine the new version number based on Semantic Versioning:
- 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)
-
Update the version in:
package.json
andversion.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.
- Merge the
main
branch tonext
branch.
In case of a critical bug or security issue, a hotfix release is required. Follow these steps:
- Create a new branch from
main
branch with the namehotfix/*
. - Make the necessary changes and commit them.
- Update the version number in
package.json
andversion.json
files following the Version Bumping steps. - Create a PR for the
hotfix/*
branch tomain
branch. - Get approval from the team.
- Merge the PR to
main
branch. - Merge the
main
branch tonext
branch.
- Build failed: Check logs for errors in dependencies or configurations.
- Tests failed: Investigate the specific test cases and fix issues.