Skip to content

Commit 01ede67

Browse files
committed
Added Taskfile configuration
1 parent 00712e8 commit 01ede67

2 files changed

Lines changed: 264 additions & 31 deletions

File tree

Taskfile.yml

Lines changed: 264 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,264 @@
1+
version: '3'
2+
3+
silent: true
4+
5+
tasks:
6+
7+
all:
8+
desc: Runs all checks
9+
summary: |
10+
Runs all viable checks for cw-minus.
11+
Execute this task before pushing any changes.
12+
This task takes a significant amount of time to complete.
13+
cmds:
14+
- task: clean
15+
- task: build
16+
- task: clippy
17+
- task: test
18+
- task: wasm
19+
20+
build:
21+
desc: Runs all building variants
22+
cmds:
23+
- task: build-workspace
24+
- task: build-cw-utils
25+
- task: build-cw2
26+
- task: build-cw-controllers
27+
- task: build-1-81-workspace
28+
29+
build-workspace:
30+
desc: Builds all crates in debug mode
31+
cmds:
32+
- cmd: cargo +stable build --workspace
33+
34+
build-cw-utils:
35+
desc: Builds cw-utils in debug mode
36+
cmds:
37+
- cmd: cargo +stable build -p cw-utils
38+
39+
build-cw2:
40+
desc: Builds cw2 in debug mode
41+
cmds:
42+
- cmd: cargo +stable build -p cw2
43+
44+
build-cw-controllers:
45+
desc: Builds cw-controllers in debug mode
46+
cmds:
47+
- cmd: cargo +stable build -p cw-controllers
48+
49+
build-1-81-workspace:
50+
desc: Builds al crates in debug mode using Rust version 1.81
51+
cmds:
52+
- cmd: cargo +1.81.0-x86_64-unknown-linux-gnu build --workspace
53+
54+
clean:
55+
desc: Removes all compiled artifacts
56+
cmds:
57+
- cmd: cargo clean
58+
59+
clippy:
60+
desc: Runs all clippy variants
61+
cmds:
62+
- task: clippy-workspace
63+
- task: clippy-1-81-workspace
64+
65+
clippy-workspace:
66+
desc: Runs clippy
67+
cmds:
68+
- cmd: cargo +stable clippy --all-targets --workspace
69+
70+
clippy-1-81-workspace:
71+
desc: Runs clippy using Rust version 1.81
72+
cmds:
73+
- cmd: cargo +1.81.0-x86_64-unknown-linux-gnu clippy --all-targets --workspace
74+
75+
cov:
76+
desc: Generates the code coverage report for workspace in text format and prints it to stdout
77+
cmds:
78+
- cmd: cargo +stable llvm-cov clean
79+
- cmd: cargo +stable llvm-cov --no-cfg-coverage --workspace
80+
81+
cov-html:
82+
desc: Generates the code coverage report for workspace in HTML format and opens it in a browser
83+
cmds:
84+
- cmd: cargo +stable llvm-cov clean
85+
- cmd: cargo +stable llvm-cov --no-cfg-coverage --workspace --html --open
86+
87+
cov-cw-utils:
88+
desc: Generates the code coverage report for cw-utils in text format and prints it to stdout
89+
cmds:
90+
- cmd: cargo +stable llvm-cov clean
91+
- cmd: cargo +stable llvm-cov -p cw-utils --no-cfg-coverage
92+
93+
cov-cw2:
94+
desc: Generates the code coverage report for cw2 in text format and prints it to stdout
95+
cmds:
96+
- cmd: cargo +stable llvm-cov clean
97+
- cmd: cargo +stable llvm-cov -p cw2 --no-cfg-coverage
98+
99+
cov-cw-controllers:
100+
desc: Generates the code coverage report for cw-controllers in text format and prints it to stdout
101+
cmds:
102+
- cmd: cargo +stable llvm-cov clean
103+
- cmd: cargo +stable llvm-cov -p cw-controllers --no-cfg-coverage
104+
105+
cov-html-cw-utils:
106+
desc: Generates the code coverage report for cw-utils in HTML format and opens it in a browser
107+
cmds:
108+
- cmd: cargo +stable llvm-cov clean
109+
- cmd: cargo +stable llvm-cov -p cw-utils --no-cfg-coverage --html --open
110+
111+
cov-html-cw2:
112+
desc: Generates the code coverage report for cw2 in HTML format and opens it in a browser
113+
cmds:
114+
- cmd: cargo +stable llvm-cov clean
115+
- cmd: cargo +stable llvm-cov -p cw2 --no-cfg-coverage --html --open
116+
117+
cov-html-cw-controllers:
118+
desc: Generates the code coverage report for cw-controllers in HTML format and opens it in a browser
119+
cmds:
120+
- cmd: cargo +stable llvm-cov clean
121+
- cmd: cargo +stable llvm-cov -p cw-controllers --no-cfg-coverage --html --open
122+
123+
cov-badge-cw-utils:
124+
desc: Generates the detailed code coverage badge for cw-utils
125+
cmds:
126+
- cmd: cargo +stable llvm-cov clean
127+
- cmd: cargo +stable llvm-cov --no-cfg-coverage -p cw-utils --json --summary-only --output-path ./target/coverage-cw-utils.json
128+
- cmd: coverio ./target/coverage-cw-utils.json
129+
130+
cov-badge-cw2:
131+
desc: Generates the detailed code coverage badge for cw2
132+
cmds:
133+
- cmd: cargo +stable llvm-cov clean
134+
- cmd: cargo +stable llvm-cov --no-cfg-coverage -p cw2 --json --summary-only --output-path ./target/coverage-cw2.json
135+
- cmd: coverio ./target/coverage-cw2.json
136+
137+
cov-badge-cw-controllers:
138+
desc: Generates the detailed code coverage badge for cw-controllers
139+
cmds:
140+
- cmd: cargo +stable llvm-cov clean
141+
- cmd: cargo +stable llvm-cov --no-cfg-coverage -p cw-controllers --json --summary-only --output-path ./target/coverage-cw-controllers.json
142+
- cmd: coverio ./target/coverage-cw-controllers.json
143+
144+
doc-cw-utils:
145+
desc: Generates documentation for cw-utils
146+
cmds:
147+
- cmd: cargo +stable doc -p cw-utils --no-deps
148+
149+
doc-cw-utils-open:
150+
desc: Generates documentation for cw-utils and opens it in a browser
151+
cmds:
152+
- cmd: cargo +stable doc -p cw-utils --no-deps --open
153+
154+
doc-cw2:
155+
desc: Generates documentation for cw2
156+
cmds:
157+
- cmd: cargo +stable doc -p cw2 --no-deps
158+
159+
doc-cw2-open:
160+
desc: Generates documentation for cw2 and opens it in a browser
161+
cmds:
162+
- cmd: cargo +stable doc -p cw2 --no-deps --open
163+
164+
doc-cw-controllers:
165+
desc: Generates documentation for cw-controllers
166+
cmds:
167+
- cmd: cargo +stable doc -p cw-controllers --no-deps
168+
169+
doc-cw-controllers-open:
170+
desc: Generates documentation for cw-controllers and opens it in a browser
171+
cmds:
172+
- cmd: cargo +stable doc -p cw-controllers --no-deps --open
173+
174+
fmt:
175+
desc: Runs the code formatter
176+
cmds:
177+
- cmd: cargo +stable fmt
178+
179+
publish-dry-run:
180+
desc: Simulates publishing all crates (dry run)
181+
cmds:
182+
- cmd: cargo publish -p cw-utils --dry-run
183+
- cmd: cargo publish -p cw2 --dry-run
184+
- cmd: cargo publish -p cw-controllers --dry-run
185+
186+
publish:
187+
desc: Publishes all crates in the proper order
188+
prompt: This command will publish cw-utils, cw2 and cw-controllers crates. Continue?
189+
cmds:
190+
- cmd: cargo publish -p cw-utils
191+
- cmd: cargo publish -p cw2
192+
- cmd: cargo publish -p cw-controllers
193+
194+
test:
195+
desc: Runs all test variants
196+
cmds:
197+
- task: test-workspace
198+
- task: test-1-81-workspace
199+
200+
test-workspace:
201+
desc: Runs test for workspace
202+
cmds:
203+
- cmd: cargo +stable test --workspace
204+
205+
test-1-81-workspace:
206+
desc: Runs test for workspace using Rust version 1.81
207+
cmds:
208+
- cmd: cargo +1.81.0-x86_64-unknown-linux-gnu test --workspace
209+
210+
testn:
211+
desc: Runs all test variants using nextest
212+
cmds:
213+
- task: testn-workspace
214+
- task: testn-1-81-workspace
215+
216+
testn-workspace:
217+
desc: Runs test for workspace using nextest
218+
cmds:
219+
- cmd: cargo +stable nextest run --workspace
220+
221+
testn-1-81-workspace:
222+
desc: Runs test for workspace using nextest and Rust version 1.81
223+
cmds:
224+
- cmd: cargo +1.81.0-x86_64-unknown-linux-gnu nextest run --workspace
225+
226+
wasm:
227+
desc: Runs all WASM build variants
228+
cmds:
229+
- task: wasm-cw-utils
230+
- task: wasm-1-81-cw-utils
231+
- task: wasm-cw2
232+
- task: wasm-1-81-cw2
233+
- task: wasm-cw-controllers
234+
- task: wasm-1-81-cw-controllers
235+
236+
wasm-cw-utils:
237+
desc: Compiles cw-utils to WebAssembly
238+
cmds:
239+
- cmd: cargo +stable build -p cw-utils --release --target wasm32-unknown-unknown
240+
241+
wasm-1-81-cw-utils:
242+
desc: Compiles cw-utils to WebAssembly using Rust version 1.81
243+
cmds:
244+
- cmd: cargo +1.81.0-x86_64-unknown-linux-gnu build -p cw-utils --release --target wasm32-unknown-unknown
245+
246+
wasm-cw2:
247+
desc: Compiles cw2 to WebAssembly
248+
cmds:
249+
- cmd: cargo +stable build -p cw2 --release --target wasm32-unknown-unknown
250+
251+
wasm-1-81-cw2:
252+
desc: Compiles cw2 to WebAssembly using Rust version 1.81
253+
cmds:
254+
- cmd: cargo +1.81.0-x86_64-unknown-linux-gnu build -p cw2 --release --target wasm32-unknown-unknown
255+
256+
wasm-cw-controllers:
257+
desc: Compiles cw-controllers to WebAssembly
258+
cmds:
259+
- cmd: cargo +stable build -p cw-controllers --release --target wasm32-unknown-unknown
260+
261+
wasm-1-81-cw-controllers:
262+
desc: Compiles cw-controllers to WebAssembly using Rust version 1.81
263+
cmds:
264+
- cmd: cargo +1.81.0-x86_64-unknown-linux-gnu build -p cw-controllers --release --target wasm32-unknown-unknown

scripts/publish.sh

Lines changed: 0 additions & 31 deletions
This file was deleted.

0 commit comments

Comments
 (0)