summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTzu-ping Chung <uranusjr@gmail.com>2022-10-29 00:37:04 +0800
committerGitHub <noreply@github.com>2022-10-28 11:37:04 -0500
commitd6e333fb636424d7dca15f4e8aa61cdaab9cdd31 (patch)
treedfa9df6e1432b1f09187b1060f65832d5f33ac0c
parent8f34d86a1e787caeba0805669a73810cd6d8b448 (diff)
downloadpip-d6e333fb636424d7dca15f4e8aa61cdaab9cdd31.tar.gz
Add 3.11 to CI (#11550)
-rw-r--r--.github/workflows/ci.yml82
-rw-r--r--.github/workflows/news-file.yml2
-rw-r--r--noxfile.py2
-rw-r--r--tests/functional/test_install_user.py33
-rw-r--r--tests/functional/test_new_resolver_user.py33
5 files changed, 50 insertions, 102 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index c9cfb7b8e..7b48d9443 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -26,8 +26,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-python@v2
+ - uses: actions/checkout@v3
+ - uses: actions/setup-python@v4
+ with:
+ python-version: "3.x"
- run: pip install nox
- run: nox -s docs
@@ -60,8 +62,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-python@v2
+ - uses: actions/checkout@v3
+ - uses: actions/setup-python@v4
+ with:
+ python-version: "3.x"
- name: Set up git credentials
run: |
git config --global user.email "pypa-dev@googlegroups.com"
@@ -82,8 +86,10 @@ jobs:
github.event_name != 'pull_request'
steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-python@v2
+ - uses: actions/checkout@v3
+ - uses: actions/setup-python@v4
+ with:
+ python-version: "3.x"
- run: pip install nox
- run: nox -s vendoring
@@ -103,14 +109,15 @@ jobs:
matrix:
os: [Ubuntu, MacOS]
python:
- - 3.7
- - 3.8
- - 3.9
+ - "3.7"
+ - "3.8"
+ - "3.9"
- "3.10"
+ - "3.11"
steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-python@v2
+ - uses: actions/checkout@v3
+ - uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python }}
@@ -151,16 +158,17 @@ jobs:
matrix:
os: [Windows]
python:
- - 3.7
+ - "3.7"
# Commented out, since Windows tests are expensively slow.
- # - 3.8
- # - 3.9
- - "3.10"
+ # - "3.8"
+ # - "3.9"
+ # - "3.10"
+ - "3.11"
group: [1, 2]
steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-python@v2
+ - uses: actions/checkout@v3
+ - uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python }}
@@ -221,8 +229,8 @@ jobs:
github.event_name != 'pull_request'
steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-python@v2
+ - uses: actions/checkout@v3
+ - uses: actions/setup-python@v4
with:
python-version: "3.10"
@@ -240,41 +248,6 @@ jobs:
--durations=5
--use-zipapp
- # TODO: Remove this when we add Python 3.11 to CI.
- tests-importlib-metadata:
- name: tests for importlib.metadata backend
- runs-on: ubuntu-latest
- env:
- _PIP_USE_IMPORTLIB_METADATA: 'true'
-
- needs: [packaging, determine-changes]
- if: >-
- needs.determine-changes.outputs.tests == 'true' ||
- github.event_name != 'pull_request'
-
- steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-python@v2
- with:
- python-version: '3.10'
-
- - name: Install Ubuntu dependencies
- run: sudo apt-get install bzr
-
- - run: pip install nox
-
- - name: Run unit tests
- run: >-
- nox -s test-3.10 --
- -m unit
- --verbose --numprocesses auto --showlocals
- - name: Run integration tests
- run: >-
- nox -s test-3.10 --
- -m integration
- --verbose --numprocesses auto --showlocals
- --durations=5
-
check: # This job does nothing and is only used for the branch protection
if: always()
@@ -285,7 +258,6 @@ jobs:
- tests-unix
- tests-windows
- tests-zipapp
- - tests-importlib-metadata
- vendoring
runs-on: ubuntu-latest
diff --git a/.github/workflows/news-file.yml b/.github/workflows/news-file.yml
index da7119a55..371e12fd7 100644
--- a/.github/workflows/news-file.yml
+++ b/.github/workflows/news-file.yml
@@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-20.04
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
with:
# `towncrier check` runs `git diff --name-only origin/main...`, which
# needs a non-shallow clone.
diff --git a/noxfile.py b/noxfile.py
index 7692bf4b5..1345c417d 100644
--- a/noxfile.py
+++ b/noxfile.py
@@ -66,7 +66,7 @@ def should_update_common_wheels() -> bool:
# -----------------------------------------------------------------------------
# Development Commands
# -----------------------------------------------------------------------------
-@nox.session(python=["3.7", "3.8", "3.9", "3.10", "pypy3"])
+@nox.session(python=["3.7", "3.8", "3.9", "3.10", "3.11", "pypy3"])
def test(session: nox.Session) -> None:
# Get the common wheels.
if should_update_common_wheels():
diff --git a/tests/functional/test_install_user.py b/tests/functional/test_install_user.py
index c960d0de4..3207f0a45 100644
--- a/tests/functional/test_install_user.py
+++ b/tests/functional/test_install_user.py
@@ -287,7 +287,6 @@ class Tests_UserSite:
assert isdir(dist_info_folder)
assert isdir(initools_folder)
- @pytest.mark.network
def test_install_user_in_global_virtualenv_with_conflict_fails(
self, script: PipTestEnvironment
) -> None:
@@ -295,27 +294,37 @@ class Tests_UserSite:
Test user install in --system-site-packages virtualenv with conflict in
site fails.
"""
+ create_basic_wheel_for_package(script, "pkg", "0.1")
+ create_basic_wheel_for_package(script, "pkg", "0.2")
- script.pip("install", "INITools==0.2")
+ script.pip(
+ "install",
+ "--no-cache-dir",
+ "--no-index",
+ "--find-links",
+ script.scratch_path,
+ "pkg==0.2",
+ )
result2 = script.pip(
"install",
+ "--no-cache-dir",
+ "--no-index",
+ "--find-links",
+ script.scratch_path,
"--user",
- "INITools==0.1",
+ "pkg==0.1",
expect_error=True,
)
resultp = script.run(
"python",
"-c",
- "import pkg_resources; print(pkg_resources.get_distribution"
- "('initools').location)",
+ "from pip._internal.metadata import get_default_environment; "
+ "print(get_default_environment().get_distribution('pkg').location)",
)
dist_location = resultp.stdout.strip()
+
assert (
- "Will not install to the user site because it will lack sys.path "
- "precedence to {name} in {location}".format(
- name="INITools",
- location=dist_location,
- )
- in result2.stderr
- )
+ f"Will not install to the user site because it will lack sys.path "
+ f"precedence to pkg in {dist_location}"
+ ) in result2.stderr
diff --git a/tests/functional/test_new_resolver_user.py b/tests/functional/test_new_resolver_user.py
index 4578c3114..4cd063113 100644
--- a/tests/functional/test_new_resolver_user.py
+++ b/tests/functional/test_new_resolver_user.py
@@ -91,39 +91,6 @@ def test_new_resolver_install_user_conflict_in_user_site(
result.did_not_create(base_2_dist_info)
-@pytest.mark.usefixtures("enable_user_site")
-def test_new_resolver_install_user_in_virtualenv_with_conflict_fails(
- script: PipTestEnvironment,
-) -> None:
- create_basic_wheel_for_package(script, "base", "1.0.0")
- create_basic_wheel_for_package(script, "base", "2.0.0")
-
- script.pip(
- "install",
- "--no-cache-dir",
- "--no-index",
- "--find-links",
- script.scratch_path,
- "base==2.0.0",
- )
- result = script.pip(
- "install",
- "--no-cache-dir",
- "--no-index",
- "--find-links",
- script.scratch_path,
- "--user",
- "base==1.0.0",
- expect_error=True,
- )
-
- error_message = (
- "Will not install to the user site because it will lack sys.path "
- "precedence to base in {}"
- ).format(os.path.normcase(script.site_packages_path))
- assert error_message in result.stderr
-
-
@pytest.fixture()
def patch_dist_in_site_packages(virtualenv: VirtualEnvironment) -> None:
# Since the tests are run from a virtualenv, and to avoid the "Will not