Skip to content

ci: add informational Windows selftest job and fix its failures - #765

Merged
ian-flores merged 2 commits into
mainfrom
ci-windows-selftests
Oct 6, 2026
Merged

ian-flores merged 2 commits into
mainfrom
ci-windows-selftests

Conversation

@ian-flores

@ian-flores ian-flores commented Oct 6, 2026 •

Copy link
Copy Markdown
Collaborator

Adds a selftest-windows job to ci.yml that runs the selftests on windows-latest with Python 3.12, and fixes the failures its first run turned up. CI had no Windows coverage, so the Windows-only failure in #752 (a UTF-8 manifest that could not be read under the cp1252 default) could not have been caught.

The job is informational for now. It sets continue-on-error: true and is deliberately not in the needs of Selftests Status, so a red run cannot block a merge. PYTHONUTF8 is intentionally unset so the job runs with Windows' default locale encoding. It has permissions: contents: read.

The first run had 8 failures out of 2074 selftests. This PR fixes 7 of them in a second commit:

  • Four TOML tests interpolated a C:\Users\... path into a TOML basic string, where \U is an invalid escape. They now use json.dumps(str(path)), which is a valid TOML basic string.
  • The openssl fixture in test_clients_connect.py passed -keyout /dev/null. It now writes the throwaway key next to the cert.
  • test_keeps_owner_only_permissions is skipped on Windows, which has no POSIX 0600 mode bits.
  • parse_feature_file returned str(path.relative_to(...)), which uses backslashes on Windows. It now returns .as_posix(). This is a product-code change: the file field feeds scripts/generate-test-catalog.py and scripts/generate-feature-matrix.py, which write the website JSON.

The remaining failure is test_ci_ruff_action_has_no_version_override, a bare read_text() that raises UnicodeDecodeError: 'charmap'. That is fixed by #759, so this job stays informational until #759 picks it up. Once #759 is rebased onto this, its own Windows run should be green, and the job can move into the selftest matrix and become blocking.

Copilot AI balanced review requested due to automatic review settings October 6, 2026 20:33

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟢 Approval recommended

The changes match the intended informational scope and leave required checks unchanged.

Review effort: Balanced
Findings: None

What changed in this PR

Adds informational Windows coverage to VIP’s CI to expose locale-encoding bugs and platform assumptions without blocking merges.

Changes:

  • Runs selftests and product-test collection on Windows with Python 3.12.
  • Uploads test results while keeping Windows outside required checks.
  • Documents the new non-blocking job.
File Description
AGENTS.md Documents informational Windows coverage.
.github/​workflows/​ci.yml Adds the Windows job and results artifact.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@ian-flores ian-flores changed the title ci: add informational Windows selftest job ci: add informational Windows selftest job and fix its failures Oct 6, 2026
@ian-flores
ian-flores marked this pull request as ready for review October 6, 2026 21:21
@ian-flores
ian-flores merged commit a09ac66 into main Oct 6, 2026
50 of 51 checks passed
@ian-flores
ian-flores deleted the ci-windows-selftests branch October 6, 2026 22:08
@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-10-06 22:08 UTC

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.

2 participants