From 9e22a4a5811157e59a61778285d79b686bbec9ad Mon Sep 17 00:00:00 2001
From: Eliah Kagan <degeneracypressure@gmail.com>
Date: Fri, 21 Feb 2025 05:17:30 -0500
Subject: [PATCH 1/6] Run `python3.9` explicitly on Cygwin CI

In case somehow another one leaked in.
---
 .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 d42eb0587..0a66a9b46 100644
--- a/.github/workflows/cygwin-test.yml
+++ b/.github/workflows/cygwin-test.yml
@@ -57,7 +57,7 @@ jobs:
 
     - name: Set up virtualenv
       run: |
-        python -m venv .venv
+        python3.9 -m venv .venv
         echo 'BASH_ENV=.venv/bin/activate' >>"$GITHUB_ENV"
 
     - name: Update PyPA packages

From f401b1020f4177b217d679d71a41df28754bef6f Mon Sep 17 00:00:00 2001
From: Eliah Kagan <degeneracypressure@gmail.com>
Date: Fri, 21 Feb 2025 05:19:56 -0500
Subject: [PATCH 2/6] Switch back to cygwin/cygwin-install-action

Since we don't need pinning, and this avoids installing and using
the chocolatey package manager, which we're not using for anything
else.
---
 .github/workflows/cygwin-test.yml | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/cygwin-test.yml b/.github/workflows/cygwin-test.yml
index 0a66a9b46..fbf9b8307 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@v5
       with:
         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
       run: |

From 4605dd690b6ebe4c0c07f3910607aae407d6070e Mon Sep 17 00:00:00 2001
From: Eliah Kagan <degeneracypressure@gmail.com>
Date: Fri, 21 Feb 2025 05:30:50 -0500
Subject: [PATCH 3/6] Install pip in venv in separate step

---
 .github/workflows/cygwin-test.yml | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/cygwin-test.yml b/.github/workflows/cygwin-test.yml
index fbf9b8307..a2e7f6b2d 100644
--- a/.github/workflows/cygwin-test.yml
+++ b/.github/workflows/cygwin-test.yml
@@ -58,9 +58,13 @@ jobs:
 
     - name: Set up virtualenv
       run: |
-        python3.9 -m venv .venv
+        python3.9 -m venv --without-pip .venv
         echo 'BASH_ENV=.venv/bin/activate' >>"$GITHUB_ENV"
 
+    - name: Install pip in virtualenv
+      run: |
+        python -m ensurepip
+
     - name: Update PyPA packages
       run: |
         # Get the latest pip, wheel, and prior to Python 3.12, setuptools.

From a5fee410ec8d40264d7a53cc5c4fd9deb0c97dd5 Mon Sep 17 00:00:00 2001
From: Eliah Kagan <degeneracypressure@gmail.com>
Date: Fri, 21 Feb 2025 05:40:26 -0500
Subject: [PATCH 4/6] Install Cygwin package for wheel

---
 .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 a2e7f6b2d..d4aee4544 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@v5
       with:
-        packages: python39 python39-pip python39-virtualenv git
+        packages: python39 python39-pip python39-virtualenv python39-wheel git
         add-to-path: false  # No need to change $PATH outside the Cygwin environment.
 
     - name: Arrange for verbose output

From a2b73cac7c252f3c35169dd8a752614614571d10 Mon Sep 17 00:00:00 2001
From: Eliah Kagan <degeneracypressure@gmail.com>
Date: Fri, 21 Feb 2025 05:45:30 -0500
Subject: [PATCH 5/6] Use the pip bootstrap script instead

---
 .github/workflows/cygwin-test.yml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/cygwin-test.yml b/.github/workflows/cygwin-test.yml
index d4aee4544..585c419aa 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@v5
       with:
-        packages: python39 python39-pip python39-virtualenv python39-wheel 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
@@ -61,9 +61,9 @@ jobs:
         python3.9 -m venv --without-pip .venv
         echo 'BASH_ENV=.venv/bin/activate' >>"$GITHUB_ENV"
 
-    - name: Install pip in virtualenv
+    - name: Bootstrap pip in virtualenv
       run: |
-        python -m ensurepip
+        wget -qO- https://bootstrap.pypa.io/get-pip.py | python
 
     - name: Update PyPA packages
       run: |

From d597fc949c48726b34c2130424a044020960e5f2 Mon Sep 17 00:00:00 2001
From: Eliah Kagan <degeneracypressure@gmail.com>
Date: Fri, 21 Feb 2025 05:51:25 -0500
Subject: [PATCH 6/6] Install wget for Cygwin job to use to get pip bootstrap
 script

---
 .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 585c419aa..278777907 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@v5
       with:
-        packages: python39 python39-pip python39-virtualenv git
+        packages: python39 python39-pip python39-virtualenv git wget
         add-to-path: false  # No need to change $PATH outside the Cygwin environment.
 
     - name: Arrange for verbose output