-
Notifications
You must be signed in to change notification settings - Fork 3
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: John DeAngelis <[email protected]>
- Loading branch information
1 parent
7a9b6ee
commit dab8c50
Showing
1 changed file
with
35 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 |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# ADR 28: Semantic Releases | ||
|
||
Date: 10-31-2024 | ||
|
||
## Status | ||
|
||
Accepted | ||
|
||
## Context | ||
|
||
In order to maintain a consistent versioning scheme and to automate the release process, OPS has decided to use | ||
[semantic releases](https://github.com/semantic-release/semantic-release). | ||
This will allow for a fully automated and standardized release process that will be triggered by the CI/CD pipeline. | ||
|
||
Two specifications that are required to enable semantic releases are: | ||
|
||
1. The commit messages must follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification. | ||
2. The release process must follow the semantic versioning ([SemVer](https://semver.org)) specification. | ||
|
||
## Decision | ||
|
||
The OPS team came to a consensus to adopt the above specifications while workshopping the branching and release process as part of | ||
[2758](https://github.com/HHS/OPRE-OPS/issues/2758) | ||
|
||
## Consequences | ||
|
||
1. The commit messages will need to follow the Conventional Commits specification. | ||
2. pre-commit hooks will be added to the repository to enforce the Conventional Commits specification. | ||
3. The CI/CD pipeline will be updated to add a linter to enforce the Conventional Commits specification. | ||
4. The CI/CD pipeline will be updated to use [semantic releases](https://github.com/semantic-release/semantic-release) | ||
in order to automate the release process. | ||
5. The release process will follow the semantic versioning specification. | ||
6. All releases for all environments will be built from the `main` branch. | ||
7. All releases will be tagged with the appropriate version number. | ||
8. All the components in the monorepo, including the backend and frontend, will be versioned together. |