$ git clone https://github.com/SUSE-Enceladus/img-proof.git
$ cd img-proof
# Activate virtual Environment then install
# img-proof and dev dependences in editable mode
$ pip install -e .[dev]
img-proof is now installed in the active virtual environment in development mode.
- bumpversion
- pip>=7.0.0
- coverage
- flake8
- mock
- pytest-cov
- All patches must be signed. Signing Commits
- All contributed code must conform to flake8. Code Style
- All new code contributions must be accompanied by a test.
- Tests must pass and coverage remain above 90%. Unit & Integration Tests
- Follow Semantic Versioning. Versions & Releases
img-proof adheres to Semantic versioning; see http://semver.org/ for details.
bumpversion is used for
release version management, and is configured in setup.cfg
:
$ bumpversion major|minor|patch
$ git push
Bumpversion will create a commit with version updated in all locations. The annotated tag is created separately.
$ git tag -a v{version}
# git tag -a v0.0.1
# Create a message with the changes since last release and push tags.
$ git push --tags
All tests should pass and test coverage should remain above 90%.
The tests and coverage can be run directly via pytest.
$ pytest --cov=img_proof
- tox
- tox-pyenv (testing multiple Python versions 3.4+)
-
Install tox
$ pip install .\[tox\]
-
Setup pyenv
See the pyenv doc for more info.
-
Run tox
$ tox (test all versions 3.4+) # or $ tox -e py{version} $ tox -e py36
Source should pass flake8 and pep8 standards.
$ flake8 img_proof
The repository and the code base patches sent for inclusion must be GPG signed. See the GitHub article, Signing commits using GPG, for more information.