Skip to content

ci: Investigate pwsh on ubuntu-24.04-arm (#198) - #304

Closed
pavelzw wants to merge 2 commits into
mainfrom
investigate-pwsh-ubuntu-arm
Closed

pavelzw wants to merge 2 commits into
mainfrom
investigate-pwsh-ubuntu-arm

Conversation

@pavelzw

@pavelzw pavelzw commented Nov 1, 2026 •

Copy link
Copy Markdown
Collaborator

Draft PR for investigating #198. All unrelated test jobs are commented out to avoid spawning many runners. Not meant to be merged as is.

Findings

shell: pixi run pwsh -Command {0} never runs the script on any platform. ubuntu-24.04-arm is just the only runner where this shows up as an error.

  • The runner only adds the .ps1 extension to the temp script when the shell command starts with pwsh. With pixi run pwsh ... the first token is pixi, so the file has no extension.
  • pwsh -Command /path/to/file-without-ext treats the path as a native program. execve fails with ENOEXEC (confirmed with strace), and .NET then falls back to "shell execute", which on Linux is xdg-open.
    • ubuntu-latest: xdg-open is installed. It prints no method available for opening ... but exits 0, so the step passes without running the script (false positive).
    • ubuntu-24.04-arm: there is no xdg-open, so the fallback fails with No such file or directory. This is the error reported in Investigate why ubuntu-24.04-arm with pixi-shell pwsh behaves weirdly #198.
    • macOS / Windows: the step also passes without running the script.

Each variant writes a marker file, and a following step checks that the file exists:

shell ubuntu x64 ubuntu arm macOS Windows
pixi run pwsh -Command {0} (current) ❌ silent no-op ❌ error ❌ silent no-op ❌ silent no-op
pixi run pwsh -File {0} ✅ ✅ ✅ ❌ requires .ps1
pixi run pwsh -NoProfile -Command "Invoke-Expression (Get-Content -Raw '{0}')" ✅ ✅ ✅ ✅
pixi run pwsh -NoProfile -Command "& ([scriptblock]::Create((Get-Content -Raw '{0}')))" ✅ ✅ ✅ ✅

The README (line 338) recommends pixi run pwsh -Command {0} and says it "works on all platforms", so users following it get steps that silently do nothing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant