forked from sashiko-dev/sashiko
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
46 lines (36 loc) · 1.51 KB
/
Copy pathMakefile
File metadata and controls
46 lines (36 loc) · 1.51 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
35
36
37
38
39
40
41
42
43
44
45
46
# Sashiko Development and CI Tasks
.PHONY: help check-pr check-integration check-all sob lint test integration-test
# Default target
.DEFAULT_GOAL := help
# List available commands
help:
@echo "Available targets:"
@echo " help - List available commands"
@echo " check-pr - [PR Suite] Run all checks required for a Pull Request (SOB, Lint, Unit Tests)"
@echo " check-integration - [Integration Suite] Run the full integration tests"
@echo " check-all - Run the complete check suite (PR + Integration)"
@echo " sob - Check Signed-off-by tags (default: HEAD~1..HEAD). Use RANGE to override."
@echo " lint - Run all linters (clippy, fmt, yamllint)"
@echo " test - Run unit tests"
@echo " integration-test - [Slow] Run integration tests using benchmarks"
# [PR Suite] Run all checks required for a Pull Request (SOB, Lint, Unit Tests)
check-pr: sob lint test
# [Integration Suite] Run the full integration tests
check-integration: integration-test
# Run the complete check suite (PR + Integration)
check-all: check-pr check-integration
# Check Signed-off-by tags (default: HEAD~1..HEAD)
RANGE ?= HEAD~1..HEAD
sob:
@./scripts/check-sob.sh "$(RANGE)"
# Run all linters (clippy, fmt, yamllint)
lint:
@cargo clippy --all-targets --all-features --release -- -D warnings
@cargo fmt --all -- --check
@yamllint .
# Run unit tests
test:
@cargo test --release
# [Slow] Run integration tests using benchmarks
integration-test:
@./scripts/integration-test.sh