Hot cache entries now store all data needed to serve a cache hit without any database access: - OutputHash (for file lookup) - ContentType (for Content-Type header) - SizeBytes (for Content-Length header) Previously hot cache only stored OutputHash, causing empty Content-Type headers on cached WebP responses.
41 lines
961 B
Makefile
41 lines
961 B
Makefile
.PHONY: check lint test fmt build clean
|
|
|
|
VERSION := $(shell git describe --tags --always --dirty 2>/dev/null || echo "dev")
|
|
BUILDARCH := $(shell go env GOARCH)
|
|
LDFLAGS := -X main.Version=$(VERSION) -X main.Buildarch=$(BUILDARCH)
|
|
|
|
# Default target: run all checks
|
|
check: fmt-check lint test
|
|
|
|
# Check formatting without modifying files
|
|
fmt-check:
|
|
@echo "Checking formatting..."
|
|
@test -z "$$(gofmt -l . | grep -v '^vendor/')" || (echo "Files need formatting:"; gofmt -l . | grep -v '^vendor/'; exit 1)
|
|
|
|
# Format code
|
|
fmt:
|
|
@echo "Formatting code..."
|
|
gofmt -w $$(find . -name '*.go' -not -path './vendor/*')
|
|
|
|
# Run linter
|
|
lint:
|
|
@echo "Running linter..."
|
|
golangci-lint run
|
|
|
|
# Run tests
|
|
test:
|
|
@echo "Running tests..."
|
|
go test -v ./...
|
|
|
|
# Build the binary
|
|
build: ./bin/pixad
|
|
|
|
./bin/pixad: ./internal/*/*.go ./cmd/pixad/*.go
|
|
@echo "Building pixad..."
|
|
go build -ldflags "$(LDFLAGS)" -o $@ ./cmd/pixad
|
|
|
|
# Clean build artifacts
|
|
clean:
|
|
rm -rf bin/
|
|
rm -f data.db
|