Files
proxy/docs/development.md
T
2026-08-30 11:35:52 +08:00

1.1 KiB

Development and release verification

Requirements

  • Go 1.24 or newer
  • Linux
  • GNU sha256sum, stat, and find
  • file

Local verification

gofmt -w .
go test ./...
go vet ./...
./scripts/check-docs.sh
./scripts/test-hermetic.sh
./scripts/test-release.sh
./scripts/verify-clean-machine.sh

test-hermetic.sh runs the complete uncached Go suite as an unprivileged user and verifies that readable host configuration content and metadata remain unchanged.

verify-clean-machine.sh uses isolated identity and XDG roots to exercise installation, Profile workflows, hermetic Target workflows, diagnostics, reset confirmation, Shell integration, and removal.

Release build

VERSION=v1.0.0 ./scripts/build-release.sh
sha256sum -c dist/SHA256SUMS
file dist/proxyctl-linux-amd64 dist/proxyctl-linux-arm64

The release consists of Linux amd64 and arm64 single binaries plus SHA256SUMS; it does not produce distribution packages or archives.

test-release.sh builds twice, compares binaries and checksum manifests, validates both architectures and checksums, and verifies that process-test seams cannot enter a release artifact.