Skip to content

Commit b264cb8

Browse files
authored
chore(mise): add lockfile with multi-platform support and version pin (#946)
1 parent c890f0e commit b264cb8

8 files changed

Lines changed: 254 additions & 15 deletions

File tree

.github/workflows/branch-checks.yml

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,37 @@ permissions:
1313
packages: read
1414

1515
jobs:
16+
mise-lockfile:
17+
name: mise Lockfile
18+
runs-on: build-amd64
19+
container:
20+
image: ghcr.io/nvidia/openshell/ci:latest
21+
credentials:
22+
username: ${{ github.actor }}
23+
password: ${{ secrets.GITHUB_TOKEN }}
24+
steps:
25+
- uses: actions/checkout@v4
26+
27+
- name: Mark workspace as safe for git
28+
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
29+
30+
- name: Detect mise config changes
31+
id: changed
32+
uses: tj-actions/changed-files@aa08304bd477b800d468db44fe10f6c61f7f7b11 # v42.1.0
33+
with:
34+
files: |
35+
mise.toml
36+
mise.lock
37+
38+
- name: Verify mise.lock is in sync with mise.toml
39+
if: steps.changed.outputs.any_changed == 'true'
40+
run: |
41+
mise lock
42+
if ! git diff --exit-code mise.lock; then
43+
echo "::error::mise.lock is out of sync with mise.toml. Run 'mise lock' locally and commit the result." >&2
44+
exit 1
45+
fi
46+
1647
license-headers:
1748
name: License Headers
1849
runs-on: build-amd64
@@ -25,7 +56,7 @@ jobs:
2556
- uses: actions/checkout@v4
2657

2758
- name: Install tools
28-
run: mise install
59+
run: mise install --locked
2960

3061
- name: Check license headers
3162
run: mise run license:check
@@ -46,7 +77,7 @@ jobs:
4677
- uses: actions/checkout@v4
4778

4879
- name: Install tools
49-
run: mise install
80+
run: mise install --locked
5081

5182
- name: Configure sccache remote cache
5283
if: vars.SCCACHE_MEMCACHED_ENDPOINT != ''
@@ -90,7 +121,7 @@ jobs:
90121
- uses: actions/checkout@v4
91122

92123
- name: Install tools
93-
run: mise install
124+
run: mise install --locked
94125

95126
- name: Install dependencies
96127
run: uv sync --frozen

.github/workflows/ci-image.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ on:
66
paths:
77
- 'deploy/docker/Dockerfile.ci'
88
- 'mise.toml'
9+
- 'mise.lock'
910
- 'tasks/**'
1011
- '.github/workflows/ci-image.yml'
1112
workflow_dispatch:

.github/workflows/release-dev.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ jobs:
246246
run: git fetch --tags --force
247247

248248
- name: Install tools
249-
run: mise install
249+
run: mise install --locked
250250

251251
- name: Cache Rust target and registry
252252
uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2
@@ -418,7 +418,7 @@ jobs:
418418
run: git fetch --tags --force
419419

420420
- name: Install tools
421-
run: mise install
421+
run: mise install --locked
422422

423423
- name: Cache Rust target and registry
424424
uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2
@@ -569,7 +569,7 @@ jobs:
569569
run: git fetch --tags --force
570570

571571
- name: Install tools
572-
run: mise install
572+
run: mise install --locked
573573

574574
- name: Cache Rust target and registry
575575
uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2

.github/workflows/release-tag.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ jobs:
269269
run: git fetch --tags --force
270270

271271
- name: Install tools
272-
run: mise install
272+
run: mise install --locked
273273

274274
- name: Cache Rust target and registry
275275
uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2
@@ -443,7 +443,7 @@ jobs:
443443
run: git fetch --tags --force
444444

445445
- name: Install tools
446-
run: mise install
446+
run: mise install --locked
447447

448448
- name: Cache Rust target and registry
449449
uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2
@@ -528,7 +528,7 @@ jobs:
528528
run: git fetch --tags --force
529529

530530
- name: Install tools
531-
run: mise install
531+
run: mise install --locked
532532

533533
- name: Cache Rust target and registry
534534
uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2

.github/workflows/release-vm-dev.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ jobs:
153153
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u "${{ github.actor }}" --password-stdin
154154

155155
- name: Install tools
156-
run: mise install
156+
run: mise install --locked
157157

158158
- name: Install zstd
159159
run: apt-get update && apt-get install -y --no-install-recommends zstd && rm -rf /var/lib/apt/lists/*
@@ -222,7 +222,7 @@ jobs:
222222
run: git fetch --tags --force
223223

224224
- name: Install tools
225-
run: mise install
225+
run: mise install --locked
226226

227227
- name: Cache Rust target and registry
228228
uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2
@@ -459,7 +459,7 @@ jobs:
459459
run: git fetch --tags --force
460460

461461
- name: Install tools
462-
run: mise install
462+
run: mise install --locked
463463

464464
- name: Cache Rust target and registry
465465
uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2

deploy/docker/Dockerfile.ci

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,18 +65,19 @@ RUN case "$TARGETARCH" in \
6565
&& curl -fsSL "https://github.com/cli/cli/releases/download/v${GH_VERSION}/gh_${GH_VERSION}_linux_${gh_arch}.tar.gz" \
6666
| tar xz --strip-components=2 -C /usr/local/bin "gh_${GH_VERSION}_linux_${gh_arch}/bin/gh"
6767

68-
# Install mise
68+
# Install mise (NOTE: keep this version in sync with mise.toml)
6969
ARG MISE_VERSION=v2026.4.20
7070
RUN curl https://mise.run | MISE_VERSION=$MISE_VERSION sh
7171

7272
# Copy mise.toml and task includes, then install all tools via mise
7373
COPY mise.toml /opt/mise/mise.toml
74+
COPY mise.lock /opt/mise/mise.lock
7475
COPY tasks/ /opt/mise/tasks/
7576
WORKDIR /opt/mise
7677
RUN --mount=type=secret,id=MISE_GITHUB_TOKEN \
7778
export MISE_GITHUB_TOKEN="$(cat /run/secrets/MISE_GITHUB_TOKEN 2>/dev/null || true)" && \
7879
mise trust /opt/mise/mise.toml && \
79-
env -u RUSTC_WRAPPER mise install && \
80+
env -u RUSTC_WRAPPER mise install --locked && \
8081
mise reshim && \
8182
npm install -g "npm@${NPM_VERSION}" && \
8283
mise reshim && \

mise.lock

Lines changed: 194 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,194 @@
1+
# @generated - this file is auto-generated by `mise lock` https://mise.jdx.dev/dev-tools/mise-lock.html
2+
3+
[[tools."cargo:cargo-zigbuild"]]
4+
version = "0.22.3"
5+
backend = "cargo:cargo-zigbuild"
6+
7+
[[tools."github:EmbarkStudios/cargo-about"]]
8+
version = "0.8.4"
9+
backend = "github:EmbarkStudios/cargo-about"
10+
11+
[tools."github:EmbarkStudios/cargo-about".options]
12+
version_prefix = ""
13+
14+
[tools."github:EmbarkStudios/cargo-about"."platforms.linux-arm64"]
15+
checksum = "sha256:33e0d54c0366308095fdb9101642d281b224131299e1c62001f43aa02bb3573e"
16+
url = "https://github.com/EmbarkStudios/cargo-about/releases/download/0.8.4/cargo-about-0.8.4-aarch64-unknown-linux-musl.tar.gz"
17+
url_api = "https://api.github.com/repos/EmbarkStudios/cargo-about/releases/assets/324268870"
18+
19+
[tools."github:EmbarkStudios/cargo-about"."platforms.linux-x64"]
20+
checksum = "sha256:c7381aa0cdc41fc0ee662cec8daa260da7817ad8ddea04cd4ddad425460adf14"
21+
url = "https://github.com/EmbarkStudios/cargo-about/releases/download/0.8.4/cargo-about-0.8.4-x86_64-unknown-linux-musl.tar.gz"
22+
url_api = "https://api.github.com/repos/EmbarkStudios/cargo-about/releases/assets/324268787"
23+
24+
[tools."github:EmbarkStudios/cargo-about"."platforms.macos-arm64"]
25+
checksum = "sha256:d5255ead3ac861a11c785bf19d4f70f16e59ac8b9519c312da61213d3d57351d"
26+
url = "https://github.com/EmbarkStudios/cargo-about/releases/download/0.8.4/cargo-about-0.8.4-aarch64-apple-darwin.tar.gz"
27+
url_api = "https://api.github.com/repos/EmbarkStudios/cargo-about/releases/assets/324268695"
28+
29+
[[tools."github:anchore/syft"]]
30+
version = "1.43.0"
31+
backend = "github:anchore/syft"
32+
33+
[tools."github:anchore/syft"."platforms.linux-arm64"]
34+
checksum = "sha256:afe92510c467f952a009b994f2d998ff8f9dd266dc26eca55d14a0dd46fec7f2"
35+
url = "https://github.com/anchore/syft/releases/download/v1.43.0/syft_1.43.0_linux_arm64.tar.gz"
36+
url_api = "https://api.github.com/repos/anchore/syft/releases/assets/402658323"
37+
38+
[tools."github:anchore/syft"."platforms.linux-x64"]
39+
checksum = "sha256:7b98251d2d08926bb5d4639b56b1f0996a58ef6667c5830e3fe3cd3ad5f4214a"
40+
url = "https://github.com/anchore/syft/releases/download/v1.43.0/syft_1.43.0_linux_amd64.tar.gz"
41+
url_api = "https://api.github.com/repos/anchore/syft/releases/assets/402658325"
42+
43+
[tools."github:anchore/syft"."platforms.macos-arm64"]
44+
checksum = "sha256:3640e2181c8be7a56377f3c96e520d5380c924dbafd115ee3c8d45fcbc89cac2"
45+
url = "https://github.com/anchore/syft/releases/download/v1.43.0/syft_1.43.0_darwin_arm64.tar.gz"
46+
url_api = "https://api.github.com/repos/anchore/syft/releases/assets/402658324"
47+
48+
[[tools."github:mozilla/sccache"]]
49+
version = "0.14.0"
50+
backend = "github:mozilla/sccache"
51+
52+
[tools."github:mozilla/sccache"."platforms.linux-arm64"]
53+
checksum = "sha256:62a6c942c47c93333bc0174704800cef7edfa0416d08e1356c1d3e39f0b462f2"
54+
url = "https://github.com/mozilla/sccache/releases/download/v0.14.0/sccache-v0.14.0-aarch64-unknown-linux-musl.tar.gz"
55+
url_api = "https://api.github.com/repos/mozilla/sccache/releases/assets/353136010"
56+
57+
[tools."github:mozilla/sccache"."platforms.linux-x64"]
58+
checksum = "sha256:8424b38cda4ecce616a1557d81328f3d7c96503a171eab79942fad618b42af44"
59+
url = "https://github.com/mozilla/sccache/releases/download/v0.14.0/sccache-v0.14.0-x86_64-unknown-linux-musl.tar.gz"
60+
url_api = "https://api.github.com/repos/mozilla/sccache/releases/assets/353136108"
61+
62+
[tools."github:mozilla/sccache"."platforms.macos-arm64"]
63+
checksum = "sha256:a781e8018260ab128e7690d8497736fa231b6ca895d57131d5b5b966ca987594"
64+
url = "https://github.com/mozilla/sccache/releases/download/v0.14.0/sccache-v0.14.0-aarch64-apple-darwin.tar.gz"
65+
url_api = "https://api.github.com/repos/mozilla/sccache/releases/assets/353135984"
66+
67+
[[tools.helm]]
68+
version = "4.1.4"
69+
backend = "aqua:helm/helm"
70+
71+
[tools.helm."platforms.linux-arm64"]
72+
checksum = "sha256:13d03672be289045d2ff00e4e345d61de1c6f21c1257a45955a30e8ae036d8f1"
73+
url = "https://get.helm.sh/helm-v4.1.4-linux-arm64.tar.gz"
74+
75+
[tools.helm."platforms.linux-x64"]
76+
checksum = "sha256:70b2c30a19da4db264dfd68c8a3664e05093a361cefd89572ffb36f8abfa3d09"
77+
url = "https://get.helm.sh/helm-v4.1.4-linux-amd64.tar.gz"
78+
79+
[tools.helm."platforms.macos-arm64"]
80+
checksum = "sha256:7c2eca678e8001fa863cdf8cbf6ac1b3799f9404a89eb55c08260ef5732e658d"
81+
url = "https://get.helm.sh/helm-v4.1.4-darwin-arm64.tar.gz"
82+
83+
[[tools.kubectl]]
84+
version = "1.35.4"
85+
backend = "aqua:kubernetes/kubernetes/kubectl"
86+
87+
[tools.kubectl."platforms.linux-arm64"]
88+
checksum = "sha256:6a5a4cc4e396d7626a7a693a3044b51c75520f81db30fe6816c2554e53be336f"
89+
url = "https://dl.k8s.io/v1.35.4/bin/linux/arm64/kubectl"
90+
91+
[tools.kubectl."platforms.linux-x64"]
92+
checksum = "sha256:b529430df69a688fd61b64ad2299edb5fd71cb58be2a4779dba624c7d3510efd"
93+
url = "https://dl.k8s.io/v1.35.4/bin/linux/amd64/kubectl"
94+
95+
[tools.kubectl."platforms.macos-arm64"]
96+
checksum = "sha256:ec644a2473b64b486987f695dfb1867963ce6d42d267b86e944585a546f92b5d"
97+
url = "https://dl.k8s.io/v1.35.4/bin/darwin/arm64/kubectl"
98+
99+
[[tools.node]]
100+
version = "24.15.0"
101+
backend = "core:node"
102+
103+
[tools.node."platforms.linux-arm64"]
104+
checksum = "sha256:73afc234d558c24919875f51c2d1ea002a2ada4ea6f83601a383869fefa64eed"
105+
url = "https://nodejs.org/dist/v24.15.0/node-v24.15.0-linux-arm64.tar.gz"
106+
107+
[tools.node."platforms.linux-x64"]
108+
checksum = "sha256:44836872d9aec49f1e6b52a9a922872db9a2b02d235a616a5681b6a85fec8d89"
109+
url = "https://nodejs.org/dist/v24.15.0/node-v24.15.0-linux-x64.tar.gz"
110+
111+
[tools.node."platforms.macos-arm64"]
112+
checksum = "sha256:372331b969779ab5d15b949884fc6eaf88d5afe87bde8ba881d6400b9100ffc4"
113+
url = "https://nodejs.org/dist/v24.15.0/node-v24.15.0-darwin-arm64.tar.gz"
114+
115+
[[tools."npm:markdownlint-cli2"]]
116+
version = "0.22.0"
117+
backend = "npm:markdownlint-cli2"
118+
119+
[[tools.protoc]]
120+
version = "29.6"
121+
backend = "aqua:protocolbuffers/protobuf/protoc"
122+
123+
[tools.protoc."platforms.linux-arm64"]
124+
checksum = "sha256:2594ff4fcae8cb57310d394d0961b236190ad9c5efbfdf1f597ea471d424fe79"
125+
url = "https://github.com/protocolbuffers/protobuf/releases/download/v29.6/protoc-29.6-linux-aarch_64.zip"
126+
127+
[tools.protoc."platforms.linux-x64"]
128+
checksum = "sha256:48785a926e73ffa3f68e2f22b14e7b849620c7a1d36809ac9249a5495e280323"
129+
url = "https://github.com/protocolbuffers/protobuf/releases/download/v29.6/protoc-29.6-linux-x86_64.zip"
130+
131+
[tools.protoc."platforms.macos-arm64"]
132+
checksum = "sha256:b9576b5fa1a1ef3fe13a8c91d9d8204b46545759bea5ae155cd6ba2ea4cdaeed"
133+
url = "https://github.com/protocolbuffers/protobuf/releases/download/v29.6/protoc-29.6-osx-aarch_64.zip"
134+
135+
[[tools.python]]
136+
version = "3.13.13"
137+
backend = "core:python"
138+
139+
[tools.python.options]
140+
precompiled_flavor = "install_only_stripped"
141+
142+
[tools.python."platforms.linux-arm64"]
143+
checksum = "sha256:0556f1260a9a1fc83210dcecf9d4cbacf17eb4a684541c84798ffc8b4d618c35"
144+
url = "https://github.com/astral-sh/python-build-standalone/releases/download/20260414/cpython-3.13.13+20260414-aarch64-unknown-linux-gnu-install_only_stripped.tar.gz"
145+
provenance = "github-attestations"
146+
147+
[tools.python."platforms.linux-x64"]
148+
checksum = "sha256:13d3b6d15f4c3c1dd1955a3c81e06bdc5aef4cb5cb65076878374948be3b0412"
149+
url = "https://github.com/astral-sh/python-build-standalone/releases/download/20260414/cpython-3.13.13+20260414-x86_64-unknown-linux-gnu-install_only_stripped.tar.gz"
150+
provenance = "github-attestations"
151+
152+
[tools.python."platforms.macos-arm64"]
153+
checksum = "sha256:874f9931ad40dcce38caf6f408aa7e10ec3d0dfce2184ba7af62a965a66b9cd9"
154+
url = "https://github.com/astral-sh/python-build-standalone/releases/download/20260414/cpython-3.13.13+20260414-aarch64-apple-darwin-install_only_stripped.tar.gz"
155+
provenance = "github-attestations"
156+
157+
[[tools.rust]]
158+
version = "stable"
159+
backend = "core:rust"
160+
161+
[[tools.uv]]
162+
version = "0.10.12"
163+
backend = "aqua:astral-sh/uv"
164+
165+
[tools.uv."platforms.linux-arm64"]
166+
checksum = "sha256:55bd1c1c10ec8b95a8c184f5e18b566703c6ab105f0fc118aaa4d748aabf28e4"
167+
url = "https://github.com/astral-sh/uv/releases/download/0.10.12/uv-aarch64-unknown-linux-musl.tar.gz"
168+
provenance = "github-attestations"
169+
170+
[tools.uv."platforms.linux-x64"]
171+
checksum = "sha256:adccf40b5d1939a5e0093081ec2307ea24235adf7c2d96b122c561fa37711c46"
172+
url = "https://github.com/astral-sh/uv/releases/download/0.10.12/uv-x86_64-unknown-linux-musl.tar.gz"
173+
provenance = "github-attestations"
174+
175+
[tools.uv."platforms.macos-arm64"]
176+
checksum = "sha256:ae738b5661a900579ec621d3918c0ef17bdec0da2a8a6d8b161137cd15f25414"
177+
url = "https://github.com/astral-sh/uv/releases/download/0.10.12/uv-aarch64-apple-darwin.tar.gz"
178+
provenance = "github-attestations"
179+
180+
[[tools.zig]]
181+
version = "0.14.1"
182+
backend = "core:zig"
183+
184+
[tools.zig."platforms.linux-arm64"]
185+
checksum = "sha256:f7a654acc967864f7a050ddacfaa778c7504a0eca8d2b678839c21eea47c992b"
186+
url = "https://ziglang.org/download/0.14.1/zig-aarch64-linux-0.14.1.tar.xz"
187+
188+
[tools.zig."platforms.linux-x64"]
189+
checksum = "sha256:24aeeec8af16c381934a6cd7d95c807a8cb2cf7df9fa40d359aa884195c4716c"
190+
url = "https://ziglang.org/download/0.14.1/zig-x86_64-linux-0.14.1.tar.xz"
191+
192+
[tools.zig."platforms.macos-arm64"]
193+
checksum = "sha256:39f3dc5e79c22088ce878edc821dedb4ca5a1cd9f5ef915e9b3cc3053e8faefa"
194+
url = "https://ziglang.org/download/0.14.1/zig-aarch64-macos-0.14.1.tar.xz"

0 commit comments

Comments
 (0)