-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJustfile
More file actions
125 lines (89 loc) · 2.53 KB
/
Copy pathJustfile
File metadata and controls
125 lines (89 loc) · 2.53 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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# This file is managed by github-config. Do not edit manually.
# https://github.com/wpfleger96/github-config
set dotenv-load := false
# Run all quality checks without tests
default: sync type-check lint-check format-check
# Setup & Dependencies
# Install and sync dependencies
sync:
uv sync
# Code Quality - Check variants
# Run mypy type checking
type-check:
uv run mypy .
# Run linter in check mode (no fixes)
lint-check:
uvx ruff check .
# Run formatter in check mode (no changes)
format-check:
uvx ruff format . --check
# Code Quality - Fix variants
# Run linter and auto-fix issues
lint:
uvx ruff check . --fix
# Run formatter and auto-fix style
format:
uvx ruff format .
# Composite quality checks
# Run all quality checks without tests
check: sync type-check lint-check format-check
@echo "Quick quality checks passed"
# Run all quality checks and tests
check-all: check test web-install web-check
@echo "All quality checks and tests passed"
# Sync, type-check, auto-fix lint/format, and run tests
pre-commit: sync type-check lint format test web-install web-type-check web-lint web-format
@echo "Pre-commit checks passed"
# Testing
# Run tests, excluding e2e suite
test:
uv run pytest -m "not e2e"
# Run unit tests only
test-unit:
uv run pytest -m unit
# Run integration tests only
test-integration:
uv run pytest -m integration
# Run e2e tests only (no coverage)
test-e2e:
uv run pytest -m e2e --no-cov || test $? -eq 5
# Run all tests including e2e (no coverage)
test-all:
uv run pytest --no-cov
# Build & Package
# Build the package
build: sync
uv build
# Remove build artifacts
clean-build:
rm -rf dist/ build/ src/*.egg-info
# Clean and rebuild the package
rebuild: clean-build build
# Web UI
# Install web UI dependencies
web-install:
cd ui && pnpm install
# Run web UI type checks
web-type-check:
cd ui && pnpm run type-check
# Run web UI linter in check mode (no fixes)
web-lint-check:
cd ui && pnpm run lint-check
# Run web UI formatter in check mode (no changes)
web-format-check:
cd ui && pnpm run format-check
# Run web UI linter and auto-fix issues
web-lint:
cd ui && pnpm run lint
# Run web UI formatter and auto-fix style
web-format:
cd ui && pnpm run format
# Build the web UI
web-build:
cd ui && pnpm run build
# Run all web UI quality checks
web-check: web-type-check web-lint-check web-format-check
# Run the full CI pipeline locally
ci: sync type-check lint-check format-check test
@echo "CI checks passed"
import? 'local.just'