-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
27 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,27 @@ | ||
# Branching strategy and code quality | ||
|
||
## Branching strategy | ||
|
||
This project uses the Trunk Based Development branching strategy. | ||
This strategy seeks to avoid long-running feature/release branches and all work is based on ```main```. | ||
|
||
Small tweaks and chore work can be done directly on ```main``` but more complex features including logic | ||
should be done in a feature branch and merged back into ```main``` via a pull request. | ||
|
||
Long-running feature branches that drift too far from ```main``` should be avoided to avoid merge conflicts. | ||
|
||
Feature branches should be squashed and rebased onto main before being fast-forwarded into main. | ||
This ensures an easy-to-follow git history and avoids merge commits. | ||
|
||
## Code quality and rules | ||
|
||
Before pushing to main/raising a pull request, ensure the following: | ||
- The build is passing and any relevant tests are passing. | ||
- The code is formatted correctly. | ||
- Errant comments and debug code are removed. | ||
|
||
The following checks/actions run on every pull request or main push: | ||
|
||
- **Web .NET Build** - Builds the solution and runs unit/integration tests. Pass or fail. | ||
- **SonarCloud** - Static code analysis with a pre-configured quality gate (Note: Currently under review) | ||
- **Web E2E Tests** - Runs the end-to-end tests against the deployed site. Pass or fail. (In development) |