.PHONY: build test test-e2e check clean install fmt fmt-check lint check-no-stale-mirror ci demo-gif-validate demo-gif
build:
cargo build --release
test:
cargo test
test-e2e:
cargo test --tests -- --ignored
check:
cargo check
clean:
cargo clean
rm -rf .macot/reports/*.yaml
install: build
cargo install --path .
fmt:
cargo fmt
fmt-check:
cargo fmt --check
lint:
cargo clippy -- -D warnings
check-no-stale-mirror:
@hits=$$(rg -n 'self\.config\.experts' src/tower/app.rs || true); \
if [ -n "$$hits" ]; then \
echo "Property 11 violation: self.config.experts read at runtime in src/tower/app.rs"; \
echo "$$hits"; \
echo "See .macot/specs/expert-panel-manifest-sync-design.md ยง2.3"; \
exit 1; \
fi
ci: build lint fmt-check check-no-stale-mirror test
demo-gif-validate:
vhs validate assets/demo-quickstart.tape
demo-gif: demo-gif-validate
vhs assets/demo-quickstart.tape
tmp_gif="$$(mktemp "$${TMPDIR:-/tmp}/demo-quickstart.XXXXXX.gif")"; \
ffmpeg -y -i assets/demo-quickstart.gif -vf "fps=12,scale=800:-1:flags=lanczos,split[s0][s1];[s0]palettegen=stats_mode=diff[p];[s1][p]paletteuse=dither=bayer:bayer_scale=5:diff_mode=rectangle" -loop 0 "$$tmp_gif" >/dev/null 2>&1; \
mv "$$tmp_gif" assets/demo-quickstart.gif