Skip to content

Commit

Permalink
docs: add ADR
Browse files Browse the repository at this point in the history
Signed-off-by: John DeAngelis <[email protected]>
  • Loading branch information
johndeange committed Oct 30, 2024
1 parent 7a9b6ee commit dab8c50
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions docs/adr/028-semantic-releases.md
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.

0 comments on commit dab8c50

Please sign in to comment.