From 309a52e710fddfd7878f2a1cee004b16068826c2 Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Sat, 27 Jan 2024 00:42:14 -0500 Subject: [PATCH 01/12] Try Python 3.9 with other details the same Changing it to Python 3.8 worked, but I want to check that it was actually the use of Python 3.8, rather than other seemingly small changes made to support using Python 3.8, that made the difference. --- .github/workflows/cygwin-test.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/cygwin-test.yml b/.github/workflows/cygwin-test.yml index 84a7f6490..c5c5da04c 100644 --- a/.github/workflows/cygwin-test.yml +++ b/.github/workflows/cygwin-test.yml @@ -30,7 +30,7 @@ jobs: - name: Install Cygwin uses: cygwin/cygwin-install-action@v4 with: - packages: python38 python38-pip python38-virtualenv git + packages: python39 python39-pip python39-virtualenv git add-to-path: false # No need to change $PATH outside the Cygwin environment. - name: Arrange for verbose output @@ -58,20 +58,20 @@ jobs: - name: Update PyPA packages run: | # Get the latest pip, setuptools, and wheel. - python3.8 -m pip install -U pip setuptools wheel + python3.9 -m pip install -U pip setuptools wheel - name: Install project and test dependencies run: | - python3.8 -m pip install ".[test]" + python3.9 -m pip install ".[test]" - name: Show version and platform information run: | uname -a - command -v git python3.8 + command -v git python3.9 git version - python3.8 --version - python3.8 -c 'import os, sys; print(f"sys.platform={sys.platform!r}, os.name={os.name!r}")' + python3.9 --version + python3.9 -c 'import os, sys; print(f"sys.platform={sys.platform!r}, os.name={os.name!r}")' - name: Test with pytest run: | - python3.8 -m pytest --color=yes -p no:sugar --instafail -vv + python3.9 -m pytest --color=yes -p no:sugar --instafail -vv From 0078c62fa4d55212e31587d2ad8322e85401d478 Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Sat, 27 Jan 2024 00:59:35 -0500 Subject: [PATCH 02/12] Revert "Try Python 3.9 with other details the same" This reverts commit b55cbfbb31376e9da4ba6a64ac11cd791718ff8d. --- .github/workflows/cygwin-test.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/cygwin-test.yml b/.github/workflows/cygwin-test.yml index c5c5da04c..84a7f6490 100644 --- a/.github/workflows/cygwin-test.yml +++ b/.github/workflows/cygwin-test.yml @@ -30,7 +30,7 @@ jobs: - name: Install Cygwin uses: cygwin/cygwin-install-action@v4 with: - packages: python39 python39-pip python39-virtualenv git + packages: python38 python38-pip python38-virtualenv git add-to-path: false # No need to change $PATH outside the Cygwin environment. - name: Arrange for verbose output @@ -58,20 +58,20 @@ jobs: - name: Update PyPA packages run: | # Get the latest pip, setuptools, and wheel. - python3.9 -m pip install -U pip setuptools wheel + python3.8 -m pip install -U pip setuptools wheel - name: Install project and test dependencies run: | - python3.9 -m pip install ".[test]" + python3.8 -m pip install ".[test]" - name: Show version and platform information run: | uname -a - command -v git python3.9 + command -v git python3.8 git version - python3.9 --version - python3.9 -c 'import os, sys; print(f"sys.platform={sys.platform!r}, os.name={os.name!r}")' + python3.8 --version + python3.8 -c 'import os, sys; print(f"sys.platform={sys.platform!r}, os.name={os.name!r}")' - name: Test with pytest run: | - python3.9 -m pytest --color=yes -p no:sugar --instafail -vv + python3.8 -m pytest --color=yes -p no:sugar --instafail -vv From 172b55e656deb04ff72339b328696b093225830c Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Sat, 27 Jan 2024 13:19:03 -0500 Subject: [PATCH 03/12] Try 3.9 again, with both python39=3.9.16-1 python39-pip=23.0.1-1 --- .github/workflows/cygwin-test.yml | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/.github/workflows/cygwin-test.yml b/.github/workflows/cygwin-test.yml index 84a7f6490..b4692228b 100644 --- a/.github/workflows/cygwin-test.yml +++ b/.github/workflows/cygwin-test.yml @@ -30,7 +30,7 @@ jobs: - name: Install Cygwin uses: cygwin/cygwin-install-action@v4 with: - packages: python38 python38-pip python38-virtualenv git + packages: python39=3.9.16-1 python39-pip=23.0.1-1 python39-virtualenv git add-to-path: false # No need to change $PATH outside the Cygwin environment. - name: Arrange for verbose output @@ -55,23 +55,18 @@ jobs: # and cause subsequent tests to fail cat test/fixtures/.gitconfig >> ~/.gitconfig - - name: Update PyPA packages - run: | - # Get the latest pip, setuptools, and wheel. - python3.8 -m pip install -U pip setuptools wheel - - name: Install project and test dependencies run: | - python3.8 -m pip install ".[test]" + python3.9 -m pip install ".[test]" - name: Show version and platform information run: | uname -a - command -v git python3.8 + command -v git python3.9 git version - python3.8 --version - python3.8 -c 'import os, sys; print(f"sys.platform={sys.platform!r}, os.name={os.name!r}")' + python3.9 --version + python3.9 -c 'import os, sys; print(f"sys.platform={sys.platform!r}, os.name={os.name!r}")' - name: Test with pytest run: | - python3.8 -m pytest --color=yes -p no:sugar --instafail -vv + python3.9 -m pytest --color=yes -p no:sugar --instafail -vv From a76812cde908132fa7c5a5b32ee6ab971490c96d Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Sat, 27 Jan 2024 13:32:08 -0500 Subject: [PATCH 04/12] Back to 3.8; try another GitHub Action Python 3.8 worked with cygwin-install-action, but I want to make the change to setup-cygwin by itself first before trying it with 3.9, in case I am using setup-cygwin incorrectly. --- .github/workflows/cygwin-test.yml | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/.github/workflows/cygwin-test.yml b/.github/workflows/cygwin-test.yml index b4692228b..42b07645e 100644 --- a/.github/workflows/cygwin-test.yml +++ b/.github/workflows/cygwin-test.yml @@ -15,7 +15,7 @@ jobs: defaults: run: - shell: C:\cygwin\bin\bash.exe --login --norc -eo pipefail -o igncr "{0}" + shell: C:\tools\cygwin\bin\bash.exe --login --norc -eo pipefail -o igncr "{0}" steps: - name: Force LF line endings @@ -27,11 +27,10 @@ jobs: with: fetch-depth: 0 - - name: Install Cygwin - uses: cygwin/cygwin-install-action@v4 + - name: Set up Cygwin + uses: egor-tensin/setup-cygwin@v4 with: - packages: python39=3.9.16-1 python39-pip=23.0.1-1 python39-virtualenv git - add-to-path: false # No need to change $PATH outside the Cygwin environment. + packages: python38 python38-pip python38-virtualenv git - name: Arrange for verbose output run: | @@ -55,18 +54,23 @@ jobs: # and cause subsequent tests to fail cat test/fixtures/.gitconfig >> ~/.gitconfig + - name: Update PyPA packages + run: | + # Get the latest pip, setuptools, and wheel. + python3.8 -m pip install -U pip setuptools wheel + - name: Install project and test dependencies run: | - python3.9 -m pip install ".[test]" + python3.8 -m pip install ".[test]" - name: Show version and platform information run: | uname -a - command -v git python3.9 + command -v git python3.8 git version - python3.9 --version - python3.9 -c 'import os, sys; print(f"sys.platform={sys.platform!r}, os.name={os.name!r}")' + python3.8 --version + python3.8 -c 'import os, sys; print(f"sys.platform={sys.platform!r}, os.name={os.name!r}")' - name: Test with pytest run: | - python3.9 -m pytest --color=yes -p no:sugar --instafail -vv + python3.8 -m pytest --color=yes -p no:sugar --instafail -vv From aef56a306493483bed1f9c52d57abe2ff7228eb5 Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Sat, 27 Jan 2024 13:41:10 -0500 Subject: [PATCH 05/12] Try 3.9 with this setup-cygwin action --- .github/workflows/cygwin-test.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/cygwin-test.yml b/.github/workflows/cygwin-test.yml index 42b07645e..1ee103497 100644 --- a/.github/workflows/cygwin-test.yml +++ b/.github/workflows/cygwin-test.yml @@ -30,7 +30,7 @@ jobs: - name: Set up Cygwin uses: egor-tensin/setup-cygwin@v4 with: - packages: python38 python38-pip python38-virtualenv git + packages: python39 python39-pip python39-virtualenv git - name: Arrange for verbose output run: | @@ -57,20 +57,20 @@ jobs: - name: Update PyPA packages run: | # Get the latest pip, setuptools, and wheel. - python3.8 -m pip install -U pip setuptools wheel + python3.9 -m pip install -U pip setuptools wheel - name: Install project and test dependencies run: | - python3.8 -m pip install ".[test]" + python3.9 -m pip install ".[test]" - name: Show version and platform information run: | uname -a - command -v git python3.8 + command -v git python3.9 git version - python3.8 --version - python3.8 -c 'import os, sys; print(f"sys.platform={sys.platform!r}, os.name={os.name!r}")' + python3.9 --version + python3.9 -c 'import os, sys; print(f"sys.platform={sys.platform!r}, os.name={os.name!r}")' - name: Test with pytest run: | - python3.8 -m pytest --color=yes -p no:sugar --instafail -vv + python3.9 -m pytest --color=yes -p no:sugar --instafail -vv From aaa0d2c65eab40d1bfbf6146fbe6c0483e21a4ca Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Sat, 27 Jan 2024 13:48:39 -0500 Subject: [PATCH 06/12] Try pinning with setup-cygwin --- .github/workflows/cygwin-test.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/cygwin-test.yml b/.github/workflows/cygwin-test.yml index 1ee103497..c7c64f20f 100644 --- a/.github/workflows/cygwin-test.yml +++ b/.github/workflows/cygwin-test.yml @@ -30,7 +30,7 @@ jobs: - name: Set up Cygwin uses: egor-tensin/setup-cygwin@v4 with: - packages: python39 python39-pip python39-virtualenv git + packages: python39=3.9.16-1 python39-pip=23.0.1-1 python39-virtualenv git - name: Arrange for verbose output run: | @@ -54,11 +54,6 @@ jobs: # and cause subsequent tests to fail cat test/fixtures/.gitconfig >> ~/.gitconfig - - name: Update PyPA packages - run: | - # Get the latest pip, setuptools, and wheel. - python3.9 -m pip install -U pip setuptools wheel - - name: Install project and test dependencies run: | python3.9 -m pip install ".[test]" From 54b1c036d960c5dbcfc6e5a39e7f5ec2b3974f7c Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Sat, 27 Jan 2024 14:54:13 -0500 Subject: [PATCH 07/12] Try not pinning, but no -U for PyPA, with setup-cygwin Pinning and skipping -U for PyPA packages worked. Let's see if it was really pinning that made the difference. --- .github/workflows/cygwin-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cygwin-test.yml b/.github/workflows/cygwin-test.yml index c7c64f20f..fe8c1e8ed 100644 --- a/.github/workflows/cygwin-test.yml +++ b/.github/workflows/cygwin-test.yml @@ -30,7 +30,7 @@ jobs: - name: Set up Cygwin uses: egor-tensin/setup-cygwin@v4 with: - packages: python39=3.9.16-1 python39-pip=23.0.1-1 python39-virtualenv git + packages: python39 python39-pip python39-virtualenv git - name: Arrange for verbose output run: | From f9c829dfdf3790e2fd3036704ef818e4dc5bdec7 Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Sat, 27 Jan 2024 15:18:08 -0500 Subject: [PATCH 08/12] Try pinning just python39-pip Pinning works, and merely omitting the -U for PyPA package doesn't. Examining the output of runs that used install-cygwin-action and attemped pinning Cygwin package versions shows newer versions were installed, whereas pinning is really happening with setup-cygwin. This tries pinning just the Cygwin package for pip, rather than for Python 3.9. I don't expect this to work. --- .github/workflows/cygwin-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cygwin-test.yml b/.github/workflows/cygwin-test.yml index fe8c1e8ed..7cd426c1e 100644 --- a/.github/workflows/cygwin-test.yml +++ b/.github/workflows/cygwin-test.yml @@ -30,7 +30,7 @@ jobs: - name: Set up Cygwin uses: egor-tensin/setup-cygwin@v4 with: - packages: python39 python39-pip python39-virtualenv git + packages: python39 python39-pip=23.0.1-1 python39-virtualenv git - name: Arrange for verbose output run: | From 9219d1e63f0b5296716bc9ee9791f2eb042b787e Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Sat, 27 Jan 2024 15:43:27 -0500 Subject: [PATCH 09/12] Try pinning just python39=3.9.16-1 And not pip, but this does not add back the -U for PyPA yet. --- .github/workflows/cygwin-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cygwin-test.yml b/.github/workflows/cygwin-test.yml index 7cd426c1e..a52b45b3f 100644 --- a/.github/workflows/cygwin-test.yml +++ b/.github/workflows/cygwin-test.yml @@ -30,7 +30,7 @@ jobs: - name: Set up Cygwin uses: egor-tensin/setup-cygwin@v4 with: - packages: python39 python39-pip=23.0.1-1 python39-virtualenv git + packages: python39=3.9.16-1 python39-pip python39-virtualenv git - name: Arrange for verbose output run: | From b543980141015d7593461bf372d3998c74f9ee62 Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Sat, 27 Jan 2024 15:57:02 -0500 Subject: [PATCH 10/12] Add back -U for PyPA packages --- .github/workflows/cygwin-test.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/cygwin-test.yml b/.github/workflows/cygwin-test.yml index a52b45b3f..093ed66a2 100644 --- a/.github/workflows/cygwin-test.yml +++ b/.github/workflows/cygwin-test.yml @@ -54,6 +54,11 @@ jobs: # and cause subsequent tests to fail cat test/fixtures/.gitconfig >> ~/.gitconfig + - name: Update PyPA packages + run: | + # Get the latest pip, setuptools, and wheel. + python3.9 -m pip install -U pip setuptools wheel + - name: Install project and test dependencies run: | python3.9 -m pip install ".[test]" From 1195373ead2fd9a3f8d3b6316a95d8e9db6acc8d Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Sat, 27 Jan 2024 15:58:40 -0500 Subject: [PATCH 11/12] Try pinning python39=3.9.16-1 with old action/everything This is extremely unlikely to work, I just want to check. --- .github/workflows/cygwin-test.yml | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/.github/workflows/cygwin-test.yml b/.github/workflows/cygwin-test.yml index 093ed66a2..b36e04587 100644 --- a/.github/workflows/cygwin-test.yml +++ b/.github/workflows/cygwin-test.yml @@ -15,7 +15,7 @@ jobs: defaults: run: - shell: C:\tools\cygwin\bin\bash.exe --login --norc -eo pipefail -o igncr "{0}" + shell: C:\cygwin\bin\bash.exe --login --norc -eo pipefail -o igncr "{0}" steps: - name: Force LF line endings @@ -27,10 +27,11 @@ jobs: with: fetch-depth: 0 - - name: Set up Cygwin - uses: egor-tensin/setup-cygwin@v4 + - name: Install Cygwin + uses: cygwin/cygwin-install-action@v4 with: packages: python39=3.9.16-1 python39-pip python39-virtualenv git + add-to-path: false # No need to change $PATH outside the Cygwin environment. - name: Arrange for verbose output run: | @@ -54,23 +55,28 @@ jobs: # and cause subsequent tests to fail cat test/fixtures/.gitconfig >> ~/.gitconfig + - name: Ensure the "pip" command is available + run: | + # This is used unless, and before, an updated pip is installed. + ln -s pip3 /usr/bin/pip + - name: Update PyPA packages run: | - # Get the latest pip, setuptools, and wheel. - python3.9 -m pip install -U pip setuptools wheel + # Get the latest pip, wheel, and prior to Python 3.12, setuptools. + python -m pip install -U pip $(pip freeze --all | grep -ow ^setuptools) wheel - name: Install project and test dependencies run: | - python3.9 -m pip install ".[test]" + pip install ".[test]" - name: Show version and platform information run: | uname -a - command -v git python3.9 + command -v git python git version - python3.9 --version - python3.9 -c 'import os, sys; print(f"sys.platform={sys.platform!r}, os.name={os.name!r}")' + python --version + python -c 'import os, sys; print(f"sys.platform={sys.platform!r}, os.name={os.name!r}")' - name: Test with pytest run: | - python3.9 -m pytest --color=yes -p no:sugar --instafail -vv + pytest --color=yes -p no:sugar --instafail -vv From 81a20fd252f15eda1e2c049ce2273ff17a70207e Mon Sep 17 00:00:00 2001 From: Eliah Kagan Date: Sat, 27 Jan 2024 16:04:27 -0500 Subject: [PATCH 12/12] Try just setup-cygwin and pinning python39=3.9.16-1 That is, this puts back all the other stuff the way it was on the main branch when the breakage occurred, besides changing from cygwin-install-action to setup-cygwin to make pinning work and using it to get version 3.9.16-1 of the Cygwin python39 package. --- .github/workflows/cygwin-test.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cygwin-test.yml b/.github/workflows/cygwin-test.yml index b36e04587..61e6a3089 100644 --- a/.github/workflows/cygwin-test.yml +++ b/.github/workflows/cygwin-test.yml @@ -15,7 +15,7 @@ jobs: defaults: run: - shell: C:\cygwin\bin\bash.exe --login --norc -eo pipefail -o igncr "{0}" + shell: C:\tools\cygwin\bin\bash.exe --login --norc -eo pipefail -o igncr "{0}" steps: - name: Force LF line endings @@ -27,11 +27,10 @@ jobs: with: fetch-depth: 0 - - name: Install Cygwin - uses: cygwin/cygwin-install-action@v4 + - name: Set up Cygwin + uses: egor-tensin/setup-cygwin@v4 with: packages: python39=3.9.16-1 python39-pip python39-virtualenv git - add-to-path: false # No need to change $PATH outside the Cygwin environment. - name: Arrange for verbose output run: |