Skip to content
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

Support the latest Pip releases: 22.3.1 & 23.0 #2056

Merged
merged 3 commits into from
Feb 12, 2023
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
20 changes: 10 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,10 @@ jobs:
pip-version: 20
- os: ubuntu-20.04
python-version: [ 3, 11 ]
pip-version: 22_2
pip-version: 22_3_1
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just rolled off 22.2 and 22.3 here; so they are no longer covered. I figure, to be sustainable, I have to do something like this. The rolled-off Pips will have had a good long hammering during their time in CI; and assuming these 2 slots span just 1 ~major version bump (Pip actually uses the last 2 digits of the year for major; so it's not semver major - god love Pip), It seems incredibly unlikely this will lead to issues. If the runtime patches have to change in a way that does not support older versions of Pip, I'll revisit of course, but right now the patches work across all supported Pip versions.

- os: ubuntu-20.04
python-version: [ 3, 11 ]
pip-version: 22_3
pip-version: 23_0
steps:
- name: Calculate Pythons to Expose
id: calculate-pythons-to-expose
Expand Down Expand Up @@ -109,9 +109,9 @@ jobs:
- pypy-version: [ 3, 9 ]
pip-version: 20
- pypy-version: [ 3, 9 ]
pip-version: 22_2
pip-version: 22_3_1
- pypy-version: [ 3, 9 ]
pip-version: 22_3
pip-version: 23_0
steps:
- name: Calculate Pythons to Expose
id: calculate-pythons-to-expose
Expand Down Expand Up @@ -155,10 +155,10 @@ jobs:
pip-version: 20
- os: ubuntu-20.04
python-version: [ 3, 7 ]
pip-version: 22_2
pip-version: 22_3_1
- os: ubuntu-20.04
python-version: [ 3, 7 ]
pip-version: 22_3
pip-version: 23_0
- os: macos-11
python-version: [ 3, 11 ]
pip-version: 20
Expand All @@ -167,10 +167,10 @@ jobs:
pip-version: 20
- os: ubuntu-20.04
python-version: [ 3, 11 ]
pip-version: 22_2
pip-version: 22_3_1
- os: ubuntu-20.04
python-version: [ 3, 11 ]
pip-version: 22_3
pip-version: 23_0
steps:
- name: Calculate Pythons to Expose
id: calculate-pythons-to-expose
Expand Down Expand Up @@ -221,9 +221,9 @@ jobs:
- pypy-version: [ 3, 9 ]
pip-version: 20
- pypy-version: [ 3, 9 ]
pip-version: 22_2
pip-version: 22_3_1
- pypy-version: [ 3, 9 ]
pip-version: 22_3
pip-version: 23_0
steps:
- name: Calculate Pythons to Expose
id: calculate-pythons-to-expose
Expand Down
24 changes: 18 additions & 6 deletions pex/pip/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,24 +74,36 @@ def values(cls):
),
)

# TODO(John Sirois): Expose setuptools and wheel version flags - these don't affect
# Pex; so we should allow folks to experiment with upgrade easily:
# https://github.com/pantsbuild/pex/issues/1895

v22_2_2 = PipVersionValue(
version="22.2.2",
# TODO(John Sirois): Expose setuptools and wheel version flags - these don't affect
# Pex; so we should allow folks to experiment with upgrade easily:
# https://github.com/pantsbuild/pex/issues/1895
setuptools_version="65.3.0",
wheel_version="0.37.1",
requires_python=">=3.7",
)

v22_3 = PipVersionValue(
version="22.3",
# TODO(John Sirois): Expose setuptools and wheel version flags - these don't affect
# Pex; so we should allow folks to experiment with upgrade easily:
# https://github.com/pantsbuild/pex/issues/1895
setuptools_version="65.5.0",
wheel_version="0.37.1",
requires_python=">=3.7",
)

v22_3_1 = PipVersionValue(
version="22.3.1",
setuptools_version="65.5.1",
wheel_version="0.37.1",
requires_python=">=3.7",
)

v23_0 = PipVersionValue(
version="23.0",
setuptools_version="67.2.0",
wheel_version="0.38.4",
requires_python=">=3.7",
)

VENDORED = v20_3_4_patched
4 changes: 3 additions & 1 deletion tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ setenv =
pip20: _PEX_PIP_VERSION=20.3.4-patched
pip22_2: _PEX_PIP_VERSION=22.2.2
pip22_3: _PEX_PIP_VERSION=22.3
pip22_3_1: _PEX_PIP_VERSION=22.3.1
pip23_0: _PEX_PIP_VERSION=23.0
# Python 3 (until a fix here in 3.9: https://bugs.python.org/issue13601) switched from stderr
# being unbuffered to stderr being buffered by default. This can lead to tests checking stderr
# failing to see what they expect if the stderr buffer block has not been flushed. Force stderr
Expand All @@ -62,7 +64,7 @@ whitelist_externals =
bash
git

[testenv:py{py27-subprocess,py27,py35,py36,py37,py38,py39,27,35,36,37,38,39,310,311}-{,pip20-,pip22_2-,pip22_3-}integration]
[testenv:py{py27-subprocess,py27,py35,py36,py37,py38,py39,27,35,36,37,38,39,310,311}-{,pip20-,pip22_2-,pip22_3-,pip22_3_1-,pip23_0-}integration]
deps =
pytest-xdist==1.34.0
{[testenv]deps}
Expand Down