Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: pypa/pip
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 22.1.2
Choose a base ref
...
head repository: pypa/pip
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 23.0.1
Choose a head ref
Loading
Showing 507 changed files with 22,185 additions and 29,859 deletions.
4 changes: 1 addition & 3 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
@@ -60,14 +60,12 @@ body:
label: Output
description: >-
Provide the output of the steps above, including the commands
themselves and pip's output/traceback etc. If you're familiar with
Markdown, DO NOT add backticks. They're added automatically.
themselves and pip's output/traceback etc.
If you want to present output from multiple commands, please prefix
the line containing the command with `$ `. Please also ensure that
the "How to reproduce" section contains matching instructions for
reproducing this.
render: sh-session
- type: checkboxes
attributes:
38 changes: 0 additions & 38 deletions .github/ISSUE_TEMPLATE/~good-first-issue.yml

This file was deleted.

11 changes: 0 additions & 11 deletions .github/no-response.yml

This file was deleted.

138 changes: 85 additions & 53 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -11,11 +11,6 @@ on:
schedule:
- cron: 0 0 * * MON # Run every Monday at 00:00 UTC

env:
# The "FORCE_COLOR" variable, when set to 1,
# tells Nox to colorize itself.
FORCE_COLOR: "1"

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
@@ -26,8 +21,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

@@ -46,31 +43,24 @@ jobs:
# Anything that's touching "vendored code"
- "src/pip/_vendor/**"
- "pyproject.toml"
- "noxfile.py"
tests:
# Anything that's touching code-related stuff
- ".github/workflows/ci.yml"
- "src/**"
- "tests/**"
- "noxfile.py"
if: github.event_name == 'pull_request'

pre-commit:
name: pre-commit
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- uses: pre-commit/action@v2.0.0
with:
extra_args: --all-files --hook-stage=manual

packaging:
name: packaging
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"
@@ -79,6 +69,7 @@ jobs:
- run: pip install nox
- run: nox -s prepare-release -- 99.9
- run: nox -s build-release -- 99.9
- run: pipx run check-manifest

vendoring:
name: vendoring
@@ -90,8 +81,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
@@ -101,7 +94,7 @@ jobs:
name: tests / ${{ matrix.python }} / ${{ matrix.os }}
runs-on: ${{ matrix.os }}-latest

needs: [pre-commit, packaging, determine-changes]
needs: [packaging, determine-changes]
if: >-
needs.determine-changes.outputs.tests == 'true' ||
github.event_name != 'pull_request'
@@ -111,14 +104,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 }}

@@ -128,9 +122,9 @@ jobs:

- name: Install MacOS dependencies
if: matrix.os == 'MacOS'
run: brew install bzr
run: brew install breezy

- run: pip install nox 'virtualenv<20' 'setuptools != 60.6.0'
- run: pip install nox

# Main check
- name: Run unit tests
@@ -149,7 +143,7 @@ jobs:
name: tests / ${{ matrix.python }} / ${{ matrix.os }} / ${{ matrix.group }}
runs-on: ${{ matrix.os }}-latest

needs: [pre-commit, packaging, determine-changes]
needs: [packaging, determine-changes]
if: >-
needs.determine-changes.outputs.tests == 'true' ||
github.event_name != 'pull_request'
@@ -159,16 +153,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 }}

@@ -187,7 +182,7 @@ jobs:
$acl.AddAccessRule($rule)
Set-Acl "R:\Temp" $acl
- run: pip install nox 'virtualenv<20'
- run: pip install nox
env:
TEMP: "R:\\Temp"

@@ -219,37 +214,74 @@ jobs:
env:
TEMP: "R:\\Temp"

# TODO: Remove this when we add Python 3.11 to CI.
tests-importlib-metadata:
name: tests for importlib.metadata backend
tests-zipapp:
name: tests / zipapp
runs-on: ubuntu-latest
env:
_PIP_USE_IMPORTLIB_METADATA: 'true'

needs: [pre-commit, packaging, determine-changes]
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
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.10'
python-version: "3.10"

- name: Install Ubuntu dependencies
run: sudo apt-get install bzr

- run: pip install nox 'virtualenv<20'
- run: pip install nox 'virtualenv<20' 'setuptools != 60.6.0'

- name: Run unit tests
run: >-
nox -s test-3.10 --
-m unit
--verbose --numprocesses auto --showlocals
# Main check
- name: Run integration tests
run: >-
nox -s test-3.10 --
-m integration
--verbose --numprocesses auto --showlocals
--durations=5
--use-zipapp
check: # This job does nothing and is only used for the branch protection
if: always()

needs:
- determine-changes
- docs
- packaging
- tests-unix
- tests-windows
- tests-zipapp
- vendoring

runs-on: ubuntu-latest

steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
allowed-skips: >-
${{
(
needs.determine-changes.outputs.vendoring != 'true'
&& github.event_name == 'pull_request'
)
&& 'vendoring'
|| ''
}}
,
${{
(
needs.determine-changes.outputs.tests != 'true'
&& github.event_name == 'pull_request'
)
&& '
tests-unix,
tests-windows,
tests-zipapp,
tests-importlib-metadata,
'
|| ''
}}
jobs: ${{ toJSON(needs) }}
4 changes: 2 additions & 2 deletions .github/workflows/news-file.yml
Original file line number Diff line number Diff line change
@@ -10,14 +10,14 @@ 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.
fetch-depth: 0

- name: Check news entry
if: "!contains(github.event.pull_request.labels.*.name, 'trivial')"
if: "!contains(github.event.pull_request.labels.*.name, 'skip news')"
run: |
if ! pipx run towncrier check --compare-with origin/${{ github.base_ref }}; then
echo "Please see https://pip.pypa.io/dev/news-entry-failure for guidance."
19 changes: 19 additions & 0 deletions .github/workflows/no-response.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: No Response

# Both `issue_comment` and `scheduled` event types are required for this Action
# to work properly.
on:
issue_comment:
types: [created]
schedule:
# Schedule for five minutes after the hour, every hour
- cron: '5 * * * *'

jobs:
noResponse:
runs-on: ubuntu-latest
steps:
- uses: lee-dohm/no-response@v0.5.0
with:
token: ${{ github.token }}
responseRequiredLabel: "S: awaiting response"
28 changes: 28 additions & 0 deletions .github/workflows/update-rtd-redirects.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Update documentation redirects

on:
push:
branches: [main]
schedule:
- cron: 0 0 * * MON # Run every Monday at 00:00 UTC

env:
FORCE_COLOR: "1"

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true

jobs:
update-rtd-redirects:
runs-on: ubuntu-latest
environment: RTD Deploys
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.11"
- run: pip install httpx pyyaml rich
- run: python tools/update-rtd-redirects.py
env:
RTD_API_TOKEN: ${{ secrets.RTD_API_TOKEN }}
Loading