-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathjustfile
More file actions
55 lines (42 loc) · 1.62 KB
/
Copy pathjustfile
File metadata and controls
55 lines (42 loc) · 1.62 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
set windows-shell := ["cmd.exe", "/c"]
# List available recipes
default:
@just --list
docs_langs := "az"
# Install every workspace member + tooling, and set up git hooks
setup:
uv sync --all-packages
uv run --no-sync pre-commit install --hook-type pre-commit --hook-type pre-push
# Format source files
format *files:
uv run --no-sync ruff check {{ if files != "" { files } else { "." } }} --fix-only --exit-zero
uv run --no-sync ruff format {{ if files != "" { files } else { "." } }}
# Lint source files
lint *files:
uv run --no-sync ruff check {{ if files != "" { files } else { "." } }}
uv run --no-sync ruff format {{ if files != "" { files } else { "." } }} --check
# Type-check
type-check *files:
uv run --no-sync ty check {{ if files != "" { files } else { "packages" } }}
# Run every package's test suite (isolated per package) with coverage
test *args:
uv run --no-sync python scripts/run_tests.py {{args}}
# Combine and display coverage
coverage title="":
uv run --no-sync coverage combine coverage
uv run --no-sync coverage report
uv run --no-sync coverage html {{ if title != "" { '--title="Coverage report for ' + title + '"' } else { "" } }}
# Build documentation (Azerbaijani)
docs:
uv run --no-sync zensical build -f docs/az/mkdocs.yml --strict
# Serve docs locally
docs-serve lang="az":
uv run --no-sync zensical serve -f docs/{{lang}}/mkdocs.yml
# Run security scan
secure:
uv run --no-sync bandit -r packages --config pyproject.toml
# Run all checks
all: format lint test docs
# Delete build artefacts and caches
clean:
uv run --no-sync python scripts/clean.py