Skip to content

Latest commit

 

History

History
73 lines (47 loc) · 1.89 KB

CONTRIBUTING.md

File metadata and controls

73 lines (47 loc) · 1.89 KB

Contributing guide

Requirements

Commit message format

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.

Test coverage

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 just to run test locally:

  • just test-lint - execute linter tests
  • just test-unit - execute unit tests

Development flow.

Although, you could choose your own approach to create branches, develop code and provide new PR, we recommend following.

  1. Fork this project and clone it to local PC.

  2. Add this project as a new remote named upstream.

    git remote add upstream https://github.com/eshepelyuk/cmak-operator.git
    git fetch upstream
  3. 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>
  4. Develop your code locally, test and commit.

    git commit -am '<COMMIT MESSAGE>'
  5. Before pushing code to origin ensure your working branch is rebased onto upstream/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.

  6. Push your branch and create a PR via GitHub UI.

    git push -u -f origin <BRANCH NAME>