Skip to content

Commit 22d1ba7

Browse files
committed
ci: replace dtolnay/rust-toolchain with jdx/mise-action across all workflows
Standardize CI toolchain management on mise-action, making mise.toml the single source of truth for tool versions. This replaces dtolnay/rust-toolchain, jontze/action-mdbook, cargo-bins/cargo-binstall, extractions/setup-just, actions/setup-python, taiki-e/install-action, and EmbarkStudios/cargo-deny-action with a single mise-action step per job. The MSRV job retains dtolnay@1.91.0 for pinned older toolchain testing. Also syncs Rust version to 1.93.0 in mise.toml to match rust-toolchain.toml and adds mdbook-yml-header, mdbook-image-size, and cargo-outdated to mise.toml. Signed-off-by: UncleSp1d3r <unclesp1d3r@evilbitlabs.io>
1 parent b3ff1e2 commit 22d1ba7

9 files changed

Lines changed: 62 additions & 93 deletions

File tree

.github/workflows/ci.yml

Lines changed: 16 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,11 @@ jobs:
2525
runs-on: ubuntu-latest
2626
steps:
2727
- uses: actions/checkout@v6
28-
- uses: dtolnay/rust-toolchain@1.91.0
28+
- uses: jdx/mise-action@v3
2929
with:
30-
components: rustfmt, clippy
31-
32-
- name: Install just
33-
uses: extractions/setup-just@v3
34-
35-
- name: Cache Rust dependencies
36-
uses: Swatinem/rust-cache@v2
30+
install: true
31+
cache: true
32+
github_token: ${{ secrets.GITHUB_TOKEN }}
3733

3834
- name: Rustfmt Check
3935
uses: actions-rust-lang/rustfmt@v1
@@ -57,16 +53,11 @@ jobs:
5753
runs-on: ubuntu-latest
5854
steps:
5955
- uses: actions/checkout@v6
60-
61-
- name: Setup Rust
62-
uses: dtolnay/rust-toolchain@1.91.0
56+
- uses: jdx/mise-action@v3
6357
with:
64-
components: rustfmt, clippy
65-
66-
- name: Install cargo-nextest
67-
uses: taiki-e/install-action@v2
68-
with:
69-
tool: cargo-nextest
58+
install: true
59+
cache: true
60+
github_token: ${{ secrets.GITHUB_TOKEN }}
7061

7162
- name: Run tests (all features)
7263
run: cargo nextest run --all-features
@@ -88,14 +79,11 @@ jobs:
8879
runs-on: ${{ matrix.os }}
8980
steps:
9081
- uses: actions/checkout@v6
91-
92-
- name: Setup Rust
93-
uses: dtolnay/rust-toolchain@1.91.0
94-
95-
- name: Install cargo-nextest
96-
uses: taiki-e/install-action@v2
82+
- uses: jdx/mise-action@v3
9783
with:
98-
tool: cargo-nextest
84+
install: true
85+
cache: true
86+
github_token: ${{ secrets.GITHUB_TOKEN }}
9987

10088
- run: cargo nextest run --all-features
10189
- run: cargo build --release --all-features
@@ -105,16 +93,11 @@ jobs:
10593
needs: [test, test-cross-platform]
10694
steps:
10795
- uses: actions/checkout@v6
108-
109-
- name: Setup Rust
110-
uses: dtolnay/rust-toolchain@1.91.0
111-
with:
112-
components: llvm-tools
113-
114-
- name: Install cargo-llvm-cov
115-
uses: taiki-e/install-action@v2
96+
- uses: jdx/mise-action@v3
11697
with:
117-
tool: cargo-llvm-cov
98+
install: true
99+
cache: true
100+
github_token: ${{ secrets.GITHUB_TOKEN }}
118101

119102
- name: Generate coverage
120103
run: cargo llvm-cov --all-features --no-report

.github/workflows/codeql.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,11 @@ jobs:
2121
steps:
2222
- uses: actions/checkout@v6
2323

24-
- name: Setup Rust
25-
uses: dtolnay/rust-toolchain@1.91.0
24+
- uses: jdx/mise-action@v3
25+
with:
26+
install: true
27+
cache: true
28+
github_token: ${{ secrets.GITHUB_TOKEN }}
2629

2730
- uses: github/codeql-action/init@v4
2831
with:

