Mobayilo CLI - Release Runbook
Mobayilo CLI - Release Runbook
Section titled “Mobayilo CLI - Release Runbook”This runbook defines how to publish a moby CLI release with installable artifacts and checksums.
- CLI module path:
cli/ - Binary name:
moby - Release assets:
moby_<version>_darwin_amd64.tar.gzmoby_<version>_darwin_arm64.tar.gzmoby_<version>_linux_amd64.tar.gzmoby_<version>_linux_arm64.tar.gzchecksums.txt
- Public installer distribution endpoint:
https://mobycli.mobayilo.com/releases/latest.jsonhttps://mobycli.mobayilo.com/releases/v<version>/...
Preconditions
Section titled “Preconditions”developmentbranch is green in CI.- CLI tests pass locally:
cd cli && go test ./...
- Release workflow exists:
.github/workflows/cli-release.yml
- GoReleaser config exists:
cli/.goreleaser.yaml
- Cloudflare deploy secrets exist:
CLOUDFLARE_API_TOKENCLOUDFLARE_ACCOUNT_ID
Tagging Strategy
Section titled “Tagging Strategy”- Use semantic version tags:
v0.1.0v0.1.1v1.0.0
- A push of a
v*tag triggers the CLI release workflow.
Release Steps
Section titled “Release Steps”- Verify branch and tests.
git checkout developmentcd cligo test ./...cd ..- Create and push release tag.
git tag v0.1.0git push origin v0.1.0- Monitor workflow:
- GitHub Actions ->
CLI Release - Ensure
GoReleaser releasecompletes. - Ensure
Deploy release payload to Cloudflare Pagescompletes. - Ensure deploy step targets production branch explicitly (
--branch=main).
- Verify GitHub Release assets:
- all four platform archives exist
checksums.txtexists
- Verify public release mirror for installer:
https://mobycli.mobayilo.com/releases/latest.jsonhttps://mobycli.mobayilo.com/releases/v<version>/checksums.txt
Artifact Verification
Section titled “Artifact Verification”- Download one archive and checksums.
- Validate checksum.
shasum -a 256 -c checksums.txtExpected: selected archive shows OK.
Post-release Smoke
Section titled “Post-release Smoke”On a clean machine profile:
curl -fsSL https://mobycli.mobayilo.com/install.sh | shmoby --versionmoby self-updatemoby auth loginmoby auth status --jsonExpected:
- version matches release tag
- auth flow completes
authenticated: true
Note:
- Installer does not query GitHub API directly.
- Installer resolves latest version from
mobycli.mobayilo.com/releases/latest.json. - Release payload deployment uses direct
wranglerCLI (not action wrapper) for clearer failure logs.
Installer Script Local Validation
Section titled “Installer Script Local Validation”Before first public rollout, run installer tests from repository root:
sh scripts/test_install_sh.shThis validates:
- checksum verification path
- unsupported platform rejection
- reinstall and upgrade behavior
Rollback / Hotfix
Section titled “Rollback / Hotfix”- Publish patch version (
vX.Y.Z+1) instead of mutating an existing release. - Do not rewrite existing release tags.
- If installer points to latest and a bad release is published, publish a fixed patch immediately.