Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# GENEALOGIX Makefile
.PHONY: help build build-cli build-website install-deps lint lint-fix test test-verbose test-race test-coverage bench mod-tidy mod-verify clean fmt check-schemas check-links release-snapshot
.PHONY: help check build build-cli build-website install-deps lint lint-fix test test-verbose test-race test-coverage bench mod-tidy mod-verify tidy-check clean fmt check-schemas check-links validate-examples release-snapshot

.DEFAULT_GOAL := help

Expand All @@ -14,6 +14,10 @@ install-deps: ## Install Go modules and npm packages
@echo "Installing website dependencies..."
cd website && npm install

## Verification
check: tidy-check lint test check-schemas check-links validate-examples ## Run all checks (mirrors CI)
@echo "All checks passed."

## Build
build-cli: ## Build the glx binary to bin/
@mkdir -p bin
Expand Down Expand Up @@ -76,10 +80,20 @@ mod-tidy: ## Tidy Go module dependencies
mod-verify: ## Verify Go module integrity
go mod verify

tidy-check: ## Verify go.mod and go.sum are tidy
go mod tidy -diff

## Specification
check-schemas: ## Validate JSON schema files
@node specification/validate-schemas.mjs

## Example Validation
validate-examples: build-cli ## Validate all example archives
@for dir in docs/examples/*/; do \
echo "Validating $$dir..."; \
./bin/glx validate "$$dir" || exit 1; \
done

## Release
release-snapshot: ## Build cross-platform binaries locally (no publish)
goreleaser release --snapshot --clean
Expand Down
Loading