Skip to content

Commit e478793

Browse files
Merge branch 'main' into asyncio-flowcontrol-exception-test
2 parents 0e55a4e + a096314 commit e478793

1,808 files changed

Lines changed: 83106 additions & 42866 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.azure-pipelines/windows-layout-steps.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ steps:
1212
displayName: Show layout info (${{ parameters.kind }})
1313

1414
- ${{ if eq(parameters.fulltest, 'true') }}:
15-
- script: .\python.exe -m test -q -uall -u-cpu -rwW --slowest --timeout=1200 -j0 --junit-xml="$(Build.BinariesDirectory)\test-results-${{ parameters.kind }}.xml" --tempdir "$(Build.BinariesDirectory)\tmp-${{ parameters.kind }}-$(arch)" -i test_launcher
15+
- script: .\python.exe -m test -q -uall -u-cpu -rwW --slowest --timeout=1200 -j0 --junit-xml="$(Build.BinariesDirectory)\test-results-${{ parameters.kind }}.xml" --tempdir "$(Build.BinariesDirectory)\tmp-${{ parameters.kind }}-$(arch)"
1616
workingDirectory: $(Build.BinariesDirectory)\layout-${{ parameters.kind }}-$(arch)
1717
displayName: ${{ parameters.kind }} Tests
1818
env:

.editorconfig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
root = true
22

3-
[*.{py,c,cpp,h,js,rst,md,yml,yaml,gram}]
3+
[*.{py,c,cpp,h,js,rst,md,yml,yaml,toml,gram}]
44
trim_trailing_whitespace = true
55
insert_final_newline = true
66
indent_style = space
77

8-
[*.{py,c,cpp,h,gram}]
8+
[*.{py,c,cpp,h,toml,gram}]
99
indent_size = 4
1010

1111
[*.rst]

.gitattributes

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
*.zip binary
2020

2121
# Specific binary files
22-
PC/classicAppCompat.* binary
22+
# -- None right now --
2323

2424
# Text files that should not be subject to eol conversion
2525
[attr]noeol -text

.github/CODEOWNERS

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -63,29 +63,29 @@
6363
.azure-pipelines/ @AA-Turner
6464

6565
# GitHub & related scripts
66-
.github/ @ezio-melotti @hugovk @AA-Turner @webknjaz
66+
.github/ @ezio-melotti @hugovk @AA-Turner @webknjaz @itamaro @JacobCoffee
6767
Tools/build/compute-changes.py @AA-Turner @hugovk @webknjaz
6868
Lib/test/test_tools/test_compute_changes.py @AA-Turner @hugovk @webknjaz
6969
Tools/build/verify_ensurepip_wheels.py @AA-Turner @pfmoore @pradyunsg
7070

7171
# Pre-commit
72-
.pre-commit-config.yaml @hugovk
73-
.ruff.toml @hugovk @AlexWaygood @AA-Turner
72+
.pre-commit-config.yaml @hugovk @JacobCoffee
73+
.ruff.toml @hugovk @AlexWaygood @AA-Turner @JacobCoffee
7474

7575
# Patchcheck
76-
Tools/patchcheck/ @AA-Turner
76+
Tools/patchcheck/ @AA-Turner @itamaro
7777

7878

7979
# ----------------------------------------------------------------------------
8080
# Build System
8181
# ----------------------------------------------------------------------------
8282

8383
# Autotools
84-
configure* @erlend-aasland @corona10 @AA-Turner @emmatyping
85-
Makefile.pre.in @erlend-aasland @AA-Turner @emmatyping
86-
Modules/makesetup @erlend-aasland @AA-Turner @emmatyping
87-
Modules/Setup* @erlend-aasland @AA-Turner @emmatyping
88-
Tools/build/regen-configure.sh @AA-Turner
84+
configure* @erlend-aasland @corona10 @AA-Turner @emmatyping @itamaro
85+
Makefile.pre.in @erlend-aasland @AA-Turner @emmatyping @itamaro
86+
Modules/makesetup @erlend-aasland @AA-Turner @emmatyping @itamaro
87+
Modules/Setup* @erlend-aasland @AA-Turner @emmatyping @itamaro
88+
Tools/build/regen-configure.sh @AA-Turner @itamaro
8989

