Skip to content

ci: remove redundant, broken release.yml publish workflow - #28

Merged
oscarvalenzuelab merged 1 commit into
mainfrom
fix/remove-broken-release-workflow
Jul 24, 2026
Merged

ci: remove redundant, broken release.yml publish workflow#28
oscarvalenzuelab merged 1 commit into
mainfrom
fix/remove-broken-release-workflow

Conversation

@oscarvalenzuelab

Copy link
Copy Markdown
Collaborator

Problem

release.yml triggered on a v* tag push, built the package, then uploaded it with pypa/gh-action-pypi-publish and no environment:. The PyPI trusted publisher for this project is configured for python-publish.yml with the pypi environment, so the claims sent by release.yml could never match and it failed with invalid-publisher on every release.

The failure had a second effect: Create GitHub Release was a later step in the same job, so a tag push produced no GitHub release either.

Why remove it rather than fix the upload

Dropping only the upload step and keeping the release creation would be worse than the current state. A release created by a workflow using GITHUB_TOKEN does not raise the release: published event, so python-publish.yml would not start. A tag push would then produce a GitHub release with nothing published to PyPI, failing silently instead of visibly.

Making the upload work from release.yml would require a second trusted publisher entry on PyPI for that workflow, duplicating configuration for a path already covered.

Verified before changing anything: every release in this repo is user-authored, none by github-actions[bot], and all have zero attached assets, so release.yml never created one. Every python-publish.yml run succeeded; every release.yml run failed. The working path is untouched here.

Changes

  • Delete .github/workflows/release.yml.
  • Document the release flow in CONTRIBUTING.md, which had no release section: version bump, tag, gh release create --generate-notes. Notes why step 3 must be a user action, and that uploads should be confirmed against the version-specific PyPI endpoint since the aggregate one is cached and lags.

python-publish.yml and the remaining workflows are untouched, and nothing referenced release.yml.

This matches the same cleanup already merged in upmex (#89) and src2purl (#57).

release.yml fired on tag push and tried to publish to PyPI without the trusted
publisher config used by python-publish.yml, so it failed on every release.
Its Create GitHub Release step ran after the failing upload in the same job,
so a tag push produced no release either.

Dropping only the upload step would be worse: a release created by a workflow
using GITHUB_TOKEN does not raise release: published, so python-publish.yml
would not start and the tag would yield a release with nothing on PyPI.

Every release in this repo was published by a user creating the GitHub release
with python-publish.yml picking up the event, all user-authored with no attached
assets, so release.yml never produced one. That path is unchanged. CONTRIBUTING.md
now documents it, including why the release must be created by a user.

Matches the same cleanup in upmex and src2purl.
@oscarvalenzuelab
oscarvalenzuelab merged commit aea9995 into main Jul 24, 2026
8 checks passed
@oscarvalenzuelab
oscarvalenzuelab deleted the fix/remove-broken-release-workflow branch July 24, 2026 19:18
@cla-bot cla-bot Bot added the cla-signed label Jul 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant