Skip to content

Commit 93f29c2

Browse files
committed
Test both Python 3.9 and Python 3.12 on CI
Python 3.12 is currently marked "test" and should not be expected to fully work. Assuming this successfully installs it, based on local testing I expect two encounter two problems: 1. Currently, creating a venv with `pip` in Python 3.12 on Cygwin does not seem to be working, even though its own global `pip` exists. Running `python -m ensurepip` likewise does not work, reporting that the bundled `pip-24.3.1-py3-none-any.whl` does not exist. The https://bootstrap.pypa.io/get-pip.py script can be used as a workaround, assuming the problem also happens on CI (which I expect). Eventually, `pip` should be fully working. 2. Once that is worked around, there seem to be problems where Python processes terminate unexpectedly and wrongly report success, or where subprocess creation fails. When I ran `pytest` loading it as a module (`python -m pytest`), it collected tests and sometimes started running them, but then suddenly terminated with an exit status of 0. When I ran it via the `pytest` command (no `python -m`), that problem also usually happened, but one time I got an immediate termination instead, reporting the following errors, yet still with a 0 exit status: 0 [main] python3.12 2724 C:\cygwin64\bin\python3.12.exe: *** fatal error in forked process - WFSO timed out performed fork fixups and dynamic dll loading 0 [main] python3.12 2769 C:\cygwin64\bin\python3.12.exe: *** fatal error in forked process - WFSO timed out performed fork fixups and dynamic dll loading And one time I got an immediate termination reporting this slightly different error, also with an exit status of 0: 0 [main] python3.12 3371 C:\cygwin64\bin\python3.12.exe: *** fatal error in forked process - WFSO timed out after longjmp This curious combination of errors (or the same error arising and being reported in different ways?) is my main motivation for testing GitPython on CI with Python 3.12 in Cygwin now, even though the Cygwin package `python312` and assocated packages are still marked "test". If the problems I observed locally can be reproduced, then this may help to find a minimal case that shows the problem (assuming that it is due to a Cygwin-related bug). This commit contains no attempt to avoid or work around either of those two anticipated problems.
1 parent e034cec commit 93f29c2

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

Diff for: .github/workflows/cygwin-test.yml

+12-2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,16 @@ jobs:
77
runs-on: windows-latest
88

99
strategy:
10+
matrix:
11+
python-version: ["3.9", "3.12"]
12+
include:
13+
- python-version: "3.9"
14+
python-cygwin: python39
15+
python-command: python3.9
16+
- python-version: "3.12"
17+
python-cygwin: python312
18+
python-command: python3.12
19+
1020
fail-fast: false
1121

1222
env:
@@ -30,7 +40,7 @@ jobs:
3040
- name: Set up Cygwin
3141
uses: egor-tensin/setup-cygwin@v4
3242
with:
33-
packages: python39 python39-pip python39-virtualenv git
43+
packages: ${{ matrix.python-cygwin }} ${{ matrix.python-cygwin }}-pip ${{ matrix.python-cygwin }}-virtualenv git
3444

3545
- name: Arrange for verbose output
3646
run: |
@@ -57,7 +67,7 @@ jobs:
5767
5868
- name: Set up virtualenv
5969
run: |
60-
python -m venv .venv
70+
${{ matrix.python-command }} -m venv .venv
6171
echo 'BASH_ENV=.venv/bin/activate' >>"$GITHUB_ENV"
6272
6373
- name: Update PyPA packages

0 commit comments

Comments
 (0)