Files
honeypeer-viz-cli/Makefile
T
snxraven 7ac05f989d
ci / test (push) Failing after 52s
ci / release (push) Has been skipped
Updates
2026-07-10 14:59:29 -04:00

62 lines
1.8 KiB
Makefile

.PHONY: build test vet fmt check run install fixture install-script clean version release-build
MODULE := github.com/honeypeer/cli-viz
VERSION ?= $(shell git rev-parse --short HEAD 2>/dev/null || echo dev)
COMMIT ?= $(shell git rev-parse HEAD 2>/dev/null || echo unknown)
DATE ?= $(shell date -u +%Y-%m-%dT%H:%M:%SZ)
LDFLAGS := -s -w \
-X $(MODULE)/internal/update.BuildCommit=$(COMMIT) \
-X $(MODULE)/internal/update.BuildTime=$(DATE)
build:
go build -trimpath -ldflags "$(LDFLAGS)" -o bin/hp-viz ./cmd/hp-viz/
# Release-style multi-arch archives (mirrors CI).
release-build:
@mkdir -p dist
@for spec in "linux amd64" "linux arm64" "darwin amd64" "darwin arm64"; do \
set -- $$spec; os=$$1 arch=$$2; \
bin="hp-viz-$${os}-$${arch}"; \
GOOS=$$os GOARCH=$$arch CGO_ENABLED=0 go build -trimpath -ldflags "$(LDFLAGS)" -o "dist/$${bin}" ./cmd/hp-viz/; \
tar -czf "dist/$${bin}.tar.gz" -C dist "$${bin}"; \
sha256sum "dist/$${bin}.tar.gz" | awk '{print $$1}' > "dist/$${bin}.tar.gz.sha256"; \
echo "built dist/$${bin}.tar.gz"; \
done
test:
go test ./...
vet:
go vet ./...
fmt:
gofmt -w $$(find . -name '*.go' -not -path './.git/*')
# Fail if sources are not gofmt-clean (CI).
fmt-check:
@unformatted=$$(gofmt -l $$(find . -name '*.go' -not -path './.git/*')); \
if [ -n "$$unformatted" ]; then \
echo "gofmt needed on:"; echo "$$unformatted"; exit 1; \
fi
check: fmt-check vet test
go build -o /tmp/hp-viz-check ./cmd/hp-viz/
version: build
./bin/hp-viz --version
install: build
install -m 755 bin/hp-viz $(DESTDIR)/usr/local/bin/hp-viz
install-script:
bash scripts/install.sh
fixture: build
./bin/hp-viz --fixture tests/fixtures/sse-sample.txt --no-update
run: build
./bin/hp-viz --url $(or $(URL),https://viz.honeypeer.com) --no-update
clean:
rm -rf bin/ dist/ /tmp/hp-viz-check