Skip to content

Latest commit

 

History

History
102 lines (79 loc) · 2.58 KB

CONTRIBUTING.md

File metadata and controls

102 lines (79 loc) · 2.58 KB

Contributing

Development

Dependencies

For development, you need the extra dependencies:

pip install -r requirements_dev.txt

Tests

Tests are run by Pytest with:

pytest

Both Pytest style and standard Unittest style tests can be used. Coverage is checked automatically with Pytest-cov.

Imports

Imports are sorted by isort with the command:

isort .

You need to call isort before committing changes.

Code style

The code follows the PEP8 style guide (88 characters per line). Quality of code is checked with Flake8:

flake8

Style is enforced using Black:

black .

You need to call Black before committing changes. You may want to configure your editor to call it automatically. Additionnal checking can be manually performed with Pylint.

Hooks

Pre-commit hooks allow to perform checks before commiting changes. They are managed with Pre-commit, use the following command to install them:

pre-commit install

Release

  1. Move to the develop branch and pull.
    git checkout develop
    git pull
    If there are cosmetic modifications to perform on the changelog file, do it now.
  2. Call the bump version script:
    ./bump_version.sh 0.0.0 0.1.0
    with 0.0.0 the release version number and 0.1.0 the next version (without 'v', without '-dev').
  3. Push the version commit and its tag:
    git push
    git push origin 0.0.0
    with the according version number.
  4. Move to the master branch and merge created tag into it. Then push.
    git checkout master
    git pull
    git merge 0.0.0
    git push
  5. Before creating the server bundle, make sure dependencies are up to date:
    pip install -r requirements.txt -r requirements_dev.txt
  6. Call the script to create the archive:
    ./create_archive.sh 0.0.0 9.9.9
    with 0.0.0 the according version number and 9.9.9 the corresponding Dakara web client version number.
  7. On GitHub, draft a new release, set the version number with the created tag ("Existing tag" should read). Set the release title with "Version 0.0.0" (with number, you get it?). Copy-paste corresponding section of the changelog file in the release description. Add the created archive file. You can now publish the release.