This release workflow leverages release-it, Docker, Docker Compose, GitHub Actions, and a set of custom CLI bash scripts to manage the release process. The workflow adheres to Semantic Versioning (SemVer) and supports both beta pre-releases and final releases.
- Create a feature PR.
- Make sure all the checks pass.
- Rebase and merge the PR.
- GitHub Actions creates a pre-release PR with updated changelog and version.
- Merge the pre-release PR.
- GitHub Actions creates relevant GitHub releases and builds relevant Docker images.
- Utilize manual GitHub Actions to deploy the services.
The release process is conducted using SemVer conventions. To update a changelog and bump a version the following command is used:
npm run release -w apps/$APP -- --verbose --ci
--verbose
: Provides detailed output for troubleshooting.--ci
: Ensures the release runs in a continuous integration environment.
Scripts that are used in the release process are located in the docker
package. These scripts are used to build Docker images, deploy services, and manage the release process. Check out the README.md for more details.
release-it
config is also shared via local packages.
- implement actual deployment to infra as currently only the Docker image is build and pushed