diff --git a/.github/workflows/release.yml b/.github/workflows/pre-release.yml similarity index 98% rename from .github/workflows/release.yml rename to .github/workflows/pre-release.yml index 77c5193..fa3698e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/pre-release.yml @@ -2,7 +2,7 @@ name: Release on: release: - types: [created] + types: [prereleased] jobs: release: diff --git a/pyproject.toml b/pyproject.toml index e44c087..d7e9b31 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -77,5 +77,13 @@ show_error_codes = true show_error_context = true [build-system] -requires = ["poetry-core>=1.0.0"] +requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning"] build-backend = "poetry.core.masonry.api" + +[tool.poetry-dynamic-versioning] +enable = true +vcs = "git" +dirty = true + +[tool.poetry-dynamic-versioning.substitution] +files = ["src/healthchecks_io/__init__.py"] diff --git a/src/healthchecks_io/__init__.py b/src/healthchecks_io/__init__.py index 74e9e2d..9f7a410 100644 --- a/src/healthchecks_io/__init__.py +++ b/src/healthchecks_io/__init__.py @@ -1,5 +1,6 @@ """Py Healthchecks.Io.""" -VERSION = "0.1" # noqa: E402 +# set by poetry-dynamic-versioning +__version__ = "0.0.0" # noqa: E402 from .client import AsyncClient # noqa: F401, E402 from .client import Client # noqa: F401, E402 @@ -29,4 +30,5 @@ __all__ = [ "CheckStatuses", "Integration", "Badges", + "__version__", ] diff --git a/src/healthchecks_io/client/async_client.py b/src/healthchecks_io/client/async_client.py index 731e7c8..2076f9c 100644 --- a/src/healthchecks_io/client/async_client.py +++ b/src/healthchecks_io/client/async_client.py @@ -8,7 +8,7 @@ from typing import Tuple from httpx import AsyncClient as HTTPXAsyncClient from ._abstract import AbstractClient -from healthchecks_io import VERSION +from healthchecks_io import __version__ as client_version from healthchecks_io.schemas import Badges from healthchecks_io.schemas import Check from healthchecks_io.schemas import CheckCreate @@ -51,7 +51,9 @@ class AsyncClient(AbstractClient): api_version=api_version, ) self._client.headers["X-Api-Key"] = self._api_key - self._client.headers["user-agent"] = f"py-healthchecks.io-async/{VERSION}" + self._client.headers[ + "user-agent" + ] = f"py-healthchecks.io-async/{client_version}" self._client.headers["Content-type"] = "application/json" def _finalizer_method(self) -> None: diff --git a/src/healthchecks_io/client/sync_client.py b/src/healthchecks_io/client/sync_client.py index 1a3b0b1..3aa437e 100644 --- a/src/healthchecks_io/client/sync_client.py +++ b/src/healthchecks_io/client/sync_client.py @@ -7,7 +7,7 @@ from typing import Tuple from httpx import Client as HTTPXClient from ._abstract import AbstractClient -from healthchecks_io import VERSION +from healthchecks_io import __version__ as client_version from healthchecks_io.schemas import badges from healthchecks_io.schemas import Check from healthchecks_io.schemas import CheckCreate @@ -47,7 +47,7 @@ class Client(AbstractClient): api_version=api_version, ) self._client.headers["X-Api-Key"] = self._api_key - self._client.headers["user-agent"] = f"py-healthchecks.io/{VERSION}" + self._client.headers["user-agent"] = f"py-healthchecks.io/{client_version}" self._client.headers["Content-type"] = "application/json" def _finalizer_method(self) -> None: