4861f93e6f
- Added a new section in AGENTS.md outlining the importance of not leaving temporary review labels in source code or comments. - Updated the error message in the Makefile's check-review-labels target to reference AGENTS.md for review hygiene rules instead of plans/README.md, ensuring consistency in documentation.
47 lines
2.1 KiB
Makefile
47 lines
2.1 KiB
Makefile
run: ## Run the application (cross-platform; uses go run for dev on Linux/macOS/Windows)
|
|
@go run .
|
|
|
|
run-debug: ## Run the application with debug logging (cross-platform)
|
|
@go run . --log-level debug
|
|
|
|
build: deps ## Build a snapshot of the application for the current platform (uses -short for fast feedback)
|
|
@go test -short -v ./...
|
|
@goreleaser build --single-target --snapshot --clean
|
|
|
|
test: deps ## Run all tests
|
|
@go test -shuffle=on -timeout=5m -v ./...
|
|
|
|
test-race: deps ## Run all tests with the race detector
|
|
@go test -race -shuffle=on -timeout=5m -v ./...
|
|
|
|
lint: deps check-review-labels ## Run golangci-lint + review label hygiene check
|
|
@golangci-lint run ./...
|
|
|
|
check-review-labels: ## Fail if temporary review labels (P0-01, T1, I3, R2, etc.) are found in source
|
|
@! grep -rnE '\b[A-Z][0-9][^a-zA-Z]' --include='*.go' . 2>/dev/null | grep -v 'G[0-9]\{3\}' || (echo "Error: Found temporary review labels (P*, T*, I*, etc.) in source. See AGENTS.md for the rule." && exit 1)
|
|
|
|
deps: ## Download dependencies
|
|
@go mod tidy
|
|
|
|
clean: ## Remove build artifacts and test cache
|
|
@rm -rf bin/ dist/ *.test coverage.out steamcache2
|
|
|
|
bench: deps ## Run all benchmarks (MemoryFS + DiskFS variants, including all eviction strategies)
|
|
@echo "Running MemoryFS benchmarks..."
|
|
@go test -bench=. -benchmem -run=^$ -benchtime=1s ./vfs/memory
|
|
@echo "Running DiskFS benchmarks..."
|
|
@go test -bench=. -benchmem -run=^$ -benchtime=1s ./vfs/disk
|
|
@echo "Bench done."
|
|
|
|
help: ## Show this help message
|
|
@echo steamcache2 Makefile
|
|
@echo Available targets:
|
|
@echo run Run the application (cross-platform via go run)
|
|
@echo run-debug Run the application with debug logging (cross-platform)
|
|
@echo build Build the application (goreleaser snapshot)
|
|
@echo test Run all tests
|
|
@echo test-race Run all tests with the race detector
|
|
@echo lint Run golangci-lint + review label check
|
|
@echo check-review-labels Fail on temporary review labels (P*, T*, I*, R*, etc.)
|
|
@echo deps Download dependencies
|
|
@echo clean Remove build/test artifacts
|