Skip to content

Contributing guidelines & workflows

Jan Benisek edited this page Mar 17, 2021 · 18 revisions

General remarks

  • Make sure to follow the PEP 8 styleguide if you make any changes to cobra (we use pylint linter).
  • You should also write or modify unit test for your changes.
  • We are using templates when submitting PR or Issue, please follow them.
  • Make sure you add Issue number with # to the commit message.
  • For versioning, we are following the rules of semantic versioning.
  • We are following Gitflow workflow.

Contribution from outside of Python Prediction

The preferred way to contribute to cobra is to fork the main repository on GitHub, then submit a "pull request" (PR). The first step is to get a local development copy by installing cobra from source through the following steps:

  • Fork the project repository <https://github.com/PythonPredictions/cobra>_. For more details on how to fork a repository see this guide <https://docs.github.com/en/free-pro-team@latest/github/getting-started-with-github/fork-a-repo>__
  • Clone your fork of cobra's repo.
  • Open a shell and navigate to the folder where this repo was cloned in.
  • Once you are in the folder, execute pip install --editable ..
  • Create a feature branch to do your development.
  • Once your are finished developing, you can create a pull request from your fork (see this guide <https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork>__ for detailed instructions).
  • To avoid duplicating work, it is highly recommended that you search through the issue tracker and/or the PR list. If in doubt, you can always reach out to us through email ([email protected])

Contribution from our team members

  • Pull latest version of development branch to your local repository.
  • Create a feature branch from the develop branch (follow the correct naming).
  • Push your feature branch to the remove and request pull request (PR).
  • PR has to have at least one reviewer. Once your PR has been approved, your work is done.
  • After, the feature branch can be deleted.

Release workflow

  • Once we finish our milestone (has name of next release), we will create a release
  • Before merging develop into master branch, it is recommended to first merge master into branch to avoid polluting master branch [1]
  • After PR is approved, we tag the version as a release
  • Automated CI pipeline will build and release the packgae on pip (To Be Done)

GitHub actions

  • development_CI.yaml - runs pylint and pytest whenever we push to develop

Sources

Clone this wiki locally