Skip to content
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
9 changes: 1 addition & 8 deletions .claude/skills/backport-failed/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,6 @@
---
name: backport-failed
description: Recover from a patchback auto-backport failure. Given a merged PR number, parse the patchback comments to find which target branches failed, cherry-pick the merge commit onto each failed branch, resolve conflicts, push to the user's fork, and open backport PRs that exactly match patchback's title and body shape so they look indistinguishable from successful auto-backports.
user-invocable: true
allowed-tools:
- Bash
- Read
- Edit
- Write
- AskUserQuestion
description: Create a manual backport to recover from a Patchback auto-backport failure.
---

# /backport-failed — Manual recovery for failed patchback backports
Expand Down
39 changes: 9 additions & 30 deletions .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,12 +80,9 @@ jobs:
path: ~/.cache/pip
restore-keys: |
pip-lint-
- name: Update pip, wheel, setuptools, build, twine
run: |
python -m pip install -U pip wheel setuptools build twine
- name: Install dependencies
run: |
python -m pip install -r requirements/lint.in -c requirements/lint.txt
python -m pip install -U pip wheel setuptools build twine -r requirements/lint.in -c requirements/lint.txt
- name: Install self
run: |
python -m pip install . -c requirements/runtime-deps.txt
Expand Down Expand Up @@ -198,14 +195,11 @@ jobs:
python-version: ${{ matrix.pyver }}
activate-environment: true
enable-cache: true
- name: Update pip, wheel, setuptools, build, twine
run: |
uv pip install -U pip wheel setuptools build twine
- name: Install dependencies
env:
DEPENDENCY_GROUP: test${{ endsWith(matrix.pyver, 't') && '-ft' || '' }}
run: |
uv pip install -r requirements/${{ env.DEPENDENCY_GROUP }}.in -c requirements/${{ env.DEPENDENCY_GROUP }}.txt
uv pip install -U pip wheel setuptools build twine -r requirements/${{ env.DEPENDENCY_GROUP }}.in -c requirements/${{ env.DEPENDENCY_GROUP }}.txt
- name: Set PYTHON_GIL=0 for free-threading builds
if: ${{ endsWith(matrix.pyver, 't') }}
run: echo "PYTHON_GIL=0" >> $GITHUB_ENV
Expand Down Expand Up @@ -303,14 +297,11 @@ jobs:
python-version: ${{ matrix.pyver }}
activate-environment: true
enable-cache: true
- name: Update pip, wheel, setuptools, build, twine
run: |
uv pip install -U pip wheel setuptools build twine
- name: Install dependencies
env:
DEPENDENCY_GROUP: test${{ endsWith(matrix.pyver, 't') && '-ft' || '' }}
run: |
uv pip install -r requirements/${{ env.DEPENDENCY_GROUP }}.in -c requirements/${{ env.DEPENDENCY_GROUP }}.txt
uv pip install -U pip wheel setuptools build twine -r requirements/${{ env.DEPENDENCY_GROUP }}.in -c requirements/${{ env.DEPENDENCY_GROUP }}.txt
- name: Restore llhttp generated files
if: ${{ matrix.no-extensions == '' }}
uses: actions/download-artifact@v8
Expand Down Expand Up @@ -375,12 +366,9 @@ jobs:
python-version: 3.13.2
cache: pip
cache-dependency-path: requirements/*.txt
- name: Update pip, wheel, setuptools, build, twine
run: |
python -m pip install -U pip wheel setuptools build twine
- name: Install dependencies
run: |
python -m pip install -r requirements/test.in -c requirements/test.txt
python -m pip install -U pip wheel setuptools build twine -r requirements/test.in -c requirements/test.txt
- name: Restore llhttp generated files
uses: actions/download-artifact@v8
with:
Expand Down Expand Up @@ -419,12 +407,9 @@ jobs:
uses: actions/setup-python@v6
with:
python-version: '3.12'
- name: Update pip, wheel, setuptools, build, twine
run: |
python -m pip install -U pip wheel setuptools build twine
- name: Install dependencies
run: |
python -Im pip install -r requirements/test.in -c requirements/test.txt
python -Im pip install -U pip wheel setuptools build twine -r requirements/test.in -c requirements/test.txt
- name: Uninstall blocbuster
run: python -m pip uninstall blockbuster -y
- name: Restore llhttp generated files
Expand Down Expand Up @@ -508,13 +493,10 @@ jobs:
submodules: true
- name: Setup Python
uses: actions/setup-python@v6
- name: Update pip, wheel, setuptools, build, twine
run: |
python -m pip install -U pip wheel setuptools build twine
- name: Install cython
- name: Install build tooling and cython
run: >-
python -m
pip install -r requirements/cython.in -c requirements/cython.txt
pip install -U pip wheel setuptools build twine -r requirements/cython.in -c requirements/cython.txt
- name: Restore llhttp generated files
uses: actions/download-artifact@v8
with:
Expand Down Expand Up @@ -601,13 +583,10 @@ jobs:
uses: actions/setup-python@v6
with:
python-version: 3.x
- name: Update pip, wheel, setuptools, build, twine
run: |
python -m pip install -U pip wheel setuptools build twine
- name: Install cython
- name: Install build tooling and cython
run: >-
python -m
pip install -r requirements/cython.in -c requirements/cython.txt
pip install -U pip wheel setuptools build twine -r requirements/cython.in -c requirements/cython.txt
- name: Restore llhttp generated files
uses: actions/download-artifact@v8
with:
Expand Down
1 change: 1 addition & 0 deletions CHANGES/12540.bugfix.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fixed per-request ``cookies`` not being dropped on cross-origin redirects -- by :user:`Dreamsorcerer`.
5 changes: 5 additions & 0 deletions CHANGES/12641.contrib.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Made the ``pip`` command used by the ``Makefile`` configurable via a
``PIP`` variable; downstream consumers can now run, for example,
``make .develop PIP="uv pip"`` to install via ``uv`` without us
maintaining a parallel target
-- by :user:`bdraco`.
5 changes: 5 additions & 0 deletions CHANGES/12643.contrib.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Merged the "Update pip, wheel, setuptools, build, twine" step into
the following ``Install dependencies`` (or ``Install cython``) step
in every job in :file:`.github/workflows/ci-cd.yml`, so each job now
runs a single ``pip``/``uv pip install`` invocation instead of two
-- by :user:`bdraco`.
11 changes: 6 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ to-hash-one = $(dir $1).hash/$(addsuffix .hash,$(notdir $1))
to-hash = $(foreach fname,$1,$(call to-hash-one,$(fname)))

CYTHON_EXTRA ?=
PIP ?= python -m pip
CYS := $(wildcard aiohttp/*.pyx) $(wildcard aiohttp/*.pyi) $(wildcard aiohttp/*.pxd) $(wildcard aiohttp/_websocket/*.pyx) $(wildcard aiohttp/_websocket/*.pyi) $(wildcard aiohttp/_websocket/*.pxd)
PYXS := $(wildcard aiohttp/*.pyx) $(wildcard aiohttp/_websocket/*.pyx)
CS := $(wildcard aiohttp/*.c) $(wildcard aiohttp/_websocket/*.c)
Expand Down Expand Up @@ -48,10 +49,10 @@ endif
.SECONDARY: $(call to-hash,$(ALLS))

.update-pip:
@python -m pip install --upgrade pip
@$(PIP) install --upgrade pip

.install-cython: .update-pip $(call to-hash,requirements/cython.txt)
@python -m pip install -r requirements/cython.in -c requirements/cython.txt
@$(PIP) install -r requirements/cython.in -c requirements/cython.txt
@touch .install-cython

aiohttp/_find_header.c: $(call to-hash,aiohttp/hdrs.py ./tools/gen.py)
Expand Down Expand Up @@ -86,7 +87,7 @@ cythonize: .install-cython $(PYXS:.pyx=.c) aiohttp/_websocket/reader_c.c
cythonize-nodeps: $(PYXS:.pyx=.c) aiohttp/_websocket/reader_c.c

.install-deps: .install-cython $(PYXS:.pyx=.c) aiohttp/_websocket/reader_c.c $(call to-hash,$(CYS) $(REQS))
@python -m pip install -r requirements/dev.in -c requirements/dev.txt
@$(PIP) install -r requirements/dev.in -c requirements/dev.txt
@touch .install-deps

.PHONY: lint
Expand All @@ -101,7 +102,7 @@ mypy:
mypy

.develop: .install-deps generate-llhttp $(call to-hash,$(PYS) $(CYS) $(CS))
python -m pip install -e . -c requirements/runtime-deps.txt
$(PIP) install -e . -c requirements/runtime-deps.txt
@touch .develop

.PHONY: test
Expand Down Expand Up @@ -178,7 +179,7 @@ doc-spelling:

.PHONY: install
install: .update-pip
@python -m pip install -r requirements/dev.in -c requirements/dev.txt
@$(PIP) install -r requirements/dev.in -c requirements/dev.txt

.PHONY: install-dev
install-dev: .develop
Expand Down
1 change: 1 addition & 0 deletions aiohttp/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -857,6 +857,7 @@ async def _connect_and_send_request(
) from origin_val_err

if url.origin() != redirect_origin:
cookies = None
headers.pop(hdrs.AUTHORIZATION, None)
headers.pop(hdrs.COOKIE, None)
headers.pop(hdrs.PROXY_AUTHORIZATION, None)
Expand Down
2 changes: 1 addition & 1 deletion tests/test_client_functional.py
Original file line number Diff line number Diff line change
Expand Up @@ -3481,8 +3481,8 @@ async def close(self) -> None:
headers={
"Authorization": "Basic dXNlcjpwYXNz",
"Proxy-Authorization": "Basic dXNlcjpwYXNz",
"Cookie": "a=b",
},
cookies={"a": "b"},
) as resp:
assert resp.status == 200

Expand Down
Loading