Thinking of contributing to the project? Super 😊, we are grateful and excited for the support.
When contributing to this repository, please first discuss the change you wish to make via an issue, email, or any other method with the owners of this repository before making a change. You can also pick an existing issue.
Please note we have a Code of Conduct, follow it in all your interactions with the project.
- Visual Studio 2022 or JetBrains Rider is preferred, however any modern .NET IDE can also be used.
- Docker is required to run the integration tests locally.
- Ensure you follow the style guidelines of this project when writing code.
- Ensure unit tests are written or updated for the feature, bugfix or hotfix.
- Add code comments if necessary to hard-to-understand code.
- Add documentation comments to new public APIs created.
- Document new features in project
ReadMe
if necessary.
- Fork the repository.
- Create a branch from
develop
to work with and usefeature/
,bugfix/
orhotfix/
as a prefix. - Implement change
- Once done, rebase from
develop
and create a pull request to merge intodevelop
.
To run the tests, you can run them via your IDE test explorer or via the .NET CLI.
Note: If you don't have Docker installed, the integration tests will fail as we use TestContainers to run them. You can either not run them or install Docker to run them locally.
Git Flow
---
title: Git Flow
---
gitGraph
commit tag: "1.0.0"
branch develop
branch feature
commit
commit
checkout develop
merge feature id: "feature merge" tag: "1.1.0-beta"
branch bugfix
commit
commit
checkout develop
merge bugfix id: "bugfix merge" tag: "1.1.1-beta"
branch release
commit id: "prepare release"
checkout main
merge release tag: "1.1.3"
checkout develop
merge main
checkout main
branch hotfix
commit
checkout main
merge hotfix tag: "1.1.4"
checkout develop
merge main
- New features, enhancements and bug fixes should be branched off from
develop
branch. hotfix
branches should be branched off frommain
branch.- All pull request(s) into
develop
branch should be completed with asquash merge
. - Only
release/*
or ahotfix/*
branch should be merged (merge commit
) intomain
. - Once
develop
has reached a release milestone, create arelease
branch fromdevelop
, setup a pull request, and then merge (merge commit
) intomain
. Finally deleterelease
branch. - Once a stable release has been published,
main
should be merged (merge commit
) intodevelop
.
Important Pull Request Labels
The following labels are used to categorize pull requests and define what is documented in the release. See release.yml for release docs configuration.
hotfix
- Pull request fixes a major bug in the latest release and needs to be merged ASAP.breaking-change
- Pull request that adds a new feature, bugfix or enhancement which introduces a breaking change.feature
- Pull request adds a new feature.bugfix
- Pull request fixes a bug.enhancement
- Pull request improves an existing feature.documentation
- Pull request updates documentation.ci-cd
- Pull request improves the CI/CD pipeline.ignore-for-release
- Pull request should not be included in the release docs.
Click here to view the full list of label.