Skip to content

Windows release contract failure fixture is not portable under PowerShell on Linux #599

Description

@localai-bot

Bug\n\nThe direct Windows portability checker executes scripts/build-windows-release.ps1 -ContractTest whenever pwsh is available. The contract currently creates fail.cmd and invokes it as the nonzero child fixture. Under PowerShell on Linux, that path is handed to the desktop opener (gio) rather than executed as a Windows batch file; gio reports the missing/unsupported target but PowerShell observes a successful process status. The contract then fails with nonzero child exit was accepted.\n\nObserved on 2026-08-13 while reviewing PR #524 candidate 5a845c28a:\n\npython3 scripts/check-windows-portability.py --root . --build-dir build-probe-check\n\nThe checker reaches build-windows-release.ps1:84 and reports nonzero child exit was accepted.\n\n## Required behavior\n\nThe checked-invocation contract must use a failure fixture executable by both Windows PowerShell and PowerShell Core on non-Windows hosts, must still prove an exact nonzero child exit is rejected, and must not weaken the native Windows release gate or production behavior.\n\n## Scope\n\nTracked under ENG-RELEASE-WINDOWS as a focused test/contract bug discovered during #537 review. PR #524 will link the issue and include RED/green evidence.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions