Skip to content

Latest commit

 

History

History
87 lines (62 loc) · 1.8 KB

CONTRIBUTING.md

File metadata and controls

87 lines (62 loc) · 1.8 KB

How to contribute

Welcome to the project, we look forward to you contributing.

Here are some important resources:

  • Bugs? Create issues here

Testing

As you contribute features please write unittests.

We use pytest as our test runner.

conda env update -f cwt/tests/environment.yml

pytest

Submitting changes

Changes should be made in a branch based on the devel branch. Once your done adding your feature and unittests create a pull request, after review the feature will be merged back into the devel branch.

Coding conventions

We use flake8 to keep consistent styling.

Branching workflow

We follow the GitFlow model. See below for a quick summary.

  • Main branches
    • master: Contains latest stable production code
    • devel: Contains latest development code
  • Supporting branches

Feature

  • Based on devel branch
  • Merge changes into devel branch
git checkout -b <feature> devel
... Make changes
git checkout devel
git merge <feature>

Release

  • Base on devel branch
  • Merge changes into devel and master branch
  • Create tag (vX.X.X) based on current master
git checkout -b <release> devel
... Make changes
git checkout devel
git merge <release>
git checkout master
git merge <release>

git tag <tag>

Hotfix

  • Base on tag that requires fix
  • Merge changes into devel and master branch
  • Create tag (vX.X.X) based on current master
git checkout -b <hotfix> <tag>
... Make changes
git checkout devel
git merge <release>
git checkout master
git merge <release>

git tag <new tag>