Skip to content

Commit

Permalink
Configure goreleaser to use Zig build system
Browse files Browse the repository at this point in the history
Signed-off-by: Kemal Akkoyun <kakkoyun@gmail.com>
  • Loading branch information
kakkoyun committed Jan 9, 2024
1 parent 2a2ac1c commit 246b366
Show file tree
Hide file tree
Showing 9 changed files with 117 additions and 96 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/container.yml
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ jobs:
find pkg/contained/bpf/*/ -type f | grep -v "pid_namespace.bpf.o" | xargs -I{} bash -c "rm {}"
- name: Run Goreleaser
run: goreleaser release --clean --skip-validate --skip-publish --snapshot --debug -f .goreleaser.yml
run: goreleaser release --clean --skip=validate --skip=publish --snapshot --debug -f .goreleaser.yml
env:
GORELEASER_CURRENT_TAG: "${{ env.goreleaser_current_tag }}"

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/kerneltest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ jobs:
find pkg/contained/bpf/*/ -type f | grep -v "pid_namespace.bpf.o" | xargs -I{} bash -c "rm {}"
- name: Run Goreleaser
run: goreleaser release --clean --skip-validate --skip-publish --snapshot --debug -f .goreleaser-test-binaries.yml
run: goreleaser release --clean --skip=validate --skip=publish --snapshot --debug -f .goreleaser-test-binaries.yml
env:
GORELEASER_CURRENT_TAG: "${{ env.goreleaser_current_tag }}"

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/snap.yml
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ jobs:
find pkg/contained/bpf/*/ -type f | grep -v "pid_namespace.bpf.o" | xargs -I{} bash -c "rm {}"
- name: Run Goreleaser
run: goreleaser release --clean --debug --snapshot --skip-validate --skip-publish
run: goreleaser release --clean --debug --snapshot --skip=validate --skip=publish
env:
GORELEASER_CURRENT_TAG: "${{ env.goreleaser_current_tag }}"

Expand Down
86 changes: 31 additions & 55 deletions .goreleaser.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,82 +3,58 @@
# - Unfortunately, Goreleaser does not support templating environment variables per build config.
project_name: parca-agent
dist: ./goreleaser/dist
before:
hooks:
- go mod tidy
env:
- CGO_ENABLED=1
- LDFLAGS=-fuse-ld=lld
- PKG_CONFIG=pkg-config
- CMD_CC=clang
- CC=clang
- CC=zig cc
- CC_VERSION=$(zig version)
before:
hooks:
- go mod tidy
- make ARCH=amd64 libbpf
- make ARCH=amd64 bpf
- make clean-3rdparty-libraries
- make ARCH=arm64 libbpf
- make ARCH=arm64 bpf
builds:
# NOTICE: This build config assumes that the build runs on a x86_64 host.
- main: ./cmd/parca-agent/
id: "parca-agent-amd64"
id: "parca-agent-linux"
binary: parca-agent
# https://goreleaser.com/customization/build/#reproducible-builds
mod_timestamp: '{{ .CommitTimestamp }}'
env:
# Needed by CGO.
- CGO_CFLAGS=-target x86_64-pc-linux-gnu -I/__w/parca-agent/parca-agent/dist/libbpf/amd64/usr/include
- CGO_LDFLAGS=-target x86_64-pc-linux-gnu -lelf -lz /__w/parca-agent/parca-agent/dist/libbpf/amd64/libbpf.a
# Needed for compiling libbpf (defined in Make).
- CFLAGS=-g -O2 -Werror -Wall -std=gnu89 -target x86_64-pc-linux-gnu
goos:
- linux
goarch:
- amd64
hooks:
pre:
- make ARCH=amd64 libbpf
- ./scripts/download-async-profiler.sh
flags:
- -mod=readonly
- -trimpath
- -v
ldflags:
# https://goreleaser.com/customization/build/#reproducible-builds
# {{.CommitDate}} is the date of the commit to make builds reproducible.
- -X main.version={{.Version}} -X main.commit={{.FullCommit}} -X main.date={{.CommitDate}} -X main.goArch=amd64
- -extldflags=-static
tags:
- osusergo
- netgo
# Parca agent binary for arm64
- main: ./cmd/parca-agent/
id: "parca-agent-arm64"
binary: parca-agent
- arm64
# https://goreleaser.com/customization/build/#reproducible-builds
mod_timestamp: '{{ .CommitTimestamp }}'
mod_timestamp: "{{ .CommitTimestamp }}"
env:
# Needed by CGO.
- PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig
- CGO_CFLAGS=-target arm64-pc-linux-gnu --sysroot=/usr/aarch64-linux-gnu -I/__w/parca-agent/parca-agent/dist/libbpf/arm64/usr/include
- CGO_LDFLAGS=-target arm64-pc-linux-gnu -fuse-ld=/usr/aarch64-linux-gnu/bin/ld -lelf -lz /__w/parca-agent/parca-agent/dist/libbpf/arm64/libbpf.a
- >-
{{ if eq .Arch "amd64" }}CC=zig cc -target x86_64-linux-musl
{{ else if eq .Arch "arm64" }}CC=zig cc -target aarch64-linux-musl
{{ end }}
- CGO_CFLAGS=-I/__w/parca-agent/parca-agent/dist/libbpf/{{.Arch}}/usr/include
- CGO_LDFLAGS=-L/__w/parca-agent/parca-agent/dist/libz/{{.Arch}}/lib -L/__w/parca-agent/parca-agent/dist/libelf/{{.Arch}}/lib /__w/parca-agent/parca-agent/dist/libzstd/{{.Arch}}/lib/libzstd.a /__w/parca-agent/parca-agent/dist/libbpf/{{.Arch}}/libbpf.a PKG_CONFIG=''
# Needed for compiling libbpf (defined in Make).
- CFLAGS=-g -O2 -Werror -Wall -std=gnu89 -target arm64-pc-linux-gnu
goos:
- linux
goarch:
- arm64
hooks:
pre:
- make ARCH=arm64 libbpf
- CFLAGS=-g -O2 -Werror -Wall -std=gnu89 -fpic -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer
flags:
- -mod=readonly
- -buildmode=pie
- -trimpath
- -v
ldflags:
# https://goreleaser.com/customization/build/#reproducible-builds
# {{.CommitDate}} is the date of the commit to make builds reproducible.
- -X main.version={{.Version}} -X main.commit={{.FullCommit}} -X main.date={{.CommitDate}} -X main.goArch=arm64
- -extldflags=-static
- -X main.version={{.Version}} -X main.commit={{.FullCommit}} -X main.date={{.CommitDate}}
- -X main.cc={{.Env.CC}} -X main.ccVersion={{.Env.CC_VERSION}}
- -linkmode=external -extldflags=-static
tags:
- osusergo
- netgo

archives:
# e.g. parca_agent_0.15.0_Linux_aarch64.tar.gz, parca_agent_0.15.0_Linux_x86_64.tar.gz
# e.g. parca_agent_0.15.0_Linux_aarch64.tar.gz, parca_agent_0.15.0_Linux_x86_64.tar.gz
- name_template: >-
{{ .ProjectName }}_
{{- trimprefix .Version "v" }}_
Expand All @@ -91,16 +67,16 @@ archives:
- goos: windows
format: zip
files:
- 'LICENSE*'
- 'README*'
- "LICENSE*"
- "README*"
- src: goreleaser/dist/async-profiler/LICENSE
dst: async-profiler
strip_parent: true
- src: goreleaser/dist/async-profiler/x64/libc/*
dst: async-profiler/x64/libc
strip_parent: true
checksum:
name_template: 'checksums.txt'
name_template: "checksums.txt"
snapshot:
name_template: "{{ incpatch .Tag }}-{{ .ShortCommit }}"
release:
Expand All @@ -121,5 +97,5 @@ changelog:
use: github
filters:
exclude:
- '^docs:'
- '^test:'
- "^docs:"
- "^test:"
2 changes: 1 addition & 1 deletion Dockerfile.dev
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ ARG DELVE_VERSION=v1.22.0
RUN go install "github.com/go-delve/delve/cmd/dlv@${DELVE_VERSION}"

COPY . ./
RUN goreleaser build --clean --skip-validate --snapshot --debug --id parca-agent-"${TARGETARCH}"
RUN goreleaser build --clean --skip=validate --snapshot --debug --id parca-agent-"${TARGETARCH}"

# NOTICE: See goreleaser.yml for the build paths.
RUN mkdir -p /app && \
Expand Down
72 changes: 45 additions & 27 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@ SHELL := /usr/bin/env bash

# tools:
ZIG ?= zig
CC ?= $(ZIG) cc -target $(shell uname -m)-linux-musl
CMD_CC ?= $(CC)
CC ?= $(ZIG) cc
CMD_LLC ?= llc
LLD ?= lld
CMD_LLD ?= $(LLD)
Expand All @@ -17,6 +16,10 @@ PKG_CONFIG ?= pkg-config
# environment:
ARCH ?= $(shell go env GOARCH)

define cmd_cc
$(if $(filter $(ARCH),amd64),$(CC) -target x86_64-linux-musl,$(CC) -target aarch64-linux-musl)
endef

# kernel headers:
KERN_RELEASE ?= $(shell uname -r)
KERN_BLD_PATH ?= $(if $(KERN_HEADERS),$(KERN_HEADERS),/lib/modules/$(KERN_RELEASE)/build)
Expand Down Expand Up @@ -130,8 +133,8 @@ $(OUT_DIR):
build: $(OUT_BPF) $(OUT_BIN) $(OUT_BIN_EH_FRAME)

GO_ENV := CGO_ENABLED=1 GOOS=linux GOARCH=$(ARCH)
CGO_ENV := CC="$(CMD_CC)" CGO_CFLAGS="$(CGO_CFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" PKG_CONFIG=""
GO_BUILD_FLAGS :=-tags osusergo,netgo -mod=readonly -trimpath -v
CGO_ENV := CC="$(call cmd_cc)" CGO_CFLAGS="$(CGO_CFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)" PKG_CONFIG=""
GO_BUILD_FLAGS :=-tags osusergo,netgo -mod=readonly -trimpath -buildmode=pie -v
GO_BUILD_DEBUG_FLAGS :=-tags osusergo,netgo -v

ifndef DOCKER
Expand All @@ -143,6 +146,12 @@ $(OUT_BIN): $(DOCKER_BUILDER) | $(OUT_DIR)
$(call docker_builder_make,$@ VERSION=$(VERSION))
endif

go-env:
@echo $(GO_ENV)

cgo-env:
@echo $(CGO_ENV)

.PHONY: run
run:
$(GO_ENV) CGO_CFLAGS="$(CGO_CFLAGS_DYN)" CGO_LDFLAGS="$(CGO_LDFLAGS_DYN)" $(GO) run $(SANITIZERS) ./cmd/parca-agent --log-level=debug | tee -i parca-agent.log
Expand Down Expand Up @@ -198,13 +207,16 @@ endif
# libbpf build flags:
CFLAGS ?= -g -O2 -Werror -Wall -std=gnu89 -fpic -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer
LDFLAGS ?= -fuse-ld=$(LD)
LDFLAGS ?= # -fuse-ld=$(LD)
C_ENV := CC="$(call cmd_cc)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)"

c-env:
@echo $(C_ENV)

# libbpf build:
check_%:
@command -v $* >/dev/null || (echo "missing required tool $*" ; false)

libbpf_compile_tools = $(CMD_LLC) $(CMD_CC)
libbpf_compile_tools = $(CMD_LLC) $(CC)
.PHONY: libbpf_compile_tools
$(libbpf_compile_tools): % : check_%

Expand All @@ -231,19 +243,14 @@ $(LIBBPF_SRC):
# So we need to set PKG_CONFIG_LIBDIR instead.

$(LIBBPF_HEADERS) $(LIBBPF_HEADERS)/bpf $(LIBBPF_HEADERS)/linux: | $(OUT_DIR) libbpf_compile_tools $(LIBBPF_SRC)
PKG_CONFIG_LIBDIR=$(abspath $(OUT_DIR))/pkg-config PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(MAKE) -C $(LIBBPF_SRC) CC="$(CMD_CC)" CFLAGS="$(LIBBPF_CFLAGS)" LDFLAGS="$(LIBBPF_LDFLAGS)" install_headers install_uapi_headers DESTDIR=$(abspath $(OUT_DIR))/libbpf/$(ARCH)
PKG_CONFIG_LIBDIR=$(abspath $(OUT_DIR))/pkg-config PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(MAKE) -C $(LIBBPF_SRC) CC="$(call cmd_cc)" CFLAGS="$(LIBBPF_CFLAGS)" LDFLAGS="$(LIBBPF_LDFLAGS)" install_headers install_uapi_headers DESTDIR=$(abspath $(OUT_DIR))/libbpf/$(ARCH)

$(LIBBPF_OBJ): | $(OUT_DIR) libbpf_compile_tools $(LIBBPF_SRC)
PKG_CONFIG_LIBDIR=$(abspath $(OUT_DIR))/pkg-config PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(MAKE) -C $(LIBBPF_SRC) CC="$(CMD_CC)" CFLAGS="$(LIBBPF_CFLAGS)" LDFLAGS="$(LIBBPF_LDFLAGS)" install_pkgconfig DESTDIR=$(abspath $(OUT_DIR))/libbpf/$(ARCH) PREFIX=$(abspath $(OUT_DIR))/libbpf/$(ARCH)
PKG_CONFIG_LIBDIR=$(abspath $(OUT_DIR))/pkg-config PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(MAKE) -C $(LIBBPF_SRC) CC="$(CMD_CC)" CFLAGS="$(LIBBPF_CFLAGS)" LDFLAGS="$(LIBBPF_LDFLAGS)" OBJDIR=$(abspath $(OUT_DIR))/libbpf/$(ARCH) PREFIX=$(abspath $(OUT_DIR))/libbpf/$(ARCH) BUILD_STATIC_ONLY=1
PKG_CONFIG_LIBDIR=$(abspath $(OUT_DIR))/pkg-config PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(MAKE) -C $(LIBBPF_SRC) CC="$(call cmd_cc)" CFLAGS="$(LIBBPF_CFLAGS)" LDFLAGS="$(LIBBPF_LDFLAGS)" install_pkgconfig DESTDIR=$(abspath $(OUT_DIR))/libbpf/$(ARCH)
PKG_CONFIG_LIBDIR=$(abspath $(OUT_DIR))/pkg-config PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(MAKE) -C $(LIBBPF_SRC) CC="$(call cmd_cc)" CFLAGS="$(LIBBPF_CFLAGS)" LDFLAGS="$(LIBBPF_LDFLAGS)" OBJDIR=$(abspath $(OUT_DIR))/libbpf/$(ARCH) BUILD_STATIC_ONLY=1

<<<<<<< HEAD
LIBELF_CFLAGS=-fno-omit-frame-pointer -fpic -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-but-set-parameter -Wno-unused-but-set-variable -I$(abspath $(LIBZ_HEADERS)) -I$(abspath $(LIBZSTD_HEADERS))
LIBELF_LDFLAGS=$(LDFLAGS) -L$(abspath $(LIBZ_OUT_DIR)) -L$(abspath $(LIBZSTD_OUT_DIR))
=======
ELFUTILS_CFLAGS=-fno-omit-frame-pointer -fpic -Wno-gnu-variable-sized-type-not-at-end -Wno-unused-but-set-parameter -Wno-unused-but-set-variable -I$(abspath $(LIBZ_HEADERS)) -I$(abspath $(LIBZSTD_HEADERS))
ELFUTILS_LDFLAGS=$(LDFLAGS) -L$(abspath $(LIBZ_OBJ)) -L$(abspath $(LIBZSTD_OBJ))
>>>>>>> 490e05b2 (Isolate dependencies using devbox)

.PHONY: libelf
libelf: zlib zstd $(LIBELF_HEADERS) $(LIBELF_OBJ)
Expand All @@ -254,8 +261,8 @@ $(LIBELF_SRC):
$(LIBELF_HEADERS) $(LIBELF_HEADERS)/libelfelf.h $(LIBELF_HEADERS)/elf.h $(LIBELF_HEADERS)/gelf.h $(LIBELF_HEADERS)/nlist.h: | $(OUT_DIR) libbpf_compile_tools $(LIBELF_SRC)

$(LIBELF_OBJ): | $(OUT_DIR) $(LIBELF_SRC)
$(MAKE) -C $(LIBELF_SRC) CC="$(CMD_CC)" CFLAGS="$(LIBELF_CFLAGS)" LDFLAGS="$(LIBELF_LDFLAGS)"
$(MAKE) -C $(LIBELF_SRC) CC="$(CMD_CC)" CFLAGS="$(LIBELF_CFLAGS)" LDFLAGS="$(LIBELF_LDFLAGS)" install-static PREFIX=$(abspath $(OUT_DIR))/libelf/$(ARCH)
$(MAKE) -C $(LIBELF_SRC) CC="$(call cmd_cc)" CFLAGS="$(LIBELF_CFLAGS)" LDFLAGS="$(LIBELF_LDFLAGS)"
$(MAKE) -C $(LIBELF_SRC) CC="$(call cmd_cc)" CFLAGS="$(LIBELF_CFLAGS)" LDFLAGS="$(LIBELF_LDFLAGS)" install-static PREFIX=$(abspath $(OUT_DIR))/libelf/$(ARCH)

.PHONY: zlib
zlib: $(LIBZ_HEADERS) $(LIBZ_OBJ)
Expand All @@ -267,10 +274,10 @@ $(LIBZ_HEADERS) $(LIBZ_HEADERS)/zconf.h $(LIBZ_HEADERS)/zlib.h: | $(OUT_DIR) lib

$(LIBZ_OBJ): | $(OUT_DIR) libbpf_compile_tools $(LIBZ_SRC)
cd $(LIBZ_SRC) && \
CC="$(CMD_CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
CC="$(call cmd_cc)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
./configure --prefix=$(abspath $(OUT_DIR))/libz/$(ARCH) --static
$(MAKE) -C $(LIBZ_SRC) CC="$(CMD_CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
$(MAKE) -C $(LIBZ_SRC) CC="$(CMD_CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" install
$(MAKE) -C $(LIBZ_SRC) CC="$(call cmd_cc)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
$(MAKE) -C $(LIBZ_SRC) CC="$(call cmd_cc)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" install

.PHONY: zstd
zstd: $(LIBZSTD_HEADERS) $(LIBZSTD_OBJ)
Expand All @@ -281,9 +288,9 @@ $(LIBZSTD_SRC):
$(LIBZSTD_HEADERS) $(LIBZSTD_HEADERS)/zdict.h $(LIBZSTD_HEADERS)/zstd.h: | $(OUT_DIR) libbpf_compile_tools $(LIBZSTD_SRC)

$(LIBZSTD_OBJ): | $(OUT_DIR) libbpf_compile_tools $(LIBZSTD_SRC)
$(MAKE) -C $(LIBZSTD_SRC)/lib CC="$(CMD_CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" install-includes PREFIX=$(abspath $(OUT_DIR))/libzstd/$(ARCH)
$(MAKE) -C $(LIBZSTD_SRC)/lib CC="$(CMD_CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" install-pc PREFIX=$(abspath $(OUT_DIR))/libzstd/$(ARCH)
$(MAKE) -C $(LIBZSTD_SRC)/lib CC="$(CMD_CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" install-static PREFIX=$(abspath $(OUT_DIR))/libzstd/$(ARCH)
$(MAKE) -C $(LIBZSTD_SRC)/lib CC="$(call cmd_cc)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" install-includes PREFIX=$(abspath $(OUT_DIR))/libzstd/$(ARCH)
$(MAKE) -C $(LIBZSTD_SRC)/lib CC="$(call cmd_cc)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" install-pc PREFIX=$(abspath $(OUT_DIR))/libzstd/$(ARCH)
$(MAKE) -C $(LIBZSTD_SRC)/lib CC="$(call cmd_cc)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" install-static PREFIX=$(abspath $(OUT_DIR))/libzstd/$(ARCH)

$(VMLINUX):
bpftool btf dump file /sys/kernel/btf/vmlinux format c > $@
Expand Down Expand Up @@ -370,22 +377,33 @@ go/fmt-check:
.PHONY: mostlyclean
mostlyclean:
-rm -rf $(OUT_BIN) $(OUT_BPF)
-rm -rf dist/

.PHONY: clean-3rdparty-libraries
clean-3rdparty-libraries:
git submodule foreach --recursive git clean -xfd
git submodule foreach --recursive git reset --hard

.PHONY: clean
clean: mostlyclean
-FILE="$(docker_builder_file)" ; \
if [ -r "$$FILE" ] ; then \
$(CMD_DOCKER) rmi "$$(< $$FILE)" ; \
fi
$(MAKE) -C $(LIBBPF_SRC) clean
$(MAKE) -C bpf clean
-$(MAKE) -C $(LIBBPF_SRC) clean
-$(MAKE) -C $(LIBELF_SRC) clean
-$(MAKE) -C $(LIBZ_SRC) clean
-$(MAKE) -C $(LIBZSTD_SRC) clean
# zstd clean does not clean everything.
-rm $(LIBZSTD_SRC)/lib/core $(LIBZSTD_SRC)/lib/*.o $(LIBZSTD_SRC)/lib/*.a $(LIBZSTD_SRC)/lib/*.gcda $(LIBZSTD_SRC)/lib/*.so $(LIBZSTD_SRC)/lib/*.so.* libzstd.pc
-$(MAKE) -C bpf clean
-$(MAKE) clean-3rdparty-libraries
-rm -rf $(OUT_DIR)
-rm -f test/kernel/cpu.test
-rm -f test/kernel/logs/vm_log_*.txt
-rm -f test/kernel/kernels/linux-*.bz
-rm -rf pkg/profiler/cpu/bpf/programs/objects/
-rm -rf pkg/contained/bpf/
-rm -rf dist/
-rm -rf goreleaser/dist/

# container:
Expand Down Expand Up @@ -503,7 +521,7 @@ release/dry-run: $(DOCKER_BUILDER) bpf libbpf
-v "$(PWD):/__w/parca-agent/parca-agent" \
-w /__w/parca-agent/parca-agent \
$(DOCKER_BUILDER):latest \
goreleaser release --clean --auto-snapshot --skip-validate --skip-publish --debug
'goreleaser release --clean --auto-snapshot --skip=validate --skip=publish --debug'

.PHONY: release/build
release/build: $(DOCKER_BUILDER) bpf libbpf
Expand All @@ -514,4 +532,4 @@ release/build: $(DOCKER_BUILDER) bpf libbpf
-v "$(PWD):/__w/parca-agent/parca-agent" \
-w /__w/parca-agent/parca-agent \
$(DOCKER_BUILDER):latest \
goreleaser build --clean --skip-validate --snapshot --debug
'goreleaser build --snapshot --clean --skip=validate --debug'
16 changes: 11 additions & 5 deletions cmd/parca-agent/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -93,10 +93,13 @@ import (
)

var (
version string
commit string
date string
goArch string
version string
commit string
date string
goArch = goruntime.GOARCH
goVersion = goruntime.Version()
cc string
ccVersion string
)

const (
Expand Down Expand Up @@ -318,7 +321,10 @@ func getTelemetryMetadata() map[string]string {

r["git_commit"] = commit
r["agent_version"] = version
r["go_arch"] = goruntime.GOARCH
r["go_arch"] = goArch
r["go_version"] = goVersion
r["cc"] = cc
r["cc_version"] = ccVersion
r["kernel_release"] = si.Kernel.Release
r["cpu_cores"] = strconv.Itoa(cpuinfo.NumCPU())

Expand Down
Loading

0 comments on commit 246b366

Please sign in to comment.