build: release workflow for v0.2.0 and document both run modes - #4
Merged
Conversation
The v0.1.0 release predates the web console, and the install docs pinned that tag with no release automation. This prepares a v0.2.0 cut and makes the two ways to run CE explicit. - .github/workflows/release.yml: on a v* tag, cross-compile the static binary for linux/darwin (amd64+arm64) and windows/amd64, package each the same way as v0.1.0 (route42_<version>_<os>_<arch>, tar.gz/zip), write SHA256SUMS, and publish a GitHub release. The web console is embedded via go:embed, so every binary already ships it — no build change needed. Verified the full build+package matrix locally. - docs/releases/v0.2.0.md: release notes headlining the console and the headless path; wired as the release body via body_path. - README: bump the pinned download example to v0.2.0, and add a "Two ways to run it" section — with the web console (default) and headless (ROUTE42_UI=false / server.ui: false, CLI + API only). - Correct the build toolchain to Go 1.25 (matches go.mod's go 1.25.0) in both the README and the CI workflow; the old "1.22+" only worked via toolchain auto-download. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JgWPXefHtzYcspK8zo4Bo6
Drops softprops/action-gh-release in favor of the gh CLI preinstalled on GitHub-hosted runners, authenticated by the built-in GITHUB_TOKEN. Avoids depending on (and allow-listing) an external action; --verify-tag ensures the release is only cut for a real pushed tag. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JgWPXefHtzYcspK8zo4Bo6
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.
Summary
The
v0.1.0release predates the web console and there was no release automation. This prepares av0.2.0cut and makes the two ways to run Community Edition explicit. (Follow-up to the console work in #2 and the README screenshots in #3, both merged.).github/workflows/release.yml— on av*tag, cross-compiles the static binary for linux/darwin (amd64+arm64) and windows/amd64, packages each the same way as v0.1.0 (route42_<version>_<os>_<arch>, tar.gz/zip), writesSHA256SUMS, and publishes the GitHub release with theghCLI (built into runners, authed byGITHUB_TOKEN— no third-party action). The web console is embedded viago:embed, so every binary already ships it — no build change needed.docs/releases/v0.2.0.md— release notes headlining the console and the headless path; wired in as the release body via--notes-file.README.md— bump the pinned download example tov0.2.0, and add a "Two ways to run it" section: with the web console (default) and headless (ROUTE42_UI=false/server.ui: false, CLI + API only).go.mod'sgo 1.25.0) in both the README and the CI workflow; the old "1.22+" only worked via toolchain auto-download.Testing
No application code changes — this is docs plus CI/release config, so there's no new runtime path to unit-test. The full build+package matrix was dry-run locally (all five platforms build,
SHA256SUMSgenerates), both workflow YAML files parse, andgo build/vet/testis green.Cutting the release
After merge,
git tag v0.2.0 && git push origin v0.2.0triggers the workflow.🤖 Generated with Claude Code
https://claude.ai/code/session_01JgWPXefHtzYcspK8zo4Bo6
Generated by Claude Code