Skip to content

feat: public releases, update defaults, and update hint on errors#16

Merged
ClayMav merged 2 commits intomainfrom
feat/public-release-and-update-notice
Apr 6, 2026
Merged

feat: public releases, update defaults, and update hint on errors#16
ClayMav merged 2 commits intomainfrom
feat/public-release-and-update-notice

Conversation

@ClayMav
Copy link
Copy Markdown
Member

@ClayMav ClayMav commented Apr 6, 2026

Summary

Addresses four related tickets for making the CLI ready for a public repo:

  • EWT-4564 — New tagged-release.yml workflow that creates proper semver GitHub releases when a v* tag is pushed (builds all 6 platform binaries, generates checksums, creates non-prerelease GitHub release with auto-generated notes)
  • EWT-4563 — Changed default release tag from latest-prerelease to latest in both the upgrade command and install-release.sh script, so they pull from public non-prerelease releases
  • EWT-4562 — Repo is ready for public access (no private/internal references found in code; install/upgrade flows work for public repos)
  • EWT-4566 — When a command fails and the CLI is outdated, an additional note is shown: "Note: your CLI is out of date. Updating may resolve this issue."

Changes

File Change
.github/workflows/tagged-release.yml New — triggered on v* tags, builds binaries with semver version injection, creates proper GitHub release
internal/commands/upgrade.go Default tag latest-prereleaselatest
scripts/install-release.sh Default tag latest-prereleaselatest, updated help text
main.go Added update-may-fix hint when command errors + CLI is outdated

Release flow after merge

  1. Push to main → existing release.yml creates rolling latest-prerelease (unchanged)
  2. Push a v* tag (e.g., git tag v1.0.0 && git push origin v1.0.0) → new tagged-release.yml creates a proper release
  3. wherobots upgrade and install-release.sh now pull from the latest non-prerelease release by default

Test plan

  • go test ./... passes
  • go build ./... compiles
  • After merge, push a test tag to verify the tagged-release workflow
  • Verify wherobots upgrade pulls from the latest proper release
  • Verify install-release.sh works with --tag latest
  • Trigger a command error on an outdated CLI and verify the update hint appears

ClayMav added 2 commits April 6, 2026 13:53
… hint on errors

- Add tagged-release.yml workflow: creates proper semver GitHub releases
  when a v* tag is pushed (builds all 6 platform binaries with version
  injection, checksums, and auto-generated release notes)
- Change upgrade command and install script defaults from
  "latest-prerelease" to "latest" so they pull from public non-prerelease
  releases
- When a command fails and the CLI is outdated, append a note suggesting
  that updating may resolve the issue

Addresses: EWT-4562, EWT-4563, EWT-4564, EWT-4566
@ClayMav ClayMav marked this pull request as ready for review April 6, 2026 20:57
@ClayMav ClayMav requested a review from a team as a code owner April 6, 2026 20:57
@ClayMav ClayMav requested review from a team and kcheng486 and removed request for a team April 6, 2026 20:57
Comment thread main.go
@ClayMav ClayMav merged commit a0d738d into main Apr 6, 2026
1 check passed
@ClayMav ClayMav deleted the feat/public-release-and-update-notice branch April 6, 2026 21:25
Comment thread main.go
fmt.Fprintln(os.Stderr, "")
fmt.Fprintln(os.Stderr, version.FormatNotice(result))
if execErr != nil {
fmt.Fprintln(os.Stderr, "Note: your CLI is out of date. Run `wherobots upgrade` to update — it may resolve this issue.")
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: I think FormatNotice kinda has this, but I'm not really sure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants