1
0
mirror of synced 2024-12-13 15:31:06 +01:00
jubeatools/docs/repo maintenance.md
2021-05-01 13:19:41 +02:00

1.5 KiB

Repository maintenance

Setting up a dev environment

  1. Clone the git repo
    $ git clone git@github.com:Stepland/jubeatools.git
  2. Install a recent version of Python (currently 3.8 is enough)
  3. Install poetry (jubeatools uses poetry to deal with many aspects of the project's life-cycle)
  4. Install jubeatools (with dev dependencies)
    $ poetry install
  5. Run the tests
    $ poetry run pytest
  6. If everything went well you can now use jubeatools's commandline
    $ poetry run jubeatools

Making a new release

Sanity checks before anything serious happens, from the repo's root :

  1. Run mypy and fix all the errors
    $ poetry run mypy .
  2. Format the code
    $ poetry run sh ./utils/format_code.sh
  3. Make sure the unit tests pass
    $ poetry run pytest

Now that this is done you can move on to actually making a new version, while still being in the repo's root :

  1. Update CHANGELOG.md

  2. Commit everything you want in the new release, including the changelog

  3. Run the script
    $ poetry run python utils/bump_version.py {rule}

    {rule} will usually be one of patch, minor or major. But it can be anything poetry version handles.

    Add --commit to let the script create the commit and tag for you as well

  4. Inspect the result for mistakes

  5. (If you did not use --commit)

    • Commit the version-bumped files
    • Add a tag with the format vX.Y.Z (don't forget the v at the start)
  6. Push the version bump commit

  7. Build & publish
    $ poetry publish --build