Skip to content

honesty-box/honestybox-measurement

Repository files navigation

PyPI version PyPI Supported Python Versions GitHub license GitHub Actions (Tests) GitHub Actions (Quality) Honesty Box Twitter

honestybox-measurement

A framework for measuring things and producing structured results.

Requirements

honestybox-measurement supports Python 3.5 to Python 3.8 inclusively.

Development

Git hooks

pre-commit hooks are included to ensure code quality on commit and push. Install these hooks like so:

$ pre-commit install && pre-commit install -t pre-push
asd

Releases

To ensure releases are always built on the latest codebase, changes are only ever merged to release from master.

Creating a release

  1. Ensure that master is up to date:

    $ git checkout master
    $ git pull origin
  2. Switch to release and ensure it is up to date:

    $ git checkout release
    $ git pull origin
  3. Merge from master:

    $ git merge master
  4. Add a new release to CHANGELOG.md and include all changes in [Unreleased].

  5. Update version number in pyproject.toml

  6. Commit the changes to the release branch with comment Release <version number>

    $ git add CHANGELOG.md pyproject.toml
    $ git commit -m 'Release v<x>.<y>.<z>`
  7. Tag the commit with the release number:

    $ git tag v<x>.<y>.<z>
  8. Push the commit and tags upstream:

    $ git push && git push --tags
  9. Merge changes into master and push upstream:

    $ git checkout master
    $ git merge release
    $ git push

Publishing a release

  1. Install poetry

  2. Checkout the release:

    $ git checkout v<x>.<y>.<z>
  3. Publish the release:

    $ poetry publish --build