From ef83d6624bb77e595f145cf0265d47492943e666 Mon Sep 17 00:00:00 2001 From: clawbot Date: Thu, 26 Feb 2026 06:08:47 -0800 Subject: [PATCH] =?UTF-8?q?chore:=20fix=20Makefile=20=E2=80=94=20add=20fmt?= =?UTF-8?q?-check,=20docker,=20hooks=20targets;=2030s=20test=20timeout=20(?= =?UTF-8?q?refs=20#17)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 898fc40..4a5ca28 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: all build lint fmt test check clean run debug +.PHONY: all build lint fmt fmt-check test check clean run debug docker hooks BINARY := chatd VERSION := $(shell git describe --tags --always --dirty 2>/dev/null || echo "dev") @@ -17,18 +17,15 @@ fmt: gofmt -s -w . goimports -w . -test: - go test -v -race -cover ./... - -# Check runs all validation without making changes -# Used by CI and Docker build — fails if anything is wrong -check: - @echo "==> Checking formatting..." +fmt-check: @test -z "$$(gofmt -l .)" || (echo "Files not formatted:" && gofmt -l . && exit 1) - @echo "==> Running linter..." - golangci-lint run --config .golangci.yml ./... - @echo "==> Running tests..." - go test -v -race ./... + +test: + go test -timeout 30s -v -race -cover ./... + +# check runs all validation without making changes +# Used by CI and Docker build — fails if anything is wrong +check: test lint fmt-check @echo "==> Building..." go build -ldflags "$(LDFLAGS)" -o /dev/null ./cmd/chatd @echo "==> All checks passed!" @@ -41,3 +38,12 @@ debug: build clean: rm -rf bin/ chatd data.db + +docker: + docker build -t chat . + +hooks: + @printf '#!/bin/sh\nset -e\n' > .git/hooks/pre-commit + @printf 'go mod tidy\ngo fmt ./...\ngit diff --exit-code -- go.mod go.sum || { echo "go mod tidy changed files; please stage and retry"; exit 1; }\n' >> .git/hooks/pre-commit + @printf 'make check\n' >> .git/hooks/pre-commit + @chmod +x .git/hooks/pre-commit