Skip to content

Fix Cygwin installation on CI for pip #2053

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .github/workflows/alpine-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,12 @@ jobs:
# and cause subsequent tests to fail
cat test/fixtures/.gitconfig >> ~/.gitconfig

- name: Set up virtualenv
- name: Set up virtual environment
run: |
python -m venv .venv

- name: Update PyPA packages
run: |
# Get the latest pip, wheel, and prior to Python 3.12, setuptools.
. .venv/bin/activate
python -m pip install -U pip 'setuptools; python_version<"3.12"' wheel

Expand Down
17 changes: 6 additions & 11 deletions .github/workflows/cygwin-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ permissions:

jobs:
test:
runs-on: windows-latest

strategy:
matrix:
selection: [fast, perf]
Expand All @@ -20,6 +18,8 @@ jobs:

fail-fast: false

runs-on: windows-latest

env:
CHERE_INVOKING: "1"
CYGWIN_NOWINPATH: "1"
Expand All @@ -32,7 +32,7 @@ jobs:
- name: Force LF line endings
run: |
git config --global core.autocrlf false # Affects the non-Cygwin git.
shell: bash # Use Git Bash instead of Cygwin Bash for this step.
shell: pwsh # Do this outside Cygwin, to affect actions/checkout.

- uses: actions/checkout@v4
with:
Expand All @@ -41,7 +41,7 @@ jobs:
- name: Install Cygwin
uses: cygwin/cygwin-install-action@v5
with:
packages: python39 python39-pip python39-virtualenv git wget
packages: git python39 python-pip-wheel python-setuptools-wheel python-wheel-wheel
add-to-path: false # No need to change $PATH outside the Cygwin environment.

- name: Arrange for verbose output
Expand All @@ -67,18 +67,13 @@ jobs:
# and cause subsequent tests to fail
cat test/fixtures/.gitconfig >> ~/.gitconfig

- name: Set up virtualenv
- name: Set up virtual environment
run: |
python3.9 -m venv --without-pip .venv
python3.9 -m venv .venv
echo 'BASH_ENV=.venv/bin/activate' >>"$GITHUB_ENV"

- name: Bootstrap pip in virtualenv
run: |
wget -qO- https://bootstrap.pypa.io/get-pip.py | python

- name: Update PyPA packages
run: |
# Get the latest pip, wheel, and prior to Python 3.12, setuptools.
python -m pip install -U pip 'setuptools; python_version<"3.12"' wheel

- name: Install project and test dependencies
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/pythonpackage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,6 @@ jobs:

- name: Update PyPA packages
run: |
# Get the latest pip, wheel, and prior to Python 3.12, setuptools.
python -m pip install -U pip 'setuptools; python_version<"3.12"' wheel

- name: Install project and test dependencies
Expand Down
8 changes: 0 additions & 8 deletions test/test_installation.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,11 @@
import ast
import os
import subprocess
import sys

import pytest

from test.lib import TestBase, VirtualEnvironment, with_rw_directory


class TestInstallation(TestBase):
@pytest.mark.xfail(
sys.platform == "cygwin" and "CI" in os.environ,
reason="Trouble with pip on Cygwin CI, see issue #2004",
raises=subprocess.CalledProcessError,
)
@with_rw_directory
def test_installation(self, rw_dir):
venv = self._set_up_venv(rw_dir)
Expand Down
Loading