-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathTaskfile.yaml
More file actions
90 lines (87 loc) · 2.55 KB
/
Copy pathTaskfile.yaml
File metadata and controls
90 lines (87 loc) · 2.55 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
# yaml-language-server: $schema=https://taskfile.dev/schema.json
version: "3"
env:
UV_LOCKED: 1
tasks:
########################
# DEFAULT TASK
########################
default:
desc: List Available Tasks
cmds:
- task --list-all --sort alphanumeric
silent: true
########################
# INSTALL AND DEPENDENCIES
########################
install:
desc: Install Project + Dev Dependencies
cmds:
- task: pre-commit-install
- task: sync
########################
# TESTING
########################
test:
desc: Run Copier Tests
cmds:
- uv run -- pytest tests/test_copier.py {{.CLI_ARGS}}
deps:
- task: sync
vars:
UV_PYTHON: "{{.UV_PYTHON}}"
CLI_ARGS: --quiet
env:
UV_PYTHON: "{{.UV_PYTHON}}"
########################
# DOCUMENTATION AND COMMANDS
########################
docs:
desc: Run Documentation Site
cmds:
- uv run --group docs -- mkdocs {{.CLI_ARGS | default "serve"}}
#######################################
run:
desc: Run Project Command (requires "--")
interactive: true
cmds:
- uv run -- {{.CLI_ARGS}}
########################
# DEPENDENCY MANAGEMENT
########################
lock:
desc: Regenerate Project Lockfile
cmds:
- uv lock
env:
UV_LOCKED: "0"
########################
# GENERATED PROJECT FIXTURE
########################
example-project:
desc: Regenerate Example Project
cmds:
- rm -rf tests/example-project
- uv run -- copier copy --vcs-ref=HEAD --defaults --data-file tests/answers.yml . {{.CLI_ARGS | default "tests/example-project"}}
########################
# INTERNAL TASKS
########################
sync:
desc: Install Project Dependencies
internal: true
cmds:
- uv sync --all-extras {{.CLI_ARGS}}
env:
UV_PYTHON: "{{.UV_PYTHON}}"
#######################################
pre-commit-install:
desc: Install Pre-Commit Hooks
internal: true
cmds:
- cmd: |
if [ "{{.CI | default 0}}" = "0" ]; then
uv tool run --isolated pre-commit install --install-hooks
fi
silent: true
status:
- test ! -f {{.ROOT_DIR}}/.pre-commit-config.yaml