Skip to content

[pull] master from aio-libs:master - #763

Merged
pull[bot] merged 5 commits into
tj-python:masterfrom
aio-libs:master
Sep 15, 2026
Merged

pull[bot] merged 5 commits into
tj-python:masterfrom
aio-libs:master

Conversation

@pull

@pull pull Bot commented Sep 15, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

aiolibsbot and others added 5 commits September 15, 2026 11:55
<!-- Thank you for your contribution! -->

## What do these changes do?

Removes `PIP_USER: 1` (4×) and the
`PATH="${HOME}/Library/Python/3.11/bin:${HOME}/.local/bin:${PATH}"`
prefix left in the `autobahn` job. Both come from the time CI installed
deps with `pip install --user`. Since #12629 the `test` and `autobahn`
jobs use `astral-sh/setup-uv` with `activate-environment: true`, so
`.venv/bin` is already on `PATH` and uv ignores `PIP_USER`. The prefix
also put `~/.local/bin` in front of the venv. #10762 already removed the
same prefix from the `test` job.

Checked that nothing still depends on them. `PIP_USER` appears only in
`ci-cd.yml`. Nothing in `tests/`, `tools/` or the `Makefile` test
targets calls pip. The autobahn subprocesses run `sys.executable`. The
only `pip install` (`tests/autobahn/Dockerfile.aiohttp`) runs inside a
Docker build, which doesn't inherit the step env. In `cython-coverage`,
`PIP_USER` was only set on the pytest step, never on the install steps.

This is step 1 of #13718. The commit cherry-picks cleanly onto `3.15`
and `3.14` (checked locally), so please add `backport-3.14` +
`backport-3.15`. #13722 and #13723 bring the remaining master-only
workflow bits to those branches.

## Are there changes in behavior for the user?

No, CI-only.

## Is it a substantial burden for the maintainers to support this?

No. It removes 5 dead lines and makes the stable branches' workflows
easier to keep in sync.

## Related issue number

Part of #13718

## Checklist

- [x] I think the code is well written
- [ ] Unit tests for the changes exist — N/A, CI config; this PR's own
CI run exercises the edited jobs
- [ ] Documentation reflects the changes — N/A
- [ ] If you provide code modification, please add yourself to
`CONTRIBUTORS.txt` — N/A
- [x] Add a new news fragment into the `CHANGES/` folder

<details><summary>Local verification</summary>

```
$ git diff --shortstat upstream/master -- .github/workflows/ci-cd.yml
 1 file changed, 5 deletions(-)
$ git grep -n -E 'PIP_USER|Library/Python' -- .github/workflows/
(no output)
$ python -c 'import yaml; d = yaml.safe_load(open(".github/workflows/ci-cd.yml")); print(len(d["jobs"]), "jobs")'
14 jobs
$ yamllint -f parsable -d '{extends: relaxed, rules: {line-length: disable}}' .github/workflows/ci-cd.yml | wc -l
29   # same as upstream/master
$ # trial cherry-pick in scratch worktrees
3.15: clean
3.14: clean
```
</details>

Drafted with Claude Opus 5 (Kōan); reviewed by: pending operator review.

---
### Quality Report

**Changes**: 3 files changed, 5 insertions(+), 5 deletions(-)

**Code scan**: clean

**Tests**: failed (FAILED)

**Branch hygiene**: clean

_Generated by [Kōan](https://koan.anantys.com)_
Bumps [platformdirs](https://github.com/tox-dev/platformdirs) from
4.11.7 to 4.11.8.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tox-dev/platformdirs/releases">platformdirs's
releases</a>.</em></p>
<blockquote>
<h2>4.11.8</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<ul>
<li>fix: ignore relative XDG base directory paths by <a
href="https://github.com/lakshayxi"><code>@​lakshayxi</code></a> in <a
href="https://redirect.github.com/tox-dev/platformdirs/pull/540">tox-dev/platformdirs#540</a></li>
<li>fix: return one user path for root under multipath by <a
href="https://github.com/darrenhuai"><code>@​darrenhuai</code></a> in <a
href="https://redirect.github.com/tox-dev/platformdirs/pull/538">tox-dev/platformdirs#538</a></li>
<li>fix: preserve literal percent signs in user-dirs paths by <a
href="https://github.com/jackwalkerlabs"><code>@​jackwalkerlabs</code></a>
in <a
href="https://redirect.github.com/tox-dev/platformdirs/pull/542">tox-dev/platformdirs#542</a></li>
<li>fix: retain Homebrew site directories inside virtual environments by
<a
href="https://github.com/jackwalkerlabs"><code>@​jackwalkerlabs</code></a>
in <a
href="https://redirect.github.com/tox-dev/platformdirs/pull/543">tox-dev/platformdirs#543</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/lakshayxi"><code>@​lakshayxi</code></a>
made their first contribution in <a
href="https://redirect.github.com/tox-dev/platformdirs/pull/540">tox-dev/platformdirs#540</a></li>
<li><a
href="https://github.com/jackwalkerlabs"><code>@​jackwalkerlabs</code></a>
made their first contribution in <a
href="https://redirect.github.com/tox-dev/platformdirs/pull/542">tox-dev/platformdirs#542</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/tox-dev/platformdirs/compare/4.11.7...4.11.8">https://github.com/tox-dev/platformdirs/compare/4.11.7...4.11.8</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tox-dev/platformdirs/blob/main/docs/changelog.rst">platformdirs's
changelog</a>.</em></p>
<blockquote>
<p>###########
Changelog
###########</p>
<p>.. towncrier-draft-entries:: Unreleased</p>
<p>.. towncrier release notes start</p>
<hr />
<p>4.11.8 (2026-09-08)</p>
<hr />
<ul>
<li>Make :func:<code>~platformdirs.user_data_path</code>,
:func:<code>~platformdirs.user_config_path</code>,
:func:<code>~platformdirs.user_preference_path</code> and
:func:<code>~platformdirs.user_applications_path</code> return the first
site entry
when root is redirected by <code>use_site_for_root</code> under
<code>multipath</code>, matching their <code>site_*_path</code> twins.
They passed
the whole joined list to :class:<code>~pathlib.Path</code>, giving one
unusable path such as <code>/xdg/a/foo:/xdg/b/foo</code> - by
:user:<code>darrenhuai</code>. :pr:<code>538</code></li>
<li>Ignore relative paths in XDG Base Directory environment variables
and use the existing platform fallback. Relative
entries in <code>$XDG_DATA_DIRS</code> and <code>$XDG_CONFIG_DIRS</code>
are skipped. :pr:<code>540</code></li>
<li>Preserve literal percent signs in Unix <code>user-dirs.dirs</code>
paths, including <code>100% complete</code>, <code>100%%</code> and
<code>%(XDG_DESKTOP_DIR)s</code>. Continue to expand <code>$HOME</code>.
:pr:<code>542</code></li>
<li>Use the base Python installation to locate Homebrew site directories
on macOS, preserving shared data, config, cache and
state paths inside virtual environments. :pr:<code>543</code></li>
</ul>
<hr />
<p>4.11.7 (2026-09-01)</p>
<hr />
<hr />
<p>4.11.6 (2026-09-01)</p>
<hr />
<ul>
<li>Give :func:<code>~platformdirs.user_bin_dir</code> and
:func:<code>~platformdirs.user_bin_path</code> the
<code>use_site_for_root</code> argument.
They took none, so neither could reach the Unix redirect of root to
:func:<code>~platformdirs.site_bin_dir</code>. :pr:<code>537</code></li>
</ul>
<hr />
<p>4.11.5 (2026-08-27)</p>
<hr />
<ul>
<li>Give :func:<code>~platformdirs.user_preference_dir</code> and
:func:<code>~platformdirs.user_preference_path</code> the same arguments
as
:func:<code>~platformdirs.user_config_dir</code>. Added without
arguments in :pr:<code>491</code>, they could only return the unscoped
base
directory even though the property they wrap appends the app name and
version. :pr:<code>531</code></li>
<li>Make :func:<code>~platformdirs.site_applications_path</code> return
the first entry when <code>multipath=True</code>, matching
:func:<code>~platformdirs.site_data_path</code>. On Unix and macOS it
passed the whole <code>$XDG_DATA_DIRS</code> list to
:class:<code>~pathlib.Path</code>, giving one unusable path such as
<code>/first/applications:/second/applications</code>.
:pr:<code>532</code></li>
<li>Give :func:<code>~platformdirs.user_applications_dir</code>,
:func:<code>~platformdirs.user_applications_path</code>,
:func:<code>~platformdirs.site_applications_dir</code> and
:func:<code>~platformdirs.site_applications_path</code> the app
arguments.
Android scopes both applications directories to the app, so without them
the functions could only return the unscoped
base directory there. On the two site functions they are keyword-only,
keeping <code>multipath</code> first positional as it
has been since 4.9.0; the two user functions take their boolean options
keyword-only. :pr:<code>534</code></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/tox-dev/platformdirs/commit/c5ef1edbb41eb7ad8aea2e75627ae474e796484c"><code>c5ef1ed</code></a>
Release 4.11.8</li>
<li><a
href="https://github.com/tox-dev/platformdirs/commit/0e85d6f7eaae89b4e6cb6956bfdd26916bb4d0b7"><code>0e85d6f</code></a>
fix: retain Homebrew site directories inside virtual environments (<a
href="https://redirect.github.com/tox-dev/platformdirs/issues/543">#543</a>)</li>
<li><a
href="https://github.com/tox-dev/platformdirs/commit/b86a670e111fdab666331cc89045d4ab61fec5b1"><code>b86a670</code></a>
fix: preserve literal percent signs in user-dirs paths (<a
href="https://redirect.github.com/tox-dev/platformdirs/issues/542">#542</a>)</li>
<li><a
href="https://github.com/tox-dev/platformdirs/commit/a6791c81336294dc25b7d5140db0f0d335870693"><code>a6791c8</code></a>
fix: return one user path for root under multipath (<a
href="https://redirect.github.com/tox-dev/platformdirs/issues/538">#538</a>)</li>
<li><a
href="https://github.com/tox-dev/platformdirs/commit/555038573a2d3d6acdc7440a8eeaab33cb15acd8"><code>5550385</code></a>
fix: ignore relative XDG base directory paths (<a
href="https://redirect.github.com/tox-dev/platformdirs/issues/540">#540</a>)</li>
<li><a
href="https://github.com/tox-dev/platformdirs/commit/a209bf88a0c5937d784baa1cddd67f69f4b411d2"><code>a209bf8</code></a>
[pre-commit.ci] pre-commit autoupdate (<a
href="https://redirect.github.com/tox-dev/platformdirs/issues/541">#541</a>)</li>
<li>See full diff in <a
href="https://github.com/tox-dev/platformdirs/compare/4.11.7...4.11.8">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=platformdirs&package-manager=pip&previous-version=4.11.7&new-version=4.11.8)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ast-serialize](https://github.com/mypyc/ast_serialize) from
0.10.0 to 0.11.1.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/mypyc/ast_serialize/commit/e667a2b7b4a1d2ab98af4d28100cdff5b53fbf20"><code>e667a2b</code></a>
Bump version to 0.11.1</li>
<li><a
href="https://github.com/mypyc/ast_serialize/commit/30e8c5f7c663e9c4000d05379cd30575109eaf55"><code>30e8c5f</code></a>
Simple-minded universal newline normalization (<a
href="https://redirect.github.com/mypyc/ast_serialize/issues/90">#90</a>)</li>
<li><a
href="https://github.com/mypyc/ast_serialize/commit/98d1303ef8515dfcf3cdbe90d25acf4cfd139765"><code>98d1303</code></a>
Fix syntax error in try/except (<a
href="https://redirect.github.com/mypyc/ast_serialize/issues/89">#89</a>)</li>
<li><a
href="https://github.com/mypyc/ast_serialize/commit/1dac8dea21d3d8c9c40885288c55ef70c266fc3d"><code>1dac8de</code></a>
Bump version to 0.11.0</li>
<li><a
href="https://github.com/mypyc/ast_serialize/commit/fdc40ec3b24d43545fcbe9c8bcd5e3e1ce3b3510"><code>fdc40ec</code></a>
Fix false negative in Ruff parser in try/except (<a
href="https://redirect.github.com/mypyc/ast_serialize/issues/88">#88</a>)</li>
<li><a
href="https://github.com/mypyc/ast_serialize/commit/0ece21caaf859ef37b1836af5626c7bdc3c6fde0"><code>0ece21c</code></a>
Special-case empty type comment (<a
href="https://redirect.github.com/mypyc/ast_serialize/issues/87">#87</a>)</li>
<li><a
href="https://github.com/mypyc/ast_serialize/commit/a19a7a557170c5b04ca00675df6fdc7732088fe9"><code>a19a7a5</code></a>
Expose serialize_string_type() in public API (<a
href="https://redirect.github.com/mypyc/ast_serialize/issues/86">#86</a>)</li>
<li>See full diff in <a
href="https://github.com/mypyc/ast_serialize/compare/v0.10.0...v0.11.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ast-serialize&package-manager=pip&previous-version=0.10.0&new-version=0.11.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@pull pull Bot locked and limited conversation to collaborators Sep 15, 2026
@pull pull Bot added the ⤵️ pull label Sep 15, 2026
@pull
pull Bot merged commit a9a4317 into tj-python:master Sep 15, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant