Skip to content

CI: Switch from powershell to pwsh#3456

Open
smalis-msft wants to merge 1 commit into
microsoft:mainfrom
smalis-msft:try-pwsh
Open

CI: Switch from powershell to pwsh#3456
smalis-msft wants to merge 1 commit into
microsoft:mainfrom
smalis-msft:try-pwsh

Conversation

@smalis-msft
Copy link
Copy Markdown
Contributor

@smalis-msft smalis-msft commented May 11, 2026

We've been seeing a lot of test flakiness lately that seems to be coming from powershell itself crashing during startup, not any of our code. Claude seems to think that switching to the newer pwsh should fix it. Let's see what happens.

Alternative to #3457

Copilot AI review requested due to automatic review settings May 11, 2026 21:30
@smalis-msft smalis-msft requested a review from a team as a code owner May 11, 2026 21:30
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Switch PowerShell invocations from Windows PowerShell (powershell.exe) to PowerShell 7 (pwsh.exe) to reduce flakiness from PowerShell startup crashes.

Changes:

  • Update the internal PowerShell command builder to spawn pwsh.exe.
  • Update Hyper-V tooling to run scripts using pwsh.exe.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
support/powershell_builder/src/lib.rs Uses pwsh.exe when constructing PowerShell commands.
hyperv/tools/hypestv/src/windows/hyperv.rs Uses pwsh.exe when running PowerShell scripts for Hyper-V.

/// Create a new PowerShell command
pub fn new() -> Self {
PowerShellCmdletBuilder(Command::new("powershell.exe"))
PowerShellCmdletBuilder(Command::new("pwsh.exe"))

pub fn powershell_script(script: &str, args: &[&str]) -> anyhow::Result<String> {
let mut cmd = std::process::Command::new("powershell.exe");
let mut cmd = std::process::Command::new("pwsh.exe");
@smalis-msft smalis-msft added the release-ci-required Add to a PR to trigger PR gates in release mode label May 11, 2026
@github-actions
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown

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

Labels

release-ci-required Add to a PR to trigger PR gates in release mode

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants