diff --git a/.github/workflows/cygwin-test.yml b/.github/workflows/cygwin-test.yml index 84a7f6490..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: python38 python38-pip python38-virtualenv git - add-to-path: false # No need to change $PATH outside the Cygwin environment. + packages: python39=3.9.16-1 python39-pip python39-virtualenv git - name: Arrange for verbose output run: | @@ -55,23 +54,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.8 -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.8 -m pip install ".[test]" + pip install ".[test]" - name: Show version and platform information run: | uname -a - command -v git python3.8 + command -v git python git version - python3.8 --version - python3.8 -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.8 -m pytest --color=yes -p no:sugar --instafail -vv + pytest --color=yes -p no:sugar --instafail -vv