.PHONY: build test test-all quality-gate hygiene lint coverage-report coverage-gate fmt tidy install drill-list drill-run

build:
	go build -o dist/ananke ./cmd/ananke

test:
	go test ./...

test-all: test hygiene lint coverage-report

quality-gate:
	./scripts/quality_gate.sh

hygiene:
	cd testing && go test ./hygiene

lint:
	./scripts/lint.sh

coverage-report:
	cd testing && go test ./coverage -run TestPerFileCoverageReport -count=1 -v

coverage-gate:
	cd testing && ANANKE_ENFORCE_COVERAGE=1 ANANKE_PER_FILE_COVERAGE_TARGET=95 go test ./coverage -run TestPerFileCoverageReport -count=1 -v

fmt:
	gofmt -w ./cmd ./internal

tidy:
	go mod tidy

install:
	sudo ./scripts/install.sh

drill-list:
	./scripts/ananke-drills.sh list

drill-run:
	./scripts/ananke-drills.sh run $(DRILL) --execute
