-
Notifications
You must be signed in to change notification settings - Fork 0
/
Taskfile.dist.yaml
157 lines (156 loc) · 2.88 KB
/
Taskfile.dist.yaml
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
version: "3"
tasks:
template:
desc: Fetch template updates
interactive: true
env:
GIT_CONFIG_GLOBAL: ""
GIT_CONFIG_SYSTEM: ""
cmds:
- >
copier
update
--answers-file
.copier-answers.yaml
{{ .CLI_ARGS }}
flake:
desc: Update flake.lock
cmds:
- >
nix
--accept-flake-config
--extra-experimental-features
'nix-command flakes'
--no-warn-dirty
flake
update
{{ .CLI_ARGS }}
fmt:
desc: Format files
cmds:
- >
trunk
fmt
{{ .CLI_ARGS }}
lint:
desc: Lint files
cmds:
- >
trunk
check
{{ .CLI_ARGS }}
clean:
desc: Clean build files
cmds:
- >
rm
--recursive
--force
{{ .CLI_ARGS }}
build/
status:
- >
test
'!'
-d
build/
shallow-build:
desc: Build the project without initializing git
env:
GIT_CONFIG_GLOBAL: ""
GIT_CONFIG_SYSTEM: ""
GIT_AUTHOR_NAME: test
GIT_AUTHOR_EMAIL: [email protected]
GIT_COMMITTER_NAME: test
GIT_COMMITTER_EMAIL: [email protected]
sources:
- src/**/*
- .gitignore
- copier.yaml
- flake.lock
- "*.nix"
- Taskfile.dist.yaml
- "{taskfile,Taskfile}.{yaml,yml}"
generates:
- build/**/*
cmds:
- task: clean
vars:
CLI_ARGS: ""
- >
copier
copy
--overwrite
--defaults
--vcs-ref
HEAD
{{ .CLI_ARGS }}
./
build/
init-build:
desc: Initialize git in the build directory
internal: true
env:
GIT_CONFIG_GLOBAL: ""
GIT_CONFIG_SYSTEM: ""
GIT_AUTHOR_NAME: test
GIT_AUTHOR_EMAIL: [email protected]
GIT_COMMITTER_NAME: test
GIT_COMMITTER_EMAIL: [email protected]
dir: build/
cmds:
- >
git
init
--initial-branch
main
--quiet
- >
git
commit
--allow-empty
--message
'Initial commit'
--quiet
status:
- >
test
-d
.git/
add-build-changes:
desc: Add build changes to git
internal: true
env:
GIT_CONFIG_GLOBAL: ""
GIT_CONFIG_SYSTEM: ""
dir: build/
cmds:
- >
git
add
--all
status:
- >
test
-z
"$(git ls-files --others --exclude-standard)"
build:
desc: Build the project
cmds:
- task: shallow-build
vars:
CLI_ARGS: >-
--data
'appname=foo'
--data
'description=Example app'
{{ .CLI_ARGS }}
- task: init-build
- task: add-build-changes
test:
desc: Test the project
cmds:
- >
pytest
tests/
{{ .CLI_ARGS }}