Skip to content

WIP CI: Use modern pwsh.exe instead of legacy powershell.exe#3493

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

WIP CI: Use modern pwsh.exe instead of legacy powershell.exe#3493
smalis-msft wants to merge 1 commit into
microsoft:mainfrom
smalis-msft:pwsh-test

Conversation

@smalis-msft
Copy link
Copy Markdown
Contributor

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

Problem

Petri-based VMM tests intermittently fail on Windows CI runners with powershell.exe crashing during session initialization:

exit code: 0xDEAD
System.AccessViolationException ... at EventLogLogProvider.LogProviderLifecycleEvent

Approach

Switch to Powershell 7, which does not use the same logging pipeline, and so will not hit this error.

Alternative to #3457

Copilot AI review requested due to automatic review settings May 15, 2026 14:20
@smalis-msft smalis-msft requested review from a team as code owners May 15, 2026 14:20
@smalis-msft smalis-msft added the release-ci-required Add to a PR to trigger PR gates in release mode label May 15, 2026
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

This PR switches OpenVMM’s Windows PowerShell invocation path and Windows CI images toward PowerShell 7 to avoid intermittent powershell.exe startup crashes in Petri-based VMM tests.

Changes:

  • Changes PowerShellBuilder to launch pwsh.exe.
  • Updates shared Windows runner image constants to *-pwsh-test.
  • Regenerates GitHub and ADO workflow YAMLs to use the new Windows image labels.

Reviewed changes

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

Show a summary per file
File Description
support/powershell_builder/src/lib.rs Changes the PowerShell executable used by the builder.
flowey/flowey_hvlite/src/pipelines_shared/gh_pools.rs Updates shared Windows CI image labels.
ci-flowey/openvmm-pr.yaml Regenerated ADO PR workflow image demands.
.github/workflows/openvmm-pr.yaml Regenerated GitHub PR workflow runner labels.
.github/workflows/openvmm-pr-release.yaml Regenerated GitHub PR release workflow runner labels.
.github/workflows/openvmm-ci.yaml Regenerated GitHub CI workflow runner labels.

/// Create a new PowerShell command
pub fn new() -> Self {
PowerShellCmdletBuilder(Command::new("powershell.exe"))
PowerShellCmdletBuilder(Command::new("pwsh.exe"))
Comment on lines +12 to +13
pub const WINDOWS_IMAGE_AMD64: &str = "win-amd64-pwsh-test";
pub const WINDOWS_IMAGE_ARM64: &str = "win-arm64-pwsh-test";
@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