.github/workflows/copilot-setup-steps.yml

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -19,41 +19,24 @@ jobs:
1919
# Set the permissions to the lowest permissions possible needed for your steps.
2020
# Copilot will be given its own token for its operations.
2121
permissions:
22-
# If you want to clone the repository as part of your setup steps, for example to
23-
# install dependencies, you'll need the `contents: read` permission. If you don't
24-
# clone the repository in your setup steps, Copilot will do this for you
25-
# automatically after the steps complete.
2622
contents: read
2723

28-
# You can define any steps you want, and they will run before the agent starts.
29-
# If you do not check out your code, Copilot will do this for you.
3024
steps:
3125
- uses: actions/checkout@v6
32-
- uses: dtolnay/rust-toolchain@1.91.0
33-
- uses: extractions/setup-just@v3
3426

35-
- name: Set up Python for pre-commit
36-
uses: actions/setup-python@v6
27+
- uses: jdx/mise-action@v3
3728
with:
38-
python-version: "3.13"
39-
40-
- name: Install cargo tools
41-
uses: taiki-e/install-action@v2
42-
with:
43-
tool: cargo-nextest,cargo-llvm-cov,cargo-audit,cargo-deny,cargo-dist,mdbook
44-
45-
- name: Install mdbook plugins
46-
uses: taiki-e/install-action@v2
47-
with:
48-
tool: mdbook-admonish,mdbook-mermaid,mdbook-linkcheck,mdbook-toc,mdbook-open-on-gh,mdbook-tabs,mdbook-i18n-helpers
29+
install: true
30+
cache: true
31+
github_token: ${{ secrets.GITHUB_TOKEN }}
4932

5033
- name: Run just install
5134
run: |
5235
just install-tools
5336
5437
- name: Setup summary
5538
run: |
56-
echo "Stringy development environment setup complete!"
39+
echo "Stringy development environment setup complete!"
5740
echo ""
5841
echo "Available tools:"
5942
echo " - Rust toolchain: $(rustc --version)"

.github/workflows/docs.yml

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -27,25 +27,11 @@ jobs:
2727
- name: Checkout
2828
uses: actions/checkout@v6
2929

30-
- name: Setup Rust
31-
uses: dtolnay/rust-toolchain@1.91.0
30+
- uses: jdx/mise-action@v3
3231
with:
33-
components: rustfmt, clippy
34-
35-
- name: Setup mdBook
36-
uses: jontze/action-mdbook@v4
37-
with:
38-
token: ${{ secrets.GITHUB_TOKEN }}
39-
mdbook-version: 0.5.2
40-
use-mermaid: true
41-
use-toc: true
42-
use-admonish: true
43-
44-
- name: Install cargo-binstall
45-
uses: cargo-bins/cargo-binstall@main
46-
47-
- name: Install mdbook plugins
48-
run: cargo binstall mdbook-tabs mdbook-i18n-helpers mdbook-yml-header mdbook-image-size --no-confirm
32+
install: true
33+
cache: true
34+
github_token: ${{ secrets.GITHUB_TOKEN }}
4935

5036
- name: Build mdBook
5137
run: |

.github/workflows/security.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@ jobs:
2626
steps:
2727
- uses: actions/checkout@v6
2828

29-
- name: Setup Rust
30-
uses: dtolnay/rust-toolchain@1.91.0
31-
32-
- uses: taiki-e/install-action@v2
29+
- uses: jdx/mise-action@v3
3330
with:
34-
tool: cargo-outdated,cargo-dist
31+
install: true
32+
cache: true
33+
github_token: ${{ secrets.GITHUB_TOKEN }}
3534

36-
- uses: EmbarkStudios/cargo-deny-action@v2
35+
- name: Run cargo deny check
36+
run: cargo deny check
3737

3838
- name: Run cargo outdated
3939
run: cargo outdated --depth=1 --exit-code=1

.vscode/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@
99
"debug.javascript.defaultRuntimeExecutable": {
1010
"pwa-node": "${workspaceFolder}/.vscode/mise-tools/node"
1111
}
12-
}
12+
}

Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,22 @@ name = "stringy"
2020
path = "src/main.rs"
2121

