Skip to content

Versioning via poetry-dynamic-versioning

Mateusz Żebrak requested to merge mzebrak/dynamic-versioning into develop

Reviewers: @kmochocki @bwrona

Requires: hive!1035 (merged)

Now we've got a proper versioning system, which automatically substitutes versions in pyprojeet.toml and __version__ in clive/__init__.py

While building distribution artifacts files like wheel via poetry build the version substitution will be placed inside that wheel.

Important behavior during development installs is described here.
TL;DR: In development (editable installs) like pip install -e ., poetry install, the version substitution is reverted, so for testing purposes, it may be required to manually substitute versions via poetry dynamic-versioning (this behavior prevents accident commits of substituted version)

Examples:

  • HEAD is tagged with v1.27.5.1 --> 1.27.5.1+6eaa1f20
  • 2 new commits since v1.27.5.1 --> 1.27.5.1.post2.dev0+6eaa1f20

rc:

  • HEAD is tagged with v1.27.5.1rc0 --> 1.27.5.1rc0+6eaa1f20
  • 2 new commits since v1.27.5.1rc0 --> 1.27.5.1rc0.post2.dev0+6eaa1f20

dev:

  • HEAD is tagged with v1.27.5.1dev0 --> 1.27.5.1.dev0+6eaa1f20
  • 2 new commits since v1.27.5.1dev0 --> 1.27.5.1.dev2+6eaa1f20

another way of tagging dev:

  • HEAD is tagged with v1.27.5.1a0 --> 1.27.5.1a0+6eaa1f20
  • 2 new commits since v1.27.5.1a0 --> 1.27.5.1a0.post2.dev0+6eaa1f20

also it considers dirty version like:

  • dirty HEAD is tagged with with v1.27.5.1 --> 1.27.5.1+6eaa1f20.dirty
Edited by Mateusz Żebrak

Merge request reports