Skip to content

ci: keep :latest and the GitHub "Latest" release on the master line only - #126

Merged
so5 merged 2 commits into
masterfrom
fix/release-latest-mainline-master
Sep 3, 2026
Merged

ci: keep :latest and the GitHub "Latest" release on the master line only#126
so5 merged 2 commits into
masterfrom
fix/release-latest-mainline-master

Conversation

@so5

@so5 so5 commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Problem

When a maintenance release is cut (manual workflow_dispatch of build and deploy
container
on a maintenance* branch), it currently steals two things that should
always track the mainline (master):

  • Docker Hub :latestdocker run tmkawanabe/wheel ends up booting a
    maintenance build.
  • GitHub "Latest" releaseaction-gh-release@v1 cannot send make_latest,
    so the API defaults every published release to "Latest". The maintenance
    timestamp tag is also newer than the last …-release tag, so it takes the
    badge, the front-page Releases panel, and the …/releases/latest redirect, and
    top-lists on /releases.

Change (this branch's own copy of build_and_deploy.yml)

  • Export RELEASE_TYPE (release / maintenance / beta) from the
    version-stamp step.
  • Push tmkawanabe/wheel:latest only when RELEASE_TYPE == release (the
    master build). A maintenance dispatch now only moves its own
    :maintenanceYYYY tag.
  • Bump softprops/action-gh-release v1 → v2 and set
    make_latest: <is release> / prerelease: <not release>, so maintenance
    releases publish as pre-releases and master keeps the "Latest" badge and the
    /releases/latest redirect.

Each branch (master, maintenance2026, maintenance2023) carries its own copy
of this workflow, so this is one of three sibling PRs with the identical edit.

Out-of-repo follow-up

  • Check tmkawanabe/wheel on Docker Hub for an Automated Build / tag rule that
    writes latest from a non-master source and remove it.
  • One-time: re-point :latest at the current mainline image (retag+push, or run
    build and deploy container on master once after the master PR merges).

🤖 Generated with Claude Code

so5 and others added 2 commits September 2, 2026 12:22
A maintenance release cut after a mainline one used to steal both the Docker
Hub `latest` tag and GitHub's "Latest" release badge/redirect, so
`docker run tmkawanabe/wheel` booted a maintenance build and the releases
page top-listed it.

- export RELEASE_TYPE from the version-stamp step (release|maintenance|beta).
- push `tmkawanabe/wheel:latest` only when RELEASE_TYPE=release (master); a
  maintenance dispatch now only moves its own :maintenanceYYYY tag.
- bump softprops/action-gh-release v1 -> v2 (v1 silently ignores the inputs
  below) and set make_latest / prerelease from RELEASE_TYPE, so maintenance
  releases publish as pre-releases and master keeps the Latest badge and the
  /releases/latest redirect.

Same edit must be applied to the maintenance2026 and maintenance2023 copies
of this workflow (each branch carries its own).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017xw6DdyQhrdTZMjYbKvFZi
@so5
so5 merged commit 3bef7e1 into master Sep 3, 2026
@so5
so5 deleted the fix/release-latest-mainline-master branch September 3, 2026 00:34
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.

2 participants