Skip to content

build: release workflow for v0.2.0 and document both run modes - #4

Merged
krugis merged 2 commits into
mainfrom
claude/epic-heisenberg-5m3wi7
Jul 13, 2026
Merged

build: release workflow for v0.2.0 and document both run modes#4
krugis merged 2 commits into
mainfrom
claude/epic-heisenberg-5m3wi7

Conversation

@krugis

@krugis krugis commented Jul 13, 2026

Copy link
Copy Markdown
Owner

Summary

The v0.1.0 release predates the web console and there was no release automation. This prepares a v0.2.0 cut 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 a v* 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), writes SHA256SUMS, and publishes the GitHub release with the gh CLI (built into runners, authed by GITHUB_TOKEN — no third-party action). The web console is embedded via go: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 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).
  • Toolchain — correct the build requirement 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.

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, SHA256SUMS generates), both workflow YAML files parse, and go build/vet/test is green.

Cutting the release

After merge, git tag v0.2.0 && git push origin v0.2.0 triggers the workflow.

🤖 Generated with Claude Code

https://claude.ai/code/session_01JgWPXefHtzYcspK8zo4Bo6


Generated by Claude Code

claude added 2 commits July 13, 2026 16:26
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
@krugis
krugis merged commit 0017ee0 into main Jul 13, 2026
3 checks 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.

2 participants