From 9e22a4a5811157e59a61778285d79b686bbec9ad Mon Sep 17 00:00:00 2001 From: Eliah Kagan 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 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 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 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 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 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