๐Ÿ“ฆ j178 / prek

๐Ÿ“„ mise.toml ยท 65 lines
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[settings]
cargo.binstall = true

[tools]
# We need cargo-binstall so that Mise would download "cargo:" tools instead of building them.
cargo-binstall = "latest"
# For snapshot testing
cargo-insta = "latest"
"cargo:cargo-nextest" = "latest"
prek = "latest"
uv = "latest"

[tasks.lint]
description = "Run formatting and linting"
run = [
  "cargo fmt",
  "cargo clippy --all-targets --all-features --workspace -- -D warnings",
]

[tasks.test-unit]
description = "Run unit tests with insta review"
run = "cargo insta test --review --bin prek -- {{arg(name='filter')}}"

[tasks.test-all-unit]
description = "Run all unit tests with insta review"
run = "cargo insta test --review --workspace --lib --bins"

[tasks.test-integration]
description = "Run specific integration test with insta review"
run = "cargo insta test --review --test {{arg(name='test')}} -- {{arg(name='filter')}}"

[tasks.test-all-integration]
description = "Run all integration tests with insta review"
run = "cargo insta test --review --test '*'"

[tasks.test]
description = "Run all tests"
run = "cargo test --all-targets --all-features --workspace"

[tasks.generate-cli-reference]
description = "Generate CLI reference"
run = "cargo test --bin prek cli::_gen::generate_cli_reference -- --exact"
env = { PREK_GENERATE = "1" }

[tasks.generate-json-schema]
description = "Generate JSON schema"
run = "cargo test --bin prek --features schemars config::_gen::generate_json_schema -- --exact"
env = { PREK_GENERATE = "1" }

[tasks.generate]
description = "Generate CLI reference and JSON schema"
depends = ["generate-cli-reference", "generate-json-schema"]

[tasks.build-docs]
description = "Build documentation"
run = "uvx --with-requirements docs/requirements.txt zensical serve"

[tasks.release]
description = "Prepare for a release"
run = """
git checkout -b bump
uvx --from 'rooster @ git+https://github.com/j178/rooster@747d16f' --python 3.13 -- rooster release
cargo update
"""