make check: include blogex in the cheap static gate
Root check now loops app then blogex then the pin check, mirroring the shape the Lens pass will use. blogex gains a check target (compile with warnings fatal + format); credo is a marked slot until its dep exists, and the gate never claims a sensor it did not run.
This commit is contained in:
@@ -1,11 +1,17 @@
|
|||||||
# Makefile for Firehose monorepo
|
# Makefile for Firehose monorepo
|
||||||
|
|
||||||
|
MISE_BIN ?= mise
|
||||||
|
|
||||||
.PHONY: check precommit deps compile test test-elisp format
|
.PHONY: check precommit deps compile test test-elisp format
|
||||||
|
|
||||||
# Common check target that runs all static analysis
|
# Cheap static gate over both apps, cheapest first. No database, no coverage:
|
||||||
|
# this is the loop you run freely while working and before every commit.
|
||||||
check:
|
check:
|
||||||
@echo "Running static analysis..."
|
@echo "==> check: app (credo --strict, format)"
|
||||||
@make -C app MISE_BIN=mise check
|
@$(MAKE) -C app MISE_BIN=$(MISE_BIN) check
|
||||||
|
@echo "==> check: blogex (compile, format)"
|
||||||
|
@$(MAKE) -C blogex MISE_BIN=$(MISE_BIN) check
|
||||||
|
@echo "==> check: toolchain pins"
|
||||||
@bash scripts/check-pins.sh
|
@bash scripts/check-pins.sh
|
||||||
|
|
||||||
# Precommit target for CI/pre-commit hooks
|
# Precommit target for CI/pre-commit hooks
|
||||||
|
|||||||
+21
-1
@@ -3,13 +3,33 @@
|
|||||||
MISE_BIN ?= mise
|
MISE_BIN ?= mise
|
||||||
MISE_EXEC = $(MISE_BIN) exec --
|
MISE_EXEC = $(MISE_BIN) exec --
|
||||||
|
|
||||||
.PHONY: deps test format
|
.PHONY: check precommit deps compile test format
|
||||||
|
|
||||||
|
# Cheap static gate for this library (no database, no coverage). Runs from the
|
||||||
|
# root `make check`, which loops app then blogex.
|
||||||
|
#
|
||||||
|
# Sensor slot: add `credo` once the "credo strict, tuned config (both apps)"
|
||||||
|
# yak lands blogex's credo dep + .credo.exs. Do not list it before then — a
|
||||||
|
# gate that claims a check it did not run is worse than no gate.
|
||||||
|
check: compile format
|
||||||
|
|
||||||
|
# Per-app precommit loop: same target name and alias shape as app/, so both
|
||||||
|
# apps share one habit (compile --warning-as-errors, format, test).
|
||||||
|
precommit:
|
||||||
|
$(MISE_EXEC) mix precommit
|
||||||
|
|
||||||
|
# Sync dependencies
|
||||||
deps:
|
deps:
|
||||||
$(MISE_EXEC) mix deps.get
|
$(MISE_EXEC) mix deps.get
|
||||||
|
|
||||||
|
# Compile the project (warnings are fatal)
|
||||||
|
compile:
|
||||||
|
$(MISE_EXEC) mix compile --warnings-as-errors
|
||||||
|
|
||||||
|
# Run the test suite
|
||||||
test: deps
|
test: deps
|
||||||
$(MISE_EXEC) mix test
|
$(MISE_EXEC) mix test
|
||||||
|
|
||||||
|
# Format code
|
||||||
format:
|
format:
|
||||||
$(MISE_EXEC) mix format
|
$(MISE_EXEC) mix format
|
||||||
Reference in New Issue
Block a user