coller/Makefile
Julien Riou 792eff78cc
All checks were successful
/ pre-commit (push) Successful in 1m13s
chore: Add release action in Makefile
Signed-off-by: Julien Riou <julien@riou.xyz>
2025-08-28 16:49:27 +02:00

29 lines
918 B
Makefile

APPVERSION := $(shell cat ./VERSION)
GOVERSION := $(shell go version | awk '{print $$3}')
GITCOMMIT := $(shell git log -1 --oneline | awk '{print $$1}')
OS := $(shell uname -s | tr [A-Z] [a-z])
ARCH := $(shell uname -m | tr [A-Z] [a-z])
LDFLAGS = -X main.AppVersion=${APPVERSION} -X main.GoVersion=${GOVERSION} -X main.GitCommit=${GITCOMMIT}
.PHONY: clean test
build:
(cd src \
&& go build -ldflags "${LDFLAGS}" -o ../bin/collerd cmd/collerd/main.go \
&& go build -ldflags "${LDFLAGS}" -o ../bin/copier cmd/copier/main.go \
&& go build -ldflags "${LDFLAGS}" -o ../bin/coller cmd/coller/main.go \
)
archive:
(mkdir -p releases && cd bin && tar cvzpf ../releases/coller-${APPVERSION}-${OS}-${ARCH}.tar.gz * && cd ../releases && sha256sum *.tar.gz)
release: build archive
test:
(cd src \
&& go test internal/*.go \
&& go test server/*.go \
)
clean:
rm -rf bin releases