Skip to content

Guard release version + document macOS first-launch trust#6

Merged
hujiulin merged 1 commit into
mainfrom
chore/release-guard-and-macos-readme
Jun 8, 2026
Merged

Guard release version + document macOS first-launch trust#6
hujiulin merged 1 commit into
mainfrom
chore/release-guard-and-macos-readme

Conversation

@hujiulin

@hujiulin hujiulin commented Jun 8, 2026

Copy link
Copy Markdown
Owner

Summary

Two small post-mortem fixes from the v0.1.1 release:

1. release.yml: tag-vs-version sanity check

  • v0.1.1 was pushed without bumping tauri.conf.json / package.json / Cargo.toml, so every binary in the draft release was named EchoWise_0.1.0_* despite the tag being v0.1.1. This also breaks the in-app updater because the installed app self-reports the wrong version.
  • Adds a 5-second check at the start of every matrix build that compares the tag (e.g. v0.1.2) against the three version fields. Any mismatch fails the workflow immediately with a printed remediation checklist, so we don't pay for a 15-minute cross-platform build only to discover the artifacts are wrong.
  • Skips cleanly when the workflow is triggered manually without a tag.

2. READMEs: macOS first-launch instructions

  • Because EchoWise ships ad-hoc-signed but not notarized (notarization requires a paid Apple Developer ID), every new macOS user hits the "Apple could not verify 'EchoWise.app' is free of malware…" prompt on first launch. This is expected, not actionable from the user's POV without guidance.
  • Adds a short three-step section to both README.md and README.zh.md walking them through System Settings → Privacy & Security → Open Anyway. Deliberately brief — no rationale dump, no xattr hacks.

Test plan

  • YAML parses (committed; will run on next release tag)
  • Sanity-check script logic: tested mentally against the v0.1.1 scenario — v0.1.1 vs 0.1.0 in tauri.conf.json would print ::error::tauri.conf.json is '0.1.0' but the tag is 'v0.1.1'. and exit 1
  • After merge, the next release tag (e.g. v0.1.2 when ready) will exercise the check end-to-end
  • README rendering looks correct on github.com

🤖 Generated with Claude Code

Two small changes that together prevent the version-mismatch and
first-launch-failure issues encountered with v0.1.1.

release.yml: a 5-second sanity-check step now runs at the start of every
matrix build and compares the tag (e.g. v0.1.2) against the version
fields in tauri.conf.json, package.json, and Cargo.toml. Any mismatch
fails the workflow immediately with a printed checklist of files to
bump, instead of after a 15-minute build that emits binaries with the
wrong version baked in (which is what happened with v0.1.1 → 0.1.0
filenames).

READMEs: a short "First launch on macOS" section walks the user through
the "Apple could not verify…" prompt that every new install hits because
we ship ad-hoc-signed rather than notarized builds (notarization needs a
paid Apple Developer ID). The instructions are deliberately brief —
three steps, no rationale dump, no xattr workarounds.

Co-Authored-By: Claude Opus 4 (1M context) <noreply@anthropic.com>
@hujiulin
hujiulin merged commit 35f90e9 into main Jun 8, 2026
1 check passed
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