Skip to content

release: tag-triggered GitHub Release workflow (python) - #72

Merged
inth3shadows merged 2 commits into
mainfrom
release-scaffold
Sep 4, 2026
Merged

release: tag-triggered GitHub Release workflow (python)#72
inth3shadows merged 2 commits into
mainfrom
release-scaffold

Conversation

@inth3shadows

@inth3shadows inth3shadows commented Sep 4, 2026

Copy link
Copy Markdown
Owner

Scaffolded by repo-publish. Adds a v*-tag-triggered GitHub Release workflow (python, git-install-first — no PyPI publish).

The version mechanism is already in place

Every item on repo-publish's printed Python checklist landed in #71, so this PR is just the workflow:
hatch-vcs, [tool.hatch.version] source = "vcs", version-file, dynamic = ["version"] with no static literal, __init__.py falling back to importlib.metadata, and _version.py gitignored.

Verified before opening this: tagged a scratch clone v0.1.0uv buildtestgraph-0.1.0-py3-none-any.whl → ran this workflow's version assert verbatim → PASS.

Two checklist items deliberately skipped: fetch-depth: 0 in test.yml (that workflow never builds, and no test asserts __version__) and a --version flag (rides with the [project.scripts] decision deferred in #71).

Second commit fixes a defect in the generated template

repo-publish emitted astral-sh/setup-uv@e58605a9b6da... under the comment "Pinned action SHAs (supply-chain)". That is not a commit. It is the annotated tag object for the floating v5 tag (refs/tags/v5), which currently dereferences to commit d4b2f3b6ecc6 (v5.4.2). astral-sh re-points v5 on every v5.x release, and re-pointing writes a new tag object with a new sha — so the pin either breaks or silently tracks whatever v5 becomes. It is @v5 with extra steps, and delivers none of the immutability a SHA pin exists for.

Repinned to the commit, labelled with the exact release. actions/checkout@34e1148 was checked too and is a genuine commit sha (tagged v4.3.1) — only its comment was narrowed from v4.

⚠️ The same bad string is live in terse (.github/workflows/tests.yml on main) and in all three checked-in copies of repo-publish — separate work, not fixed here.


Next: repo-publish --finalize v0.1.0 (cuts the tag, fires this workflow, offers the visibility flip).

repo-publish's template pinned astral-sh/setup-uv@e58605a9b6da..., which is not
a commit at all — it is the ANNOTATED TAG OBJECT for the floating `v5` tag
(`refs/tags/v5`), currently dereferencing to commit d4b2f3b6ecc6 (v5.4.2).
astral-sh re-points `v5` on every v5.x release, and re-pointing writes a NEW
tag object with a NEW sha, so this pin either breaks or silently tracks whatever
v5 becomes. Either way it delivers none of the immutability the comment
'Pinned action SHAs (supply-chain)' claims — it is `@v5` with extra steps.

Repinned to the commit d4b2f3b6ecc6 and labelled with the exact release. Also
narrowed checkout's comment from 'v4' to 'v4.3.1' — that one WAS already a real
commit sha, but the floating label invites the same mistake on the next update.

Same bad string is live in terse (.github/workflows/tests.yml on main) and in
all three checked-in copies of repo-publish; fixing those is separate work.
@inth3shadows
inth3shadows merged commit 0362428 into main Sep 4, 2026
2 checks passed
@inth3shadows
inth3shadows deleted the release-scaffold branch September 4, 2026 02:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant