From eb089223d70fb6698608ba55500d3093b41449c1 Mon Sep 17 00:00:00 2001 From: "blink-so[bot]" <211532188+blink-so[bot]@users.noreply.github.com> Date: Tue, 16 Jun 2026 17:17:53 +0000 Subject: [PATCH] fix(ci): skip vercel mise install on Windows The Vercel CLI was added to the top-level [tools] block in mise.toml, which made mise try to install it on every runner including Windows. Vercel ships via `npm:vercel`, which spawns `node install.js` from cmd.exe during install. mise installs node into its own shim dir, so node is not on cmd.exe PATH at the moment npm runs the post-install script, and the install fails with: npm error command C:\\Windows\\system32\\cmd.exe /d /s /c node install.js npm error "node" is not recognized as an internal or external command mise ERROR Failed to install npm:vercel@54.14.0: npm.cmd exited with non-zero status: exit code 1 This aborts setup-mise on every Windows job, so test-go-pg (windows-2022) has been red on `main` since the Vercel entry landed, and every PR with a Windows-relevant change is blocked too. The CLI is only used to deploy/preview from dogfood workspaces (Linux), so restrict it to linux/macos via the documented `os` filter. The lockfile is unchanged: `os` is an install-time filter, not a lockfile platform entry. Fixes coder/internal#1596. --- mise.toml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mise.toml b/mise.toml index c30c4d4109e..3a53e04c03c 100644 --- a/mise.toml +++ b/mise.toml @@ -72,7 +72,12 @@ lazygit = "0.61.1" # module's `command -v devcontainer` short-circuit fires "npm:@devcontainers/cli" = "0.87.0" # Vercel CLI for deploying/previewing projects from dogfood workspaces. -vercel = "54.14.0" +# Restricted to Linux/macOS because mise installs this through `npm:vercel`, +# which spawns `node install.js` from cmd.exe on Windows. mise's `node` lives +# only in the shim dir at install time, so `node` is not on PATH and the +# install fails with `'node' is not recognized` (coder/internal#1596). The +# CLI is only needed in dogfood workspaces, which are Linux. +vercel = { version = "54.14.0", os = ["linux", "macos"] } # weekly-docs uses this pinned Puppeteer browser installer to install Chrome for # action-linkspector without resolving mutable npm metadata at runtime. "npm:@puppeteer/browsers" = "2.13.0"