ci: run the Python suite on Windows (#683)

Every job ran on Ubuntu, so Windows-only failures reached master with all
checks green: #480 (an atomic rename Windows file locking refuses) and #486
(non-ASCII JSON printed to a piped cp1252 stdout) passed every Linux leg and
failed on Windows 11. A new python-tests-windows job runs the full suite on
windows-latest with Python 3.14 under Git Bash, the shell Claude Code uses on
Windows, with stdout at the Windows default encoding. It is a separate job so
the five Linux legs keep the names the ruleset requires.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Mads LorentzenandClaude Opus 5.5 authored and GitHub committed 2026-10-19 21:01:54 +02:00
1 parent d3308bbd9f
commit 2e90272d8d
2 files changed
+31

No files matched your search

+21
View File
@@ -83,6 +83,27 @@ jobs:
run: python -m pip install openpyxl==3.1.5 run: python -m pip install openpyxl==3.1.5
- run: python -m unittest discover -s tests -t . -v - run: python -m unittest discover -s tests -t . -v
python-tests-windows:
# Linux-green says nothing about Windows file locking, console encodings or
# path handling, and many users run Windows: #480 and #486 passed every Linux
# leg and failed there. The suite runs under Git Bash, the shell Claude Code
# uses for its Bash tool on Windows, with stdout left at the Windows default
# encoding, so a cp1252 crash shows up here the way it does for a user.
name: Python tool tests (Windows, Python 3.14)
runs-on: windows-latest
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
persist-credentials: false
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: "3.14"
- name: Install Excel integration test dependency
run: python -m pip install openpyxl==3.1.5
- name: Run the suite under Git Bash
shell: bash
run: python -m unittest discover -s tests -t . -v
dependency-review: dependency-review:
name: Dependency review name: Dependency review
# Requires the repo's Dependency graph, which not every repo (upstream or # Requires the repo's Dependency graph, which not every repo (upstream or
+10
View File
@@ -13,6 +13,16 @@ per-file diff commands.
## [Unreleased] ## [Unreleased]
### Added
- **CI runs the Python suite on Windows** (`.github/workflows/ci.yml` `python-tests-windows`) - every
job ran on Ubuntu, so a Windows-only failure reached master with all checks green: #480's test
(an atomic rename that Windows file locking refuses) and #486's (a tool printing non-ASCII JSON
to a piped cp1252 stdout) both passed every Linux leg and failed on Windows 11. The new job runs
the full suite on `windows-latest` with Python 3.14 under Git Bash, the shell Claude Code uses
on Windows, and leaves stdout at the Windows default encoding so the same failures show up in
CI. The five Linux legs keep their names, so required checks are unchanged.
### Changed ### Changed
- **`freehire-search` documents the `OR` and `title:` query operators** (#674, - **`freehire-search` documents the `OR` and `title:` query operators** (#674,