Repository navigation
Expand file tree
/
Copy pathTaskfile.yml
More file actions
86 lines (71 loc) · 1.81 KB
/
Copy pathTaskfile.yml
File metadata and controls
86 lines (71 loc) · 1.81 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
# https://taskfile.dev
version: '3'
tasks:
default:
desc: "Show available tasks"
cmds:
- task --list
install:
desc: "Install runtime + dev deps from the lockfile"
cmds:
- uv sync --locked
test:
desc: "Run the test suite"
cmds:
- uv run pytest
test-cov:
desc: "Run tests with coverage report"
cmds:
- uv run pytest --cov
test-matrix:
desc: "Run tests across every supported Python minor version"
cmds:
- |
for V in 3.10 3.11 3.12 3.13 3.14; do
echo "=== Python $V ==="
uv run --isolated --python $V --with pytest --with . pytest -q
done
lint:
desc: "ruff check"
cmds:
- uv run ruff check
fmt:
desc: "ruff format (in-place)"
cmds:
- uv run ruff format
fmt-check:
desc: "ruff format --check (CI-style)"
cmds:
- uv run ruff format --check
typecheck:
desc: "ty type checker"
cmds:
- uv run ty check
mdlint:
desc: "markdownlint-cli2 on all Markdown files"
cmds:
- npx --yes markdownlint-cli2 "*.md"
check:
desc: "Run the full CI-equivalent check locally (lint + format + typecheck + test)"
cmds:
- task: lint
- task: fmt-check
- task: typecheck
- task: test-cov
- task: mdlint
build:
desc: "Build sdist + wheel into ./dist"
cmds:
- uv build
sbom:
desc: "Produce a CycloneDX SBOM from the lockfile"
cmds:
- uv export --format requirements-txt --no-dev --no-hashes --output-file sbom-requirements.txt
pre-commit:
desc: "Run all prek/pre-commit hooks against every file"
cmds:
- uv run prek run --all-files
clean:
desc: "Remove build artifacts and caches"
cmds:
- rm -rf dist build .pytest_cache .ruff_cache .coverage htmlcov sbom-requirements.txt