Skip to content

Commit f48d798

Browse files
MartinCastroAlvarezmartin-castro-laminr-aiclaude
authored
chore(ci): rename release.yml → publish.yml to match PyPI Trusted Publisher (#638)
PyPI's Trusted Publisher config keys trust on the workflow filename. The repo had the workflow as `release.yml`, but the owner just configured the PyPI trusted publisher with the canonical `publish.yml` name (clearer — the workflow IS about publishing to PyPI, not about "the release"). Aligning the file with PyPI's config so OIDC uploads succeed; otherwise PyPI rejects the OIDC token from a workflow whose filename doesn't match the trust. Refresh: - `name:` field `release` → `publish` so the GitHub Actions UI label matches the file. - In-file one-time-setup comment now says `Workflow: publish.yml`. - `.github/workflows/README.md` and `SECURITY.md` references updated. - `ci.yml`'s pin-rationale comment now lists `publish.yml` instead of `release.yml`. No behaviour change beyond the trust-name alignment; the workflow's SHA-pinned actions, idempotency guard, OIDC permissions and testpypi/pypi dispatch options are unchanged. Co-authored-by: Martin Castro Laminrs <mcastro@laminr.ai> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 4392835 commit f48d798

4 files changed

Lines changed: 5 additions & 5 deletions

File tree

.github/workflows/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ GitHub Actions workflows for django-admin-react.
1313
checks **required** is an owner branch-protection action (#452 / #331).
1414
- **`codeql.yml`** — CodeQL static analysis (Python + JS/TS) on push/PR and a
1515
weekly schedule. This is the project's security dataflow scanner.
16-
- **`release.yml`** — automated PyPI publishing. Triggered when a GitHub
16+
- **`publish.yml`** — automated PyPI publishing. Triggered when a GitHub
1717
Release is **published** (a human authorises every release; the Release
1818
notes are the changelog entry), or manually via `workflow_dispatch` for a
1919
TestPyPI dry-run. Uses **PyPI Trusted Publishing (OIDC)** — no stored

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
# SECURITY POSTURE:
2525
# - Least-privilege: top-level `contents: read`; no job needs write.
2626
# - All third-party actions are pinned to a full commit SHA (a tag can
27-
# be moved, a SHA cannot) — consistent with codeql.yml / release.yml
27+
# be moved, a SHA cannot) — consistent with codeql.yml / publish.yml
2828
# and the supply-chain hardening in #331.
2929
# - This is a *gate*, not a publisher: it has no access to PyPI, no
3030
# `id-token`, and no stored secrets.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: release
1+
name: publish
22

33
# Automated PyPI publishing for django-admin-react.
44
#
@@ -37,7 +37,7 @@ name: release
3737
# "Trusted Publisher":
3838
# Owner: MartinCastroAlvarez
3939
# Repository: django-admin-react
40-
# Workflow: release.yml
40+
# Workflow: publish.yml
4141
# Environment: pypi
4242
# 2. GitHub → repo Settings → Environments → create `pypi` (optionally
4343
# add required reviewers so a release is approval-gated), and

SECURITY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ Every endpoint added must include all of these tests before merging:
182182
(`POETRY_PYPI_TOKEN_PYPI`), never in any file in the repo. The token
183183
is **never** echoed or logged by `scripts/deploy.sh`.
184184
- Releases require a **human maintainer**. The publish is driven by the
185-
`release.yml` workflow (OIDC Trusted Publishing — no stored token);
185+
`publish.yml` workflow (OIDC Trusted Publishing — no stored token);
186186
the maintainer triggers it by publishing a GitHub Release.
187187
- TestPyPI may be used for verification by the maintainer with a
188188
separate token; same hygiene rules apply.

0 commit comments

Comments
 (0)