Skip to content

Commit 1cc2d1e

Browse files
authored
fix(build): align pyproject.toml version with __version__.py (0.11.0 → 0.12.0) (#50)
The `feat(sdk)` commit (79a6e7e, PR #49) bumped `src/nullrun/__version__.py` to 0.12.0 but left `version` in `pyproject.toml` at 0.11.0. Hatchling uses `pyproject.toml`'s version, so `python -m build` was producing a wheel named `nullrun-0.11.0-py3-none-any.whl` — same name as the 0.11.0 artifact that `publish-test` had already uploaded to TestPyPI on its previous successful run (commit 18a91e2). TestPyPI rejects re-uploads of the same wheel hash with HTTP 400 "File already exists" (no overwrite semantics), so the `publish-test` workflow failed at the very last step. Verify locally: $ python -m build --wheel Successfully built nullrun-0.12.0-py3-none-any.whl Also adds `skip-existing: true` to the `pypa/gh-action-pypi-publish` step so a re-run of the same SHA becomes a no-op (matching twine's --skip-existing). Production PyPI cannot overwrite anyway, so this flag is harmless there too.
1 parent 79a6e7e commit 1cc2d1e

2 files changed

Lines changed: 15 additions & 2 deletions

File tree

‎.github/workflows/publish-test.yml‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,4 +56,10 @@ jobs:
5656
- name: Publish to TestPyPI (Trusted Publishing)
5757
uses: pypa/gh-action-pypi-publish@release/v1
5858
with:
59-
repository-url: https://test.pypi.org/legacy/
59+
repository-url: https://test.pypi.org/legacy/
60+
# TestPyPI rejects re-uploads of the same wheel hash with
61+
# HTTP 400 "File already exists". `skip-existing` makes
62+
# re-runs of the same SHA a no-op (matching twine's
63+
# --skip-existing behaviour). Production PyPI cannot
64+
# overwrite anyway, so this flag is harmless there too.
65+
skip-existing: true

‎pyproject.toml‎

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,14 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "nullrun"
7-
version = "0.11.0"
7+
# Version bump: 0.11.0 → 0.12.0 in `feat(sdk)` (server-minted
8+
# execution_id default + capability probe). The previous commit
9+
# updated `src/nullrun/__version__.py` but missed this field, so
10+
# `python -m build` was producing a wheel named `nullrun-0.11.0-*`
11+
# that collided with the 0.11.0 artifact already on TestPyPI
12+
# (causing the publish-test workflow to fail with HTTP 400
13+
# "File already exists").
14+
version = "0.12.0"
815
# Long form used by PyPI page meta-description and search snippets.
916
# Kept under the 200-char preview threshold so the full line is visible
1017
# without an "expand" click. Keywords are matched against likely search

0 commit comments

Comments
 (0)