Skip to content

Commit

Permalink
fix: publication to PyPiTest
Browse files Browse the repository at this point in the history
  • Loading branch information
qdelamea-aneo committed Nov 21, 2024
1 parent 943ac77 commit a581dac
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 7 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v4
Expand All @@ -23,7 +25,6 @@ jobs:
- name: Install dependencies
run: |
python -m pip install uv
python -m uv pip install .
python -m uv pip install build
- name: Build the CLI
Expand Down
7 changes: 7 additions & 0 deletions mypy.ini
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,10 @@ ignore_missing_imports = True

[mypy-grpc]
ignore_missing_imports = True


[mypy-setuptools]
ignore_missing_imports = True

[mypy-setuptools_scm]
ignore_missing_imports = True
7 changes: 1 addition & 6 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[build-system]
requires = ["setuptools>=64",
"setuptools-scm>=8",
"setuptools-scm[toml]>=8",
"wheel"]
build-backend = "setuptools.build_meta"

Expand Down Expand Up @@ -58,8 +58,3 @@ dev = [

[project.scripts]
armonik = "armonik_cli.cli:cli"

[tool.setuptools_scm]
version_scheme = "post-release"
local_scheme = "no-local-version"
version_file = "src/armonik_cli/_version.py"
38 changes: 38 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# WARNING: This setup.py script is only for customizing the local version scheme with setuptools-scm.
# All other project configuration must be provided in pyproject.toml. Use this script cautiously and
# refer to the documentation for more details: https://setuptools-scm.readthedocs.io/en/latest/customizing/.

from os import environ
from setuptools import setup
from setuptools_scm import ScmVersion


def get_local_schema(version: ScmVersion) -> str:
"""
Generate a custom local version scheme for setuptools-scm.
Generates a local version string based on environment variables. If RELEASE is unset,
appends .dev<run_id> for development builds; otherwise, returns an empty string. The
value of <run_id> is retrieved from the GITHUB_RUN_ID environment variable if it exists,
otherwise the default value used is 0.
Args:
version: The ScmVersion object passed by setuptools-scm.
Returns:
The custom local version string.
"""
run_id = environ.get("GITHUB_RUN_ID", "0")
release = environ.get("RELEASE", "")
if not release:
return f".dev{run_id}"
return ""


setup(
use_scm_version={
"version_scheme": "post-release",
"local_scheme": get_local_schema,
"version_file": "src/armonik_cli/_version.py",
}
)

0 comments on commit a581dac

Please sign in to comment.