Skip to content

Commit 540d49b

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 expcted 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 This curious combinaiton 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 84d1b5a commit 540d49b

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

.github/workflows/cygwin-test.yml

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

99
strategy:
10+
matrix:
11+
cygwin-python: [python39, python312]
12+
1013
fail-fast: false
1114

1215
env:
@@ -30,7 +33,7 @@ jobs:
3033
- name: Set up Cygwin
3134
uses: egor-tensin/setup-cygwin@v4
3235
with:
33-
packages: python39 python39-pip python39-virtualenv git
36+
packages: ${{ matrix.cygwin-python }} ${{ matrix.cygwin-python }}-pip ${{ matrix.cygwin-python }}-virtualenv git
3437

3538
- name: Arrange for verbose output
3639
run: |
@@ -57,7 +60,7 @@ jobs:
5760
5861
- name: Set up virtualenv
5962
run: |
60-
python -m venv .venv
63+
${{ matrix.cygwin-python }} -m venv .venv
6164
echo 'BASH_ENV=.venv/bin/activate' >>"$GITHUB_ENV"
6265
6366
- name: Update PyPA packages

0 commit comments

Comments
 (0)