ci: add a non-blocking Windows test job (closes #3884) - #3896
ci: add a non-blocking Windows test job (closes #3884)#3896Dipak Chaudhari (dchaudhari7177) wants to merge 1 commit into
Conversation
Every test job in .github/workflows runs on Linux: 98 ubuntu-latest, one ubuntu-24.04, one matrix.os. The only Windows runner in the repository is in publish.yml, where it builds the win_amd64 wheel and does not test it. ci.yml, the file microsoft#310's acceptance criteria named, has 19 jobs and no occurrence of windows or macos. That matters here more than for an ordinary library: the package documents Python 3.9+ on any platform, ships scripts/quickstart.ps1 as the Windows install path, and publishes the wheel. microsoft#3831 is the shape of what gets through, a governance hook that silently never fires and leaves an audit log that reads as no violations. This measures the gap rather than enforcing it. The job carries continue-on-error and is absent from ci-complete's needs list, so it reports and cannot block a merge. Promote it once its failures are triaged. Scope kept small on purpose: the nine packages that need neither OPA nor the native ACS Rust SDK, one Python version. A Windows OPA binary and a maturin build on Windows are each their own piece of work, and adding them here would bury the pure-Python signal. Steps default to bash, which windows-latest ships, so the gate and install logic stays one copy rather than drifting from the Linux job.
|
Azure Pipelines: There may be pipelines that require an authorized user to comment /azp run to run. |
PR Review Summary
Verdict: AI review comments are untrusted advisory output. The summary reports workflow-generated completion status only, not model-authored pass/fail claims. |
|
🟡 Contributor Check: MEDIUM
Automated check by AGT Contributor Check. |
|
Dipak Chaudhari (@dchaudhari7177) please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
Contributor License AgreementContribution License AgreementThis Contribution License Agreement (“Agreement”) is agreed to by the party signing below (“You”),
|
Closes #3884, taking the "suggested minimal step" from the issue.
Confirmed on current
mainOne Windows runner in the repository, and it builds the
win_amd64wheel without running the suite on it.ci.yml-- the file #310's acceptance criteria named -- has nowindowsand nomacos.What this adds
A
test-windowsjob that reports and cannot gate:continue-on-error: trueci-complete'sneedslist, so it is invisible to the merge gate rather than merely tolerated by itBoth are deliberate. The suite has never run on Windows, so the first run is a measurement, not a pass/fail. Promote the job once its failures are triaged.
Scope, and what is left out
Nine packages -- the ones needing neither OPA nor the native ACS Rust SDK:
The five ACS-backed packages (
agent-os,agt-policies,agent-compliance,agent-marketplace,agent-sandbox) are excluded: they need a Windows OPA binary and a maturin build on Windows, each its own piece of work, and putting them in the first run would bury the pure-Python signal this job exists for.One Python version (3.13) rather than the Linux job's four, since a Windows runner costs about twice a Linux one and this is a smoke signal.
Keeping it from drifting
Steps default to
shell: bash, whichwindows-latestships via Git for Windows, so the change-gate and install logic is the same shell as the Linuxtestjob rather than a second PowerShell transcription that would drift from it. Actions use the same pinned SHAs already in this file.Validation
I cannot run a GitHub Windows runner locally, so what the first run reports is genuinely unknown -- that is the point of the job, and the reason it is non-blocking. If you would rather start with a single package, or on a schedule only rather than on pull requests, say which and I will narrow it.