Skip to content

Commit 1429015

Browse files
committed
refactor: consolidate CI and pre-commit to use mise
1 parent 0fffc4e commit 1429015

3 files changed

Lines changed: 43 additions & 32 deletions

File tree

.github/workflows/ci.yml

Lines changed: 14 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -7,35 +7,25 @@ on:
77
permissions:
88
contents: read
99

10+
env:
11+
MISE_VERSION: 2026.6.11
12+
1013
jobs:
11-
test:
14+
ci:
1215
runs-on: ubuntu-latest
13-
steps:
14-
- name: Checkout repository
15-
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v4
16-
- name: Build and test
17-
run: cargo build --verbose
18-
- name: Run tests
19-
run: cargo test --verbose
16+
strategy:
17+
fail-fast: false
18+
matrix:
19+
task: [fmt, clippy, test, deny]
2020

21-
clippy:
22-
runs-on: ubuntu-latest
2321
steps:
2422
- name: Checkout repository
2523
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v4
26-
- name: Clippy
27-
run: cargo clippy --verbose
2824

29-
fmt:
30-
runs-on: ubuntu-latest
31-
steps:
32-
- name: Checkout repository
33-
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v4
34-
- name: Check formatting
35-
run: cargo fmt --all --check
25+
- name: Install mise
26+
uses: jdx/mise-action@9dc7d5dd454262207dea3ab5a06a3df6afc8ff26 # v3
27+
with:
28+
version: ${{ env.MISE_VERSION }}
3629

37-
cargo-deny:
38-
runs-on: ubuntu-latest
39-
steps:
40-
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v4
41-
- uses: EmbarkStudios/cargo-deny-action@bb137d7af7e4fb67e5f82a49c4fce4fad40782fe # v2
30+
- name: Run ${{ matrix.task }}
31+
run: mise run ${{ matrix.task }}

.pre-commit-config.yaml

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,26 @@ repos:
55
name: fmt
66
language: system
77
files: '\.rs$'
8-
entry: cargo fmt -- --check
8+
entry: mise run fmt
9+
pass_filenames: false
910
- id: clippy
1011
name: clippy
1112
language: system
1213
files: '\.rs$'
13-
entry: cargo clippy --all-targets --all -- -D warnings
14+
entry: mise run clippy
1415
pass_filenames: false
1516
- id: test
1617
name: test
1718
language: system
1819
files: '\.rs$'
19-
entry: cargo test
20+
entry: mise run test
21+
pass_filenames: false
22+
- id: deny
23+
name: deny
24+
language: system
25+
files: '^(Cargo\.lock|Cargo\.toml|deny\.toml|mise\.toml)$'
26+
entry: mise run deny
2027
pass_filenames: false
21-
- repo: https://github.com/EmbarkStudios/cargo-deny
22-
rev: 0.14.24
23-
hooks:
24-
- id: cargo-deny
25-
args: ["--all-features", "check"]
2628
- repo: https://github.com/gitleaks/gitleaks
2729
rev: v8.18.4
2830
hooks:

mise.toml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
[tools]
2+
rust = { version = "1.96.0", components = "rustfmt,clippy" }
3+
4+
[tasks.fmt]
5+
description = "Check Rust formatting"
6+
run = "cargo fmt --all --check"
7+
8+
[tasks.clippy]
9+
description = "Lint all Rust targets"
10+
run = "cargo clippy --all-targets --all-features -- -D warnings"
11+
12+
[tasks.test]
13+
description = "Run all tests"
14+
run = "cargo test --all-features"
15+
16+
[tasks.deny]
17+
description = "Audit dependencies"
18+
tools = { "cargo:cargo-deny" = "0.19.9" }
19+
run = "cargo deny --all-features check"

0 commit comments

Comments
 (0)