Skip to content

Commit

Permalink
Continue testing Python 3.9 on CI but unpin 3.9.16-1
Browse files Browse the repository at this point in the history
We pinned Python 3.9.16 on Cygwin CI in #1814 (by requiring
3.9.16-1 as the exact version of the `python39` Cygwin package,
along with other supporting changes). We did this to solve a
problem where Python 3.9.18-1, which contained a bug that broke
GitPython CI (and various other software), would be selected.

Version 3.9.18-1 was marked back to being a "test" package shortly
after the bug was reported, and was subsequently removed altogether
from the Cygwin repositories. Because the affected package version
effectively no longer exists, and because this issue is known and
a non-"test" version still affected by it is very unlikely to be
released in the future, this pinning has been decisively
unnecessary for some time, though still not harmful.

This commit undoes the pinning, so that the `python39` package can
be installed at a higher version if one becomes available. This
serves two purposes.

- There is work under way in porting Python 3.12 to Cygwin. To test
  this with GitPython (either while it is in development or later),
  it will be useful to turn the Cygwin test job into a matrix job
  definition, generating two jobs, one for Python 3.9 and one for
  Python 3.12. Since 3.12 will probably not benefit from pinning,
  dropping pinning simplifies this.

- If the port of Python 3.12 to Cygwin is successful, it might
  lead to a solution to the but that currently keeps 3.9.18 from
  being made available for Cygwin. In that case, another 3.9.18-*
  Cygwin package would be released, which we would want to use.

Although this is uncertain, the change is a simplification, so I
think it is reasonable to do now.

Note that the pinning being undone here only affects the
distinction between different 3.9.* versions. `python39` and
`python312` are different Cygwin packages altogether, with
correspondingly different `python39-*` and `python312-*` associated
packages; this is not unpinning Python 3.9 in a way that would
cause Python 3.12 to be selected instead of it.
  • Loading branch information
EliahKagan committed Jan 4, 2025
1 parent 41377d5 commit 73ddb22
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion .github/workflows/cygwin-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
- name: Set up Cygwin
uses: egor-tensin/setup-cygwin@v4
with:
packages: python39=3.9.16-1 python39-pip python39-virtualenv git
packages: python39 python39-pip python39-virtualenv git

- name: Arrange for verbose output
run: |
Expand Down

0 comments on commit 73ddb22

Please sign in to comment.