diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 92a7557..bf00927 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -36,8 +36,8 @@ jobs: - name: Build UI assets run: npm --prefix ./ui run build - - name: Run tests - run: make test + - name: Run Go Tests + run: make test-both build: name: Build diff --git a/Makefile b/Makefile index 32d96dc..801037c 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: build ui ui-build run docker docker-build test clean help +.PHONY: build ui ui-build run docker docker-build test test-race test-both fmt clean help APP_NAME := helix-proxy GO := go @@ -22,6 +22,9 @@ help: @echo " docker Build docker image (helix-proxy:dev)" @echo " docker-build Build docker image" @echo " test Run go tests" + @echo " test-race Run go tests with race detector" + @echo " test-both Run go tests and race detector" + @echo " fmt Format Go sources (gofmt)" @echo " clean Remove build artifacts and ui/dist" @echo "" @@ -50,7 +53,24 @@ docker docker-build: docker build -t helix-proxy:dev . test: - $(GO) test ./... -count=1 -race -coverprofile=coverage.out + $(GO) test ./... -count=1 + +test-race: + $(GO) test ./... -count=1 -race + +test-both: test test-race + +fmt: + @echo "Formatting Go sources..." + @files="$$(gofmt -l .)"; \ + if [ -n "$$files" ]; then \ + count=$$(echo "$$files" | wc -l); \ + echo "Reformatted $$count file(s):"; \ + echo "$$files" | sed 's/^/ /'; \ + echo "$$files" | xargs gofmt -w; \ + else \ + echo "All Go files already formatted."; \ + fi clean: rm -f $(APP_NAME)