Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: publication to PyPiTest #23

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,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 @@ -24,7 +26,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",
}
)
Loading