Some checks failed
Build and Push / Build and Push Docker Image (push) Failing after 4m31s
- Enable key Jump credo checks: TestHasNoAssertions, VacuousTest, WeakAssertion, UnusedLiveViewAssign, UndeclaredExternalResource, AssertReceiveTimeout - Add mix xref graph --label compile-connected --fail-above 4 - Add --warnings-as-errors to mix test step - Add sobelow and mix_audit deps; wire into audit CI target
52 lines
1.6 KiB
Makefile
52 lines
1.6 KiB
Makefile
.PHONY: precommit format test deps credo xref audit hex-audit cargo-audit deps-audit sobelow
|
|
|
|
# Runs every code-quality check from Mike Zornek's "Guarding Against AI Drift"
|
|
# article in one shot. The agent and CI both gate on this alias.
|
|
precommit:
|
|
@EXIT=0; \
|
|
$(MAKE) format || EXIT=1; \
|
|
$(MAKE) test || EXIT=1; \
|
|
$(MAKE) deps || EXIT=1; \
|
|
$(MAKE) credo || EXIT=1; \
|
|
$(MAKE) xref || EXIT=1; \
|
|
exit $$EXIT
|
|
|
|
# Security audit targets — run independently (network-dependent, not in precommit).
|
|
# Per Zornek: security scanning lives in its own CI job so a red mark there clearly
|
|
# means "a dependency needs attention" rather than "your own code has a style problem."
|
|
audit: hex-audit cargo-audit deps-audit sobelow
|
|
|
|
hex-audit:
|
|
MIX_ENV=test mix hex.audit
|
|
|
|
deps-audit:
|
|
MIX_ENV=test mix deps.audit
|
|
|
|
cargo-audit:
|
|
cargo audit --file rust/prop_grid_rs/Cargo.lock
|
|
|
|
sobelow:
|
|
MIX_ENV=test mix sobelow --config --quiet
|
|
|
|
format:
|
|
MIX_ENV=test mix format --check-formatted
|
|
|
|
test:
|
|
MIX_ENV=test mix test --warnings-as-errors
|
|
|
|
deps:
|
|
MIX_ENV=test mix deps.unlock --check-unused
|
|
|
|
credo:
|
|
MIX_ENV=test mix credo --strict
|
|
|
|
# Catches compile-time coupling creep. Fails if a change introduces new
|
|
# compile-time dependencies between modules (which balloon recompile times).
|
|
# Baselines at the current 4 pre-existing LiveView→band_config deps.
|
|
xref:
|
|
MIX_ENV=test mix xref graph --label compile-connected --fail-above 4
|
|
|
|
# Security-focused static analysis for Phoenix apps. Catches XSS, CSRF,
|
|
# insecure config, and other common web vulnerabilities.
|
|
sobelow:
|
|
MIX_ENV=test mix sobelow --config --quiet
|