This repository uses Conventional Commits.
Use only following types to create valid commit messages:
feat
, for a new functionality.fix
, for a bug fixes.chore
, for everything else (CI/CD, docs, etc)
Also, we would like PRs to contain a single commit and be rebased onto project master
branch before submitting.
The project is covered by following types of tests
- linter tests -
test/linter
- unit tests -
test/unit
- e2e tests -
test/e2e
Every PR should provide appropriate amount of testing, corresponding to its scope.
Use GNU Make
to run test locally:
make test-lint
- execute linter testsmake test-unit
- execute unit tests
Although, you could choose your own approach to create branches, develop code and provide new PR, we recommend following.
-
Fork this project and clone it to local PC.
-
Add this project as a new remote named
upstream
.git remote add upstream https://github.com/eshepelyuk/cmak-operator.git git fetch upstream
-
Create a new branch, based on
upstream
master and push it to your repository.git checkout --no-track -b <BRANCH NAME> upstream/master git push -u origin <BRANCH NAME>
-
Develop your code locally, test and commit.
git commit -am '<COMMIT MESSAGE>'
-
Before pushing code to
origin
ensure your working branch is rebased ontoupstream/master
.git fetch upstream git rebase -i upstream/master
During rebase, make your PR to be comprised of a single commit, unless, you really want to provide multiple commits via single PR.
-
Push your branch and create a PR via GitHub UI.
git push -u -f origin <BRANCH NAME>