Release
Overview
The taxiway CLI is released through GitHub Releases produced by GoReleaser. Each
archive contains the taxiway binary and the matching runtime assets for the same
version:
infra/agents/orchestrators/infra/observability/langfuse.compose.ymlinfra/gateway/litellm/models.yaml
The installer replaces the runtime assets in ~/.taxiway/runtime/ and installs
the binary to $HOME/.local/bin by default.
Cut a Release
-
Ensure
mainis green and ready. -
Create and push a semver tag:
git tag v0.1.0 git push origin v0.1.0 -
The
Releaseworkflow runs core checks and end-to-end tests, then runs GoReleaser and publishes release assets. -
Verify the release contains:
- one archive per supported platform;
checksums.txt;install.sh;- release notes generated by GoReleaser.
GoReleaser builds release notes from Conventional Commit-style messages. Use
feat: for user-facing capabilities, fix: for bug fixes, and cleanup-style
messages such as cleanup: for simplification or removal work. See
Development.
Supported Platforms
darwin/amd64darwin/arm64linux/amd64linux/arm64
Windows is out of scope for the first standalone release.
Installer
Latest release:
curl -fsSL https://github.com/taxiway-sh/taxiway/releases/latest/download/install.sh | sh
Explicit release:
curl -fsSL https://github.com/taxiway-sh/taxiway/releases/download/v0.1.0/install.sh | sh
Explicit binary directory:
curl -fsSL https://github.com/taxiway-sh/taxiway/releases/latest/download/install.sh | sh -s -- --bin-dir "$HOME/bin"
The installer verifies the archive checksum before installing. It fails instead of silently falling back when the selected binary directory is not writable.
Local Checks
Check GoReleaser configuration:
goreleaser check
Create local snapshot artifacts:
goreleaser release --snapshot --clean
Run against source-tree runtime assets while developing:
TAXIWAY_RUNTIME_DIR=$PWD go run ./cmd/taxiway version