-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
34 lines (23 loc) · 1.12 KB
/
Copy pathMakefile
File metadata and controls
34 lines (23 loc) · 1.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
.PHONY: help ci test smoke demo lint fmt fmt-check test-release check-env clean
help: ## List available targets
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z0-9_-]+:.*?## / {printf " %-16s %s\n", $$1, $$2}' $(MAKEFILE_LIST)
ci: fmt-check lint test ## Run everything CI runs (stylua --check, luacheck, tests)
test: ## Run nvim --headless test suite
nvim --clean --headless -u tests/minimal_init.lua -l tests/run.lua
smoke: ## Run end-to-end checks against the real `but` CLI (needs a GitButler workspace)
./scripts/smoke.sh
demo: ## Regenerate the README demo GIFs (needs vhs + a GitButler workspace)
./scripts/demo.sh
lint: ## Run luacheck
luacheck lua/ tests/
fmt: ## Format Lua sources with stylua
stylua lua/ tests/
fmt-check: ## Check formatting without modifying files
stylua --check lua/ tests/
test-release: ## Dry-run the release-please bump locally (no push, no tag)
./scripts/test_release.sh
check-env: ## Verify GH CLI is authenticated
@gh auth status >/dev/null 2>&1 || { echo "gh CLI not authenticated. Run: gh auth login"; exit 1; }
@echo "gh CLI authenticated."
clean: ## Remove cache directories
rm -rf .stylua-cache