-
chore(repo): provision build toolchain via mise in publish workflow (#35593)
发布于
2026-05-06 18:03:32 +00:00 Current Behavior
The
publishworkflow's matrix builds (Linux/macOS/Windows native
binaries via N-API) install Java, Node.js, and pnpm manually inside each
runner/container. With@nx/dotnetnow innx.json, these builds also
need .NET to be available before the project graph can be loaded — and
there's no .NET install on any of the matrix entries today, so the
workflow fails at thepnpm nx run-many --target=build-nativestep.The macOS and
armv7-unknown-linux-gnueabihfmatrix entries already use
mise-actionandmise.toml, but the four Linux docker entries
(Debian + Alpine, x64 + arm64) bypass mise entirely and provision tools
through hand-rolledapt-get/apk/nodesource/npm i -g pnpm
steps.Expected Behavior
- All four Linux docker matrix entries now install
misefrom a
signed/distro source (apt repo athttps://mise.jdx.dev/debfor Debian,
apk add misefrom Alpinecommunityfor Alpine) and provision their
entire toolchain — Node.js, Java, .NET, Maven, corepack — from
mise.toml. This drops ~30 lines of bespoke install logic per entry and
keeps versions in lockstep with the non-docker matrix entries, which
already usemise-action. - Windows entries gain
choco install dotnet-9.0-sdk -yalongside the
existing OpenJDK install (mise's Windows .NET path is broken upstream —
see jdx/mise#4738). - The FreeBSD build sets
NX_DOTNET_DISABLE=true(added to both the
env:block and thecross-platform-actions/action
environment_variablesallowlist so the var actually crosses into the
FreeBSD VM) to opt out of the plugin entirely. NODE_VERSIONis now forwarded intodocker runso containers honor
the workflow's pinned Node version throughmise.toml's tera template
instead of falling back to its24.11.0default.miseitself is installed only via signed repositories — nocurl https://mise.run | sh— so a hijacked DNS lookup againstmise.run
cannot drop a malicious script into our publish pipeline.
Related Issue(s)
N/A — workflow fix triggered by
@nx/dotnetbeing added tonx.json.下载附件
- All four Linux docker matrix entries now install