๐Ÿ”จ Building

Build static binaries for amd64 and arm64 via Docker or native Go.

# Via Docker (recommended)

No local Go install needed. Produces fully static binaries via CGO_ENABLED=0.

git clone https://github.com/binRick/proc-trace-tls
cd proc-trace-tls
chmod +x build.sh
./build.sh

Output:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  proc-trace-tls โ€” Docker build           โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

  binary  : proc-trace-tls
  version : v0.1.0
  image   : golang:1.22-alpine

  building dist/proc-trace-tls-linux-amd64 ...  [3.2M]
  building dist/proc-trace-tls-linux-arm64 ...  [3.0M]

Done. Binaries in ./dist/:
-rwxr-xr-x 1 root root 3.2M proc-trace-tls-linux-amd64
-rwxr-xr-x 1 root root 3.0M proc-trace-tls-linux-arm64

# From Source

Requires Go 1.21+.

go build -o proc-trace-tls .

# Static Binary

CGO_ENABLED=0 go build -ldflags="-s -w" -o proc-trace-tls .

# Cross-Compile

# amd64
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \
  -ldflags="-s -w -extldflags=-static" \
  -o proc-trace-tls-linux-amd64 .

# arm64
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build \
  -ldflags="-s -w -extldflags=-static" \
  -o proc-trace-tls-linux-arm64 .

# Build a Release (tag + push)

The GitHub Actions workflow at .github/workflows/release.yml builds both architectures plus an RHEL9 RPM and uploads everything to the GitHub release automatically.

git tag v0.1.0
git push origin v0.1.0
Note: The release workflow also builds an RPM via AlmaLinux 9 (rpm-build), so RHEL-family users can install via rpm -i directly from the release page.