Repository navigation
feat: automatic releases, update notice and team SSO profile lookup - #7
Merged
Merged
Conversation
Releases only happened on manually pushed tags (last: v0.2.0 in March), so brew and go install @latest never got new commands. CI now runs gofmt, vet, tests and a GoReleaser snapshot on PRs and main, and every push to main with feat/fix/perf commits is tagged with the next semver and released to GitHub Releases and the Homebrew tap. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
javabin --version works (GoReleaser ldflags now target cmd.version; they pointed at a main.version that didn't exist). Once a day the CLI checks the latest release and suggests brew upgrade when outdated. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… metadata Without AWS_PROFILE the SDK fell through to EC2 instance metadata and failed with a timeout. Team commands now use --profile, AWS_PROFILE, or the one ~/.aws/config SSO profile for javabin-team-<team>, and explain how to sign in when there are no credentials. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Review feedback on #7: - A re-run after a failed publish reuses the tag already on HEAD instead of finding nothing to release; only main (or a v* tag) can release. - A failed update check is recorded, so offline users don't wait for the timeout on every command; the TTY check uses x/term. - An expired AWS_PROFILE session is named in the error instead of suggesting first-time SSO setup. - go install builds report their module version; inline comments in ~/.aws/config no longer break profile lookup; more next-version cases. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
v*tag. The last was v0.2.0 in March, sobrew installandgo install …@lateststill serve March's build, and Chris had to buildjavabin secretfrom source.mainalso has no CI.javabin secret listfails on a laptop withoutAWS_PROFILE. The SDK falls through to EC2 instance metadata, and Chris gotno EC2 IMDS role found … 169.254.169.254 … host is down.javabin --versionreports nothing. GoReleaser's ldflags pointed at amain.versionthat doesn't exist.What changed
ci.yml) on PRs and main: gofmt, vet, tests, the release-version rules, and a GoReleaser snapshot build.release.yml): every push to main with afeat,fixorperfcommit (or a breaking change) is released.scripts/next-version.shcomputes the next semver from Conventional Commits since the last tag (tested inscripts/next-version_test.sh).javaBin/homebrew-tap, in the same job: tags pushed with GITHUB_TOKEN don't trigger workflows.docs,ciorchorecommits don't release. A manualv*tag still works.javabin --version, plus a notice at most once a day (stderr, TTY only) when a newer release exists:brew upgrade javabin.JAVABIN_NO_UPDATE_CHECK=1disables it.secret:--profile, elseAWS_PROFILE, else the one~/.aws/configSSO profile for account 553637109631 with rolejavabin-team-<team>(team from app.yaml). Without credentials it explains how to sign in.--profilealso applies tostatusandwhoami.Merging this releases v0.3.0, which includes
javabin secret(#6).Checks
go vetandgo test ./...pass, including new tests for version comparison, daily caching, quiet on dev/failure, and profile discovery (match, other account, ambiguous).--versionprintsjavabin 0.2.0 (abc123), and a run with no credentials prints the sign-in help.🤖 Generated with Claude Code