Skip to content

chore(release): v0.3.1 and CI tag/version guardrail#27

Merged
GregTheGreek merged 1 commit into
mainfrom
chore/release-0-3-1
May 22, 2026
Merged

chore(release): v0.3.1 and CI tag/version guardrail#27
GregTheGreek merged 1 commit into
mainfrom
chore/release-0-3-1

Conversation

@GregTheGreek
Copy link
Copy Markdown
Owner

@GregTheGreek GregTheGreek commented May 22, 2026

Summary

  • Bump workspace + UI to v0.3.1 so installed_version == manifest_version once the next tag ships.
  • Add a CI step that fails the build when $GITHUB_REF_NAME disagrees with the workspace Cargo.toml version - prevents a repeat of the v0.3.0 mismatch.

Background

The v0.3.0 tag landed on a commit that still declared version = "0.2.3" in Cargo.toml (the version-bump commit lived on an unmerged source branch). Because .github/workflows/ci.yml derives the updater manifest version from the git tag name (VERSION="${GITHUB_REF_NAME#v}"), latest.json advertised 0.3.0 while the bundled binary still reported 0.2.3 from Cargo metadata. Every 0.2.3 client checked, saw 0.3.0, installed the same-version binary, restarted, still reported 0.2.3, looped forever.

This PR fixes the symptom (ship a real 0.3.1 release whose binary genuinely reports 0.3.1) and the cause (CI now refuses to publish a release whose tag and Cargo.toml disagree).

Post-merge

  1. Tag v0.3.1 on the merge commit and push to trigger the release pipeline.
  2. After CI publishes, verify https://github.com/GregTheGreek/rompatch-rs/releases/latest/download/latest.json reports "version": "0.3.1".
  3. Once 0.3.1 is live and the updater offers it cleanly, delete the broken v0.3.0 release + tag (separate cleanup, not part of this PR).

Test plan

  • CI passes on this branch (no tag, guardrail step skipped, regular build green).
  • After tagging v0.3.1: CI's new verify tag matches Cargo.toml workspace version step passes.
  • latest.json from the v0.3.1 release reports "version": "0.3.1".
  • Existing 0.2.3 install: updater offers 0.3.1, install, restart, sidebar reads 0.3.1, next check returns null (loop resolved).
  • Fresh 0.3.1 install: updater check returns null immediately.
  • (Optional) Push a deliberately mismatched throwaway tag (e.g. v9.9.9-test) and confirm the new guardrail step fails CI; delete the tag after.

The v0.3.0 tag was placed on a commit that still had Cargo.toml at
0.2.3, so the updater shipped latest.json advertising 0.3.0 while the
bundled binary reported 0.2.3 - every 0.2.3 client landed in an
update loop because the "new" install reported the old version.

Bump the workspace to 0.3.1 so installed_version == manifest_version
once this tag ships, and add a CI step that fails the build whenever
$GITHUB_REF_NAME disagrees with the workspace Cargo.toml version so
the same mismatch can't ship again.

Co-Authored-By: Claude
@GregTheGreek GregTheGreek marked this pull request as ready for review May 22, 2026 22:36
@GregTheGreek GregTheGreek merged commit 801285a into main May 22, 2026
7 checks passed
@GregTheGreek GregTheGreek deleted the chore/release-0-3-1 branch May 22, 2026 22:36
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