2222
[dependencies]
23-
clap = { version = "4.5.54", features = [ "derive" ] }
23+
clap = { version = "4.5.58", features = [ "derive" ] }
2424
cpp_demangle = "0.5.1"
2525
entropy = "0.4.3"
26-
goblin = "0.10.4"
26+
goblin = "0.10.5"
2727
once_cell = "1.21.3"
2828
pelite = "0.10.0"
29-
regex = "1.12.2"
29+
regex = "1.12.3"
3030
rustc-demangle = "0.1.27"
3131
serde = { version = "1.0.228", features = [ "derive" ] }
3232
serde_json = "1.0.149"
3333
thiserror = "2.0.18"
3434

3535
[dev-dependencies]
36-
criterion = "0.8.1"
37-
insta = "1.46.1"
38-
tempfile = "3.24.0"
36+
criterion = "0.8.2"
37+
insta = "1.46.3"
38+
tempfile = "3.25.0"
3939

4040
# The profile that 'dist' will build with
4141
[profile.dist]

mise.lock

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ backend = "cargo:cargo-llvm-cov"
3838
version = "0.9.123-b.4"
3939
backend = "cargo:cargo-nextest"
4040

41+
[[tools."cargo:cargo-outdated"]]
42+
version = "0.17.0"
43+
backend = "cargo:cargo-outdated"
44+
4145
[[tools."cargo:cargo-release"]]
4246
version = "0.25.22"
4347
backend = "cargo:cargo-release"
@@ -58,6 +62,10 @@ backend = "cargo:mdbook-admonish"
5862
version = "0.4.0"
5963
backend = "cargo:mdbook-i18n-helpers"
6064

65+
[[tools."cargo:mdbook-image-size"]]
66+
version = "0.2.1"
67+
backend = "cargo:mdbook-image-size"
68+
6169
[[tools."cargo:mdbook-linkcheck"]]
6270
version = "0.7.7"
6371
backend = "cargo:mdbook-linkcheck"
@@ -78,6 +86,10 @@ backend = "cargo:mdbook-tabs"
7886
version = "0.15.3"
7987
backend = "cargo:mdbook-toc"
8088

89+
[[tools."cargo:mdbook-yml-header"]]
90+
version = "0.1.5"
91+
backend = "cargo:mdbook-yml-header"
92+
8193
[[tools.claude]]
8294
version = "2.1.42"
8395
backend = "aqua:anthropics/claude-code"
@@ -130,7 +142,7 @@ version = "3.14.2"
130142
backend = "core:python"
131143

132144
[[tools.rust]]
133-
version = "1.92.0"
145+
version = "1.93.0"
134146
backend = "core:rust"
135147

136148
[[tools.zig]]

mise.toml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,23 @@ cargo-insta = "1.46.1"
1515
"cargo:mdbook-admonish" = "1.20.0"
1616
"cargo:mdbook-open-on-gh" = "3.0.0"
1717
"cargo:mdbook-i18n-helpers" = "0.4.0"
18+
"cargo:mdbook-yml-header" = "0.1.5"
19+
"cargo:mdbook-image-size" = "0.2.1"
20+
"cargo:cargo-outdated" = "0.17.0"
1821
claude = "latest"
1922
cyclonedx = "0.29.2"
2023
git-cliff = "2.11.0"
2124
goreleaser = "2.13.3"
2225
just = "1.46.0"
2326
markdownlint-cli2 = "0.20.0"
24-
node = "25.4.0"
2527
pre-commit = "4.5.1"
2628
prettier = "3.8.1"
27-
python = "3.14.2"
28-
rust = "1.92.0"
2929
"cargo:cargo-release" = "0.25.22"
3030
"cargo:cargo-auditable" = "0.7.2"
3131
"cargo:cargo-cyclonedx" = "0.5.7"
3232
"pipx:mdformat" = { version = "0.7.21", uvx_args = "--with mdformat-gfm --with mdformat-frontmatter --with mdformat-footnote --with mdformat-simple-breaks --with mdformat-gfm-alerts --with mdformat-toc --with mdformat-wikilink --with mdformat-tables" }
3333
lychee = "0.22.0"
34-
zig = "0.15.2"
3534
"cargo:cargo-zigbuild" = "0.21.2"
35+
36+
[settings]
37+
idiomatic_version_file_enable_tools = [ "python", "rust", "node", "zig" ]

0 commit comments

Comments
 (0)