check / check (push) Successful in 59s
attrsum --version now prints the git tag or short commit. make build stamps it with -X from git describe, and the Dockerfile takes the VERSION build argument when given, otherwise git describe --tags --always on the .git in the build context, failing if .git is present and no version comes out. A new .dockerignore, the canonical one, keeps .git/config out of the context, and also this repo's host-built /attrsum. CI checks out full history so it sees the 1.0.0 tag and stamps what a full clone does. script/docker is replaced with the canonical copy. Model: opus-5-5
58 lines
1.1 KiB
Makefile
58 lines
1.1 KiB
Makefile
.PHONY: default bootstrap setup test lint fmt fmt-check check docker hooks build clean try
|
|
|
|
TESTDIR := $(HOME)/Documents/_SYSADMIN/cyberdyne
|
|
|
|
# The version `make build` stamps into the binary: the git tag or short
|
|
# commit, -dirty with uncommitted changes. `make build VERSION=x` stamps x,
|
|
# which is how the Dockerfile passes its version in.
|
|
VERSION ?= $(shell git describe --tags --always --dirty 2>/dev/null || echo dev)
|
|
|
|
# Standard targets are thin shims; the implementations live in script/
|
|
# per the scripts-to-rule-them-all pattern.
|
|
|
|
default: check build
|
|
|
|
bootstrap:
|
|
@script/bootstrap
|
|
|
|
setup:
|
|
@script/setup
|
|
|
|
test:
|
|
@script/test
|
|
|
|
lint:
|
|
@script/lint
|
|
|
|
fmt:
|
|
@script/fmt
|
|
|
|
fmt-check:
|
|
@script/fmt-check
|
|
|
|
check:
|
|
@script/check
|
|
|
|
docker:
|
|
@script/docker
|
|
|
|
hooks:
|
|
@script/install-precommit
|
|
|
|
build: clean
|
|
@go build -ldflags "-X main.Version=$(VERSION)" .
|
|
|
|
clean:
|
|
@rm -f attrsum
|
|
|
|
try: build
|
|
./attrsum sum add -v $(TESTDIR)
|
|
./attrsum check -v $(TESTDIR)
|
|
./attrsum clear -v $(TESTDIR)
|
|
-./attrsum check -v $(TESTDIR)
|
|
./attrsum sum add -v $(TESTDIR)
|
|
./attrsum check -v $(TESTDIR)
|
|
touch $(TESTDIR)/*
|
|
./attrsum sum update -v $(TESTDIR)
|
|
./attrsum check -v $(TESTDIR)
|