-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTaskfile.yml
More file actions
114 lines (97 loc) · 3.04 KB
/
Taskfile.yml
File metadata and controls
114 lines (97 loc) · 3.04 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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# Taskfile for renderflow development workflows
# https://taskfile.dev
version: "3"
tasks:
# Build the project in debug mode
build:
desc: Build the project
cmds:
- cargo build
# Run the project with the default `build` subcommand
run:
desc: Run the project
cmds:
- cargo run -- build
# Run the test suite
test:
desc: Run all tests
cmds:
- cargo test
# Build the project in release mode
release:
desc: Build the project in release mode
cmds:
- cargo build --release
# Remove build artifacts
clean:
desc: Clean build artifacts
cmds:
- cargo clean
# Check the project for errors without producing a binary
check:
desc: Check the project for errors
cmds:
- cargo check
# Format source code
format:
desc: Format source code with rustfmt
cmds:
- cargo fmt
# Lint source code with Clippy
lint:
desc: Lint source code with Clippy
cmds:
- cargo clippy
# Generate CHANGELOG.md from commit history using git-cliff
changelog:
desc: Generate CHANGELOG.md from commit history
cmds:
- git-cliff -o CHANGELOG.md
# Cross-compile a release binary for a specific target using `cross`
# Usage: task cross-build TARGET=<target>
# Example: task cross-build TARGET=aarch64-unknown-linux-gnu
cross-build:
desc: Cross-compile release binary for a target (requires cross and Docker)
cmds:
- cross build --target {{.TARGET}} --release
requires:
vars:
- TARGET
# Build a Debian package (.deb) for the current host architecture
# Requires: cargo-deb (cargo install cargo-deb)
package-deb:
desc: Build a .deb package (requires cargo-deb)
cmds:
- cargo build --release
- cargo deb --no-build
# Build an RPM package (.rpm) for the current host architecture
# Requires: cargo-generate-rpm (cargo install cargo-generate-rpm)
package-rpm:
desc: Build a .rpm package (requires cargo-generate-rpm)
cmds:
- cargo build --release
- cargo generate-rpm
# Validate the Arch Linux PKGBUILD using namcap
# Requires: namcap (pacman -S namcap on Arch Linux)
validate-pkgbuild:
desc: Validate the Arch Linux PKGBUILD with namcap (requires namcap)
cmds:
- namcap pkg/aur/renderflow-git/PKGBUILD
# Bump the patch version (e.g. 0.1.0 -> 0.1.1), commit, and tag
# Requires: cargo-release (cargo install cargo-release)
release-patch:
desc: Bump patch version, commit, and tag (requires cargo-release)
cmds:
- cargo release patch --execute
# Bump the minor version (e.g. 0.1.0 -> 0.2.0), commit, and tag
# Requires: cargo-release (cargo install cargo-release)
release-minor:
desc: Bump minor version, commit, and tag (requires cargo-release)
cmds:
- cargo release minor --execute
# Bump the major version (e.g. 0.1.0 -> 1.0.0), commit, and tag
# Requires: cargo-release (cargo install cargo-release)
release-major:
desc: Bump major version, commit, and tag (requires cargo-release)
cmds:
- cargo release major --execute