Skip to content

Put releases back on merges to main#467

Merged
JE-Chen merged 1 commit into
devfrom
chore/publish-on-merge
Jul 23, 2026
Merged

Put releases back on merges to main#467
JE-Chen merged 1 commit into
devfrom
chore/publish-on-merge

Conversation

@JE-Chen

@JE-Chen JE-Chen commented Jul 23, 2026

Copy link
Copy Markdown
Member

Reverts the release trigger to the pre-#455 rhythm: merge to main → publish.

  • stable.yml's publish job gets its original guard back (github.event_name == 'push' && github.ref == 'refs/heads/main'), exactly as it read before 7ddac38 disabled it. The guard is load-bearing — the workflow also runs on pull_request and a nightly schedule, so an unguarded job would cut a release from every PR and every night.
  • Auth needs nothing new: the PYPI_API_TOKEN secret is still present (updated 2026-04-21) and the job uploads with twine, so this does not depend on the PyPI trusted-publisher registration that v0.0.215 failed on.
  • release.yml's upload is switched off so the tag stable.yml pushes cannot start a second upload of a version PyPI already has. Its build job still runs on every v* tag: verify tag matches pyproject, smoke-test the wheel, attest provenance.

What happens when this reaches main: the publish job fires on the merge, bumps 0.0.2150.0.216, uploads to PyPI, pushes the bump commit ([skip ci]) and tag v0.0.216, and creates the GitHub Release. That published version carries pillow==12.3.0, which is what closes the 13 open Dependabot alerts.

The unused v0.0.215 tag is deleted separately — nothing was ever published under it, and the auto-bump will produce v0.0.216.

Restores the guard 7ddac38 replaced with `if: false`, so merging to main
bumps the patch version, uploads to PyPI with the existing PYPI_API_TOKEN
secret, and pushes the bump commit plus its tag. The guard matters: the
same workflow also fires on pull requests and a nightly schedule, and an
unguarded job would cut a release from both.

release.yml keeps building, smoke-testing and attesting every v* tag —
only its upload is switched off, so the tag stable.yml pushes cannot
start a second upload of a version PyPI already has. Going back to
tag-driven releases means registering a PyPI trusted publisher for
release.yml and swapping the two conditions.
@sonarqubecloud

Copy link
Copy Markdown

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@JE-Chen
JE-Chen merged commit 0afcfa0 into dev Jul 23, 2026
22 checks passed
@JE-Chen
JE-Chen deleted the chore/publish-on-merge branch July 23, 2026 07:49
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