-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathjustfile
More file actions
65 lines (54 loc) · 1.95 KB
/
justfile
File metadata and controls
65 lines (54 loc) · 1.95 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
set shell := ["sh", "-c"]
# Path to the main script
target_script := "src/letsgolang.sh"
# Default recipe: verify project integrity
default: check
help:
@echo "Available commands:"
@echo ""
@echo " just test Run all unit tests"
@echo " just test-filter <p> Run tests matching pattern"
@echo " just bump-version Sync version metadata"
@echo " just fix Apply automatic project fixes (formatting)"
@echo " just check Run project integrity checks"
@echo " just clean Remove build artifacts"
@echo " just release [args] Build release artifacts"
@echo ""
@echo "Release arguments:"
@echo " --release <tag> Use explicit version"
@echo " --stripped Remove leading 'v'"
@echo " --sign Sign artifacts"
@echo " --sign-key <ID> Use specific GPG key"
@echo " --sign-batch Non-interactive signing"
# Run all unit tests
test:
@echo "Running tests..."
./scripts/run_tests.sh
# Run tests matching a specific name or pattern
test-filter pattern:
./scripts/run_tests.sh --filter {{ pattern }}
# Update the script version from the latest Git tag
bump-version:
@if [ ! -f "{{ target_script }}" ]; then \
printf "\033[31mError: Target script not found at {{ target_script }}\033[0m\n"; \
exit 1; \
fi
./scripts/revision.sh {{ target_script }}
# Apply automatic project fixes
fix:
./scripts/fix_project.sh
# Perform project integrity and metadata synchronization checks
check:
./scripts/check_project.sh
# Remove build artifacts
clean:
@if [ -d "dist" ]; then \
printf "Removing 'dist' directory... "; \
rm -rf dist; \
echo "Done."; \
else \
echo "Directory 'dist' not found. Nothing to clean."; \
fi
# Build all release artifacts into ./dist
release *args:
./scripts/release.sh {{ args }}