Skip to content

Development

Build

go build ./...

# Build to an explicit output path
go build -o ziti-mcp .

Unit tests

No external dependencies required.

go test ./internal/...

Integration tests

Integration tests spin up a live OpenZiti network using ziti edge quickstart and run all tools against it. They are skipped automatically if the ziti binary is not in PATH.

Install the ziti binary from the OpenZiti releases page, then:

go test -v -timeout 5m ./test/integration/...

Run a single test by name:

go test -v -timeout 5m -run TestFullWorkflow ./test/integration/...

Lint

golangci-lint run ./...

Releases

Releases are automated via GoReleaser and GitHub Actions.

  • Tagged releases: Push a version tag to create a full release with cross-platform binaries:

    git tag v0.2.0
    git push origin v0.2.0
    
  • Development builds: Every push to main automatically updates a rolling dev pre-release with the latest binaries.