Skip to content

feat/build: simplify Linux build environment, add optional profiling - #16

Merged
boyvinall merged 3 commits into
mainfrom
linux-build
Sep 9, 2026
Merged

feat/build: simplify Linux build environment, add optional profiling#16
boyvinall merged 3 commits into
mainfrom
linux-build

Conversation

@boyvinall

@boyvinall boyvinall commented Sep 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds an optional --pprof <duration> flag to trafficmon that captures a CPU profile for that long (or until shutdown), then writes it alongside a heap and goroutine snapshot to trafficmon-{cpu,heap,goroutine}.pprof in the working directory, each openable with go tool pprof.
  • Simplifies the Linux build environment: a compose.yaml Alpine/musl container per Linux arch so release-build-linux always runs with a gcc matching its target, invoked via a new release-linux-docker Make target. Also tightens goreleaser's --snapshot detection to only omit the flag on an actual tag ref, and ignores the local dev binary.

A new --pprof duration flag runs a CPU profile for that long (or until
shutdown), then writes it alongside a heap and goroutine snapshot to
trafficmon-{cpu,heap,goroutine}.pprof in the working directory, each
openable with `go tool pprof`.
Adds a compose.yaml Alpine/musl container per Linux arch so
release-build-linux always runs with a gcc matching its target, invoked via
a new release-linux-docker Make target. Also tightens goreleaser's
--snapshot detection to only omit the flag on an actual tag ref, and
ignores the local dev binary.
@boyvinall boyvinall changed the title Simplify Linux build environment, add optional profiling feat/build: simplify Linux build environment, add optional profiling Sep 9, 2026
release-linux-docker selects its compose service via LINUX_ARCH, not
GOARCH -- passing GOARCH on the make command line left LINUX_ARCH at its
amd64 default regardless of the matrix leg, so the arm64 runner still ran
the amd64 compose service. GORELEASER_ARCH is dropped from the make
invocation too: compose.yaml already hardcodes it per service literally,
so passing it from the workflow was a no-op.
@boyvinall
boyvinall merged commit 336e39c into main Sep 9, 2026
8 checks passed
@boyvinall
boyvinall deleted the linux-build branch September 9, 2026 08:42
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.

1 participant