Files
webhooker/Makefile
clawbot 18cfedb81c
All checks were successful
check / check (push) Successful in 2m19s
feat: bring repo up to REPO_POLICIES standards
- Create cmd/webhooker/main.go with fx dependency injection wiring
- Add REPO_POLICIES.md, .editorconfig, .dockerignore
- Add .gitea/workflows/check.yml for CI (docker build on push)
- Rewrite Makefile with all required targets (test, lint, fmt, fmt-check,
  check, build, hooks, docker, clean, dev, run, deps)
- Rewrite Dockerfile with sha256-pinned base images, golangci-lint
  installed from verified release archive, make check as build step
- Fix README.md: add required sections (description, getting started,
  rationale, design, TODO, license, author)
- Integrate TODO.md content into README.md and remove TODO.md
- Move config.yaml to configs/config.yaml.example
- Fix .gitignore pattern for webhooker binary
- Fix static/static.go embed directive (remove empty vendor dir)
- Fix database test to use in-memory config (no filesystem dependency)

closes #1
closes #2
2026-03-01 08:20:51 -08:00

44 lines
781 B
Makefile

.PHONY: test lint fmt fmt-check check build run dev deps docker clean hooks
# Default target
.DEFAULT_GOAL := check
test:
go test -v -race -timeout 30s ./...
lint:
golangci-lint run --config .golangci.yml ./...
fmt:
gofmt -s -w .
@command -v goimports >/dev/null 2>&1 && goimports -w . || true
fmt-check:
@test -z "$$(gofmt -s -l .)" || { echo "gofmt needed on:"; gofmt -s -l .; exit 1; }
check: fmt-check lint test build
build:
go build -o bin/webhooker ./cmd/webhooker
run: build
./bin/webhooker
dev:
go run ./cmd/webhooker
deps:
go mod download
go mod tidy
docker:
docker build -t webhooker:latest .
clean:
rm -rf bin/
hooks:
@printf '#!/bin/sh\nmake check\n' > .git/hooks/pre-commit
@chmod +x .git/hooks/pre-commit
@echo "pre-commit hook installed"