unsloth/.github/workflows
danielhanchen b8a052080e Run the Windows installer under PowerShell 5.1, the only shell a clean machine has
The Windows Install step ran `& $script` inside a `shell: pwsh` step, so
install.ps1 was executing under PowerShell 7. A genuinely clean Windows box
does not have PowerShell 7: Windows ships powershell.exe (Windows PowerShell
5.1) and pwsh is a separate install that the hosted runner image happens to
preinstall. So the one workflow whose premise is a machine that has never seen
a developer toolchain was testing the installer under a shell that machine
would not have, and no other Windows job anywhere in .github exercises
install.ps1 under 5.1.

Invoke it the way the desktop does (install.rs:325-339, and the bundled
installer step in desktop-app-clean-machine-ci.yml): powershell.exe with
-NoLogo -NoProfile -NonInteractive -ExecutionPolicy Bypass -File. The pwsh
step wrapper stays, since it is only the installer that has to be under 5.1.
Calling powershell.exe with `&` keeps the output in the pipeline, so
Tee-Object still fills logs/install.log, and $LASTEXITCODE after the pipeline
is the child's real exit code, so $rc and `exit $rc` are unchanged.

install.ps1 and studio/setup.ps1 hold no PowerShell 7-only constructs: no
`#Requires` above 5.1, no `&&`/`||` chain operators, no ternary, no
null-coalescing, no ForEach-Object -Parallel, no $IsWindows/$PSStyle, and no
6+ cmdlets or parameters. setup.ps1 declares `#Requires -Version 5.1`, and its
three $PSVersionTable branches gate a 7-only preference on the 7 side with a
5.1 fallback. Every Invoke-WebRequest already passes -UseBasicParsing, which
5.1 needs because it otherwise reaches for the IE engine.
2026-07-28 23:59:35 +00:00
..
clean-machine-install-ci.yml Run the Windows installer under PowerShell 5.1, the only shell a clean machine has 2026-07-28 23:59:35 +00:00
consolidated-tests-ci.yml avoid Hub metadata probe when loading tokenizers with local_files_only (#7482) 2026-07-27 05:59:48 -07:00
cross-platform-parity-ci.yml Installer: restore interrupted updates and clean stale rollback environments (#7342) 2026-07-23 01:29:53 -07:00
desktop-app-clean-machine-ci.yml Make the Linux and Windows desktop legs clean, and honour published on every macOS delivery 2026-07-28 23:54:57 +00:00
lint-ci.yml Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
local-agent-guides-ci.yml Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
lockfile-audit.yml CI: pin lockfile-audit actions to commit SHAs (#6902) 2026-07-06 07:11:33 -07:00
mlx-ci.yml Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
notebooks-ci.yml CI: add PyPI extra-index to CPU torch installs to fix sympy resolution (#6660) 2026-06-29 17:35:26 -03:00
ossf.yml Create ossf.yml (#6952) 2026-07-07 17:10:01 -07:00
release-desktop.yml Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
security-audit.yml Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
stale.yml CI: scope GITHUB_TOKEN permissions, add MLX CI, unblock ~60 skipped tests (#5312) 2026-05-11 03:19:13 -07:00
studio-api-smoke.yml Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
studio-backend-ci.yml AMD: CI coverage for recent fixes, plus three wrong gfx ids (#7431) 2026-07-25 18:58:02 -05:00
studio-export-capability-ci.yml Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
studio-frontend-ci.yml Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
studio-inference-smoke.yml Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
studio-load-orchestrator-ci.yml Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
studio-mac-api-smoke.yml Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
studio-mac-inference-smoke.yml Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
studio-mac-install-matrix.yml Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
studio-mac-ui-smoke.yml Studio: clarify tool permission controls (#7181) 2026-07-20 09:55:39 -03:00
studio-mac-update-smoke.yml Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
studio-tauri-smoke.yml Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
studio-ui-smoke.yml Studio: drive UI font size through a typography scale instead of the root font size (#7359) 2026-07-23 01:26:56 -07:00
studio-update-smoke.yml Studio: detect an interrupted dependency install instead of launching a backend that cannot import (#7492) 2026-07-28 10:57:20 +02:00
studio-windows-api-smoke.yml Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
studio-windows-inference-smoke.yml Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
studio-windows-ui-smoke.yml Studio: clarify tool permission controls (#7181) 2026-07-20 09:55:39 -03:00
studio-windows-update-smoke.yml Replace standalone Studio wording with Unsloth (#7221) 2026-07-19 00:47:04 -07:00
version-compat-ci.yml version-compat CI: fake CPU training runs for SFT/GRPO/DPO (#6965) 2026-07-08 04:06:28 -07:00
wheel-smoke.yml Studio: detect an interrupted dependency install instead of launching a backend that cannot import (#7492) 2026-07-28 10:57:20 +02:00