9090
# generate-build-details
9191
Tools/build/generate-build-details.py @FFY00
@@ -188,12 +188,8 @@ Tools/wasm/wasi @brettcannon @emmatyping @savannahostrowski
188188
PC/ @python/windows-team
189189
PCbuild/ @python/windows-team
190190

191-
# Windows installer packages
192-
Tools/msi/ @python/windows-team
193-
Tools/nuget/ @python/windows-team
194-
195-
# Windows Launcher
196-
PC/launcher.c @python/windows-team @vsajip
191+
# Windows Venv launcher/redirector
192+
PC/venvlauncher.c @python/windows-team @vsajip
197193

198194

199195
# ----------------------------------------------------------------------------

.github/SECURITY.md

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,24 @@
11
# Security Policy
22

3-
## Supported Versions
3+
Python [provides a security policy and threat model](https://devguide.python.org/security/policy/)
4+
in the Python Developer's Guide documenting what bugs are vulnerabilities,
5+
how to structure reports, and what versions of Python accept reports.
46

5-
The Python team applies security fixes according to the table
6-
in [the devguide](
7-
https://devguide.python.org/versions/#supported-versions
8-
).
7+
Python Security Response Team (PSRT) members
8+
balance security work against many other responsibilities. Please be thoughtful
9+
about the time and attention your report requires. Repeated failure to respect
10+
the security policy will result in future reports being rejected, or the
11+
reporter being banned from the ``python`` GitHub organization, regardless of
12+
technical merit.
913

1014
## Reporting a Vulnerability
1115

12-
Please read the guidelines on reporting security issues [on the
13-
official website](https://www.python.org/dev/security/) for
14-
instructions on how to report a security-related problem to
15-
the Python team responsibly.
16+
The [Python security policy](https://devguide.python.org/security/policy/)
17+
documents [how to submit a vulnerability report](https://devguide.python.org/security/policy/#how-to-submit-a-vulnerability-report)
18+
using GitHub Security Advisories. Please read the security policy
19+
prior to filing a vulnerability report, especially the section on [what information to
20+
include and exclude](https://devguide.python.org/security/policy/#what-to-include-and-how-to-structure-a-vulnerability-report)
21+
in vulnerability reports. Following the security policy means the PSRT can
22+
quickly and efficiently triage your report, not following the security policy
23+
will only delay triaging your report.
1624

17-
To reach the response team, email `security at python dot org`.

.github/actionlint.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
config-variables: null
22

3+
# Pending release of actionlint > 1.7.12 for ubuntu-26.04* support:
4+
# https://github.com/rhysd/actionlint/pull/683
5+
self-hosted-runner:
6+
labels:
7+
- ubuntu-26.04
8+
- ubuntu-26.04-arm
9+
310
paths:
411
.github/workflows/**/*.yml:
512
ignore:

.github/workflows/add-issue-header.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ permissions:
1717

1818
jobs:
1919
add-header:
20-
runs-on: ubuntu-latest
20+
runs-on: ubuntu-slim
2121
permissions:
2222
issues: write
2323
timeout-minutes: 5
2424
steps:
25-
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
25+
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
2626
with:
2727
# language=JavaScript
2828
script: |

.github/workflows/build.yml

Lines changed: 33 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ jobs:
5353
name: 'Check if Autoconf files are up to date'
5454
# Don't use ubuntu-latest but a specific version to make the job
5555
# reproducible: to get the same tools versions (autoconf, aclocal, ...)
56-
runs-on: ubuntu-24.04
56+
runs-on: ubuntu-26.04
5757
container:
5858
image: ghcr.io/python/autoconf:2025.01.02.12581854023
5959
timeout-minutes: 60
@@ -64,7 +64,7 @@ jobs:
6464
run: |
6565
apt update && apt install git -yq
6666
git config --global --add safe.directory "$GITHUB_WORKSPACE"
67-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
67+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
6868
with:
6969
fetch-depth: 1
7070
persist-credentials: false
@@ -96,12 +96,12 @@ jobs:
9696
name: 'Check if generated files are up to date'
9797
# Don't use ubuntu-latest but a specific version to make the job
9898
# reproducible: to get the same tools versions (autoconf, aclocal, ...)
99-
runs-on: ubuntu-24.04
99+
runs-on: ubuntu-26.04
100100
timeout-minutes: 60
101101
needs: build-context
102102
if: needs.build-context.outputs.run-tests == 'true'
103103
steps:
104-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
104+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
105105
with:
106106
persist-credentials: false
107107
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
@@ -181,22 +181,6 @@ jobs:
181181
free-threading: ${{ matrix.free-threading }}
182182
interpreter: ${{ matrix.interpreter }}
183183

184-
build-windows-msi:
185-
# ${{ '' } is a hack to nest jobs under the same sidebar category.
186-
name: Windows MSI${{ '' }} # zizmor: ignore[obfuscation]
187-
needs: build-context
188-
if: fromJSON(needs.build-context.outputs.run-windows-msi)
189-
strategy:
190-
fail-fast: false
191-
matrix:
192-
arch:
193-
- x86
194-
- x64
195-
- arm64
196-
uses: ./.github/workflows/reusable-windows-msi.yml
197-
with:
198-
arch: ${{ matrix.arch }}
199-
200184
build-macos:
201185
name: >-
202186
macOS
@@ -239,18 +223,18 @@ jobs:
239223
- false
240224
- true
241225
os:
242-
- ubuntu-24.04
243-
- ubuntu-24.04-arm
226+
- ubuntu-26.04
227+
- ubuntu-26.04-arm
244228
exclude:
245229
# Do not test BOLT with free-threading, to conserve resources
246230
- bolt: true
247231
free-threading: true
248232
# BOLT currently crashes during instrumentation on aarch64
249-
- os: ubuntu-24.04-arm
233+
- os: ubuntu-26.04-arm
250234
bolt: true
251235
include:
252236
# Enable CPU-intensive tests on ARM (default build only)
253-
- os: ubuntu-24.04-arm
237+
- os: ubuntu-26.04-arm
254238
bolt: false
255239
free-threading: false
256240
test-opts: '-u cpu'
@@ -270,29 +254,28 @@ jobs:
270254
strategy:
271255
fail-fast: false
272256
matrix:
273-
os: [ubuntu-24.04]
257+
os: [ubuntu-26.04]
274258
ssllib:
275259
# See Tools/ssl/make_ssl_data.py for notes on adding a new version
276260
## OpenSSL
277261
# Keep 1.1.1w in our list despite it being upstream EOL and otherwise
278262
# unsupported as it most resembles other 1.1.1-work-a-like ssl APIs
279263
# supported by important vendors such as AWS-LC.
280264
- { name: openssl, version: 1.1.1w }
281-
- { name: openssl, version: 3.0.20 }
282-
- { name: openssl, version: 3.3.7 }
283-
- { name: openssl, version: 3.4.5 }
284-
- { name: openssl, version: 3.5.6 }
285-
- { name: openssl, version: 3.6.2 }
286-
- { name: openssl, version: 4.0.0 }
265+
- { name: openssl, version: 3.0.21 }
266+
- { name: openssl, version: 3.4.6 }
267+
- { name: openssl, version: 3.5.7 }
268+
- { name: openssl, version: 3.6.3 }
269+
- { name: openssl, version: 4.0.1 }
287270
## AWS-LC
288-
- { name: aws-lc, version: 1.72.1 }
271+
- { name: aws-lc, version: 5.0.0 }
289272
env:
290273
SSLLIB_VER: ${{ matrix.ssllib.version }}
291274
MULTISSL_DIR: ${{ github.workspace }}/multissl
292275
SSLLIB_DIR: ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}
293276
LD_LIBRARY_PATH: ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}/lib
294277
steps:
295-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
278+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
296279
with:
297280
persist-credentials: false
298281
- name: Runner image version
@@ -347,38 +330,29 @@ jobs:
347330
- arch: aarch64
348331
runs-on: macos-26
349332
- arch: x86_64
350-
runs-on: ubuntu-24.04
333+
runs-on: ubuntu-26.04
351334

352335
runs-on: ${{ matrix.runs-on }}
353336
steps:
354-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
337+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
355338
with:
356339
persist-credentials: false
357340
- name: Build and test
358-
run: python3 Platforms/Android ci --fast-ci ${{ matrix.arch }}-linux-android
341+
run: JAVA_HOME="${JAVA_HOME_21_X64:-$JAVA_HOME_21_arm64}" python3 Platforms/Android ci --fast-ci ${{ matrix.arch }}-linux-android
359342

360343
build-ios:
361344
name: iOS
362345
needs: build-context
363346
if: needs.build-context.outputs.run-ios == 'true'
364347
timeout-minutes: 60
365-
runs-on: macos-14
348+
runs-on: macos-26
366349
steps:
367-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
350+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
368351
with:
369352
persist-credentials: false
370353

371-
# GitHub recommends explicitly selecting the desired Xcode version:
372-
# https://github.com/actions/runner-images/issues/12541#issuecomment-3083850140
373-
# This became a necessity as a result of
374-
# https://github.com/actions/runner-images/issues/12541 and
375-
# https://github.com/actions/runner-images/issues/12751.
376-
- name: Select Xcode version
377-
run: |
378-
sudo xcode-select --switch /Applications/Xcode_15.4.app
379-
380354
- name: Build and test
381-
run: python3 Platforms/Apple ci iOS --fast-ci --simulator 'iPhone SE (3rd generation),OS=17.5'
355+
run: python3 Platforms/Apple ci iOS --fast-ci
382356

383357
build-emscripten:
384358
name: 'Emscripten'
@@ -394,15 +368,15 @@ jobs:
394368

395369
test-hypothesis:
396370
name: "Hypothesis tests on Ubuntu"
397-
runs-on: ubuntu-24.04
371+
runs-on: ubuntu-26.04
398372
timeout-minutes: 60
399373
needs: build-context
400374
if: needs.build-context.outputs.run-ubuntu == 'true'
401375
env:
402-
OPENSSL_VER: 3.5.6
376+
OPENSSL_VER: 3.5.7
403377
PYTHONSTRICTEXTENSIONBUILD: 1
404378
steps:
405-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
379+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
406380
with:
407381
persist-credentials: false
408382
- name: Register gcc problem matcher
@@ -505,13 +479,13 @@ jobs:
505479
strategy:
506480
fail-fast: false
507481
matrix:
508-
os: [ubuntu-24.04]
482+
os: [ubuntu-26.04]
509483
env:
510-
OPENSSL_VER: 3.5.6
484+
OPENSSL_VER: 3.5.7
511485
PYTHONSTRICTEXTENSIONBUILD: 1
512486
ASAN_OPTIONS: detect_leaks=0:allocator_may_return_null=1:handle_segv=0
513487
steps:
514-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
488+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
515489
with:
516490
persist-credentials: false
517491
- name: Runner image version
@@ -520,10 +494,6 @@ jobs:
520494
run: echo "::add-matcher::.github/problem-matchers/gcc.json"
521495
- name: Install dependencies
522496
run: sudo ./.github/workflows/posix-deps-apt.sh
523-
- name: Set up GCC-10 for ASAN
524-
uses: egor-tensin/setup-gcc@a2861a8b8538f49cf2850980acccf6b05a1b2ae4 # v2.0
525-
with:
526-
version: 10
527497
- name: Configure OpenSSL env vars
528498
run: |
529499
echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> "$GITHUB_ENV"
@@ -573,12 +543,12 @@ jobs:
573543

574544
cross-build-linux:
575545
name: Cross build Linux
576-
runs-on: ubuntu-latest
546+
runs-on: ubuntu-26.04
577547
timeout-minutes: 60
578548
needs: build-context
579549
if: needs.build-context.outputs.run-ubuntu == 'true'
580550
steps:
581-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
551+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
582552
with:
583553
persist-credentials: false
584554
- name: Runner image version
@@ -602,6 +572,9 @@ jobs:
602572
run: ./configure --prefix="$BUILD_DIR/cross-python" --with-build-python="$BUILD_DIR/host-python/bin/python3"
603573
- name: Install cross Python
604574
run: make -j8 install
575+
- name: Display build info
576+
run: |
577+
"$BUILD_DIR/cross-python/bin/python3" -m test.pythoninfo
605578
- name: Run test subset with host build
606579
run: |
607580
"$BUILD_DIR/cross-python/bin/python3" -m test test_sysconfig test_site test_embed
@@ -661,7 +634,6 @@ jobs:
661634
- check-generated-files
662635
- check-c-api-docs
663636
- build-windows
664-
- build-windows-msi
665637
- build-macos
666638
- build-ubuntu
667639
- build-ubuntu-ssltests
@@ -682,7 +654,6 @@ jobs:
682654
allowed-failures: >-
683655
build-android,
684656
build-emscripten,
685-
build-windows-msi,
686657
build-ubuntu-ssltests,
687658
test-hypothesis,
688659
cifuzz,

0 commit comments

Comments
 (0)