Skip to content

Commit ce31569

Browse files
authored
Merge branch 'main' into gh-151308-wave-readframes
2 parents 6b72dd4 + 61304a3 commit ce31569

1,632 files changed

Lines changed: 76958 additions & 38242 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: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,14 @@
6363
.azure-pipelines/ @AA-Turner
6464

6565
# GitHub & related scripts
66-
.github/ @ezio-melotti @hugovk @AA-Turner @webknjaz @itamaro
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
7676
Tools/patchcheck/ @AA-Turner @itamaro
@@ -171,9 +171,6 @@ Mac/ @python/macos-team
171171
Lib/_osx_support.py @python/macos-team
172172
Lib/test/test__osx_support.py @python/macos-team
173173

174-
# WebAssembly
175-
Tools/wasm/README.md @brettcannon @freakboy3742 @emmatyping
176-
177174
# WebAssembly (Emscripten)
178175
Platforms/emscripten @freakboy3742 @emmatyping
179176
Tools/wasm/emscripten @freakboy3742 @emmatyping
@@ -188,12 +185,8 @@ Tools/wasm/wasi @brettcannon @emmatyping @savannahostrowski
188185
PC/ @python/windows-team
189186
PCbuild/ @python/windows-team
190187

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
188+
# Windows Venv launcher/redirector
189+
PC/venvlauncher.c @python/windows-team @vsajip
197190

198191

199192
# ----------------------------------------------------------------------------
@@ -339,7 +332,6 @@ Modules/_remote_debugging/ @pablogsal
339332

340333
# Sub-Interpreters
341334
**/*crossinterp* @ericsnowcurrently
342-
**/*interpreteridobject.* @ericsnowcurrently
343335
Doc/library/concurrent.interpreters.rst @ericsnowcurrently
344336
Lib/concurrent/futures/interpreter.py @ericsnowcurrently
345337
Lib/concurrent/interpreters/ @ericsnowcurrently
@@ -650,3 +642,6 @@ Modules/**/clinic/
650642
Objects/**/clinic/
651643
PC/**/clinic/
652644
Python/**/clinic/
645+
646+
# Exclude HTML IDs list
647+
Doc/tools/removed-ids.txt

.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: 32 additions & 52 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'
@@ -261,6 +245,12 @@ jobs:
261245
os: ${{ matrix.os }}
262246
test-opts: ${{ matrix.test-opts || '' }}
263247

248+
build-ubuntu-installed:
249+
name: 'Ubuntu (installed)'
250+
needs: build-context
251+
if: needs.build-context.outputs.run-ubuntu == 'true'
252+
uses: ./.github/workflows/reusable-install.yml
253+
264254
build-ubuntu-ssltests:
265255
name: 'Ubuntu SSL tests'
266256
runs-on: ${{ matrix.os }}
@@ -270,7 +260,7 @@ jobs:
270260
strategy:
271261
fail-fast: false
272262
matrix:
273-
os: [ubuntu-24.04]
263+
os: [ubuntu-26.04]
274264
ssllib:
275265
# See Tools/ssl/make_ssl_data.py for notes on adding a new version
276266
## OpenSSL
@@ -291,7 +281,7 @@ jobs:
291281
SSLLIB_DIR: ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}
292282
LD_LIBRARY_PATH: ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}/lib
293283
steps:
294-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
284+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
295285
with:
296286
persist-credentials: false
297287
- name: Runner image version
@@ -346,11 +336,11 @@ jobs:
346336
- arch: aarch64
347337
runs-on: macos-26
348338
- arch: x86_64
349-
runs-on: ubuntu-24.04
339+
runs-on: ubuntu-26.04
350340

351341
runs-on: ${{ matrix.runs-on }}
352342
steps:
353-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
343+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
354344
with:
355345
persist-credentials: false
356346
- name: Build and test
@@ -361,23 +351,14 @@ jobs:
361351
needs: build-context
362352
if: needs.build-context.outputs.run-ios == 'true'
363353
timeout-minutes: 60
364-
runs-on: macos-14
354+
runs-on: macos-26
365355
steps:
366-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
356+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
367357
with:
368358
persist-credentials: false
369359

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

382363
build-emscripten:
383364
name: 'Emscripten'
@@ -393,15 +374,15 @@ jobs:
393374

394375
test-hypothesis:
395376
name: "Hypothesis tests on Ubuntu"
396-
runs-on: ubuntu-24.04
377+
runs-on: ubuntu-26.04
397378
timeout-minutes: 60
398379
needs: build-context
399380
if: needs.build-context.outputs.run-ubuntu == 'true'
400381
env:
401382
OPENSSL_VER: 3.5.7
402383
PYTHONSTRICTEXTENSIONBUILD: 1
403384
steps:
404-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
385+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
405386
with:
406387
persist-credentials: false
407388
- name: Register gcc problem matcher
@@ -504,13 +485,13 @@ jobs:
504485
strategy:
505486
fail-fast: false
506487
matrix:
507-
os: [ubuntu-24.04]
488+
os: [ubuntu-26.04]
508489
env:
509490
OPENSSL_VER: 3.5.7
510491
PYTHONSTRICTEXTENSIONBUILD: 1
511492
ASAN_OPTIONS: detect_leaks=0:allocator_may_return_null=1:handle_segv=0
512493
steps:
513-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
494+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
514495
with:
515496
persist-credentials: false
516497
- name: Runner image version
@@ -519,10 +500,6 @@ jobs:
519500
run: echo "::add-matcher::.github/problem-matchers/gcc.json"
520501
- name: Install dependencies
521502
run: sudo ./.github/workflows/posix-deps-apt.sh
522-
- name: Set up GCC-10 for ASAN
523-
uses: egor-tensin/setup-gcc@a2861a8b8538f49cf2850980acccf6b05a1b2ae4 # v2.0
524-
with:
525-
version: 10
526503
- name: Configure OpenSSL env vars
527504
run: |
528505
echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> "$GITHUB_ENV"
@@ -572,12 +549,12 @@ jobs:
572549

573550
cross-build-linux:
574551
name: Cross build Linux
575-
runs-on: ubuntu-latest
552+
runs-on: ubuntu-26.04
576553
timeout-minutes: 60
577554
needs: build-context
578555
if: needs.build-context.outputs.run-ubuntu == 'true'
579556
steps:
580-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
557+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
581558
with:
582559
persist-credentials: false
583560
- name: Runner image version
@@ -601,6 +578,9 @@ jobs:
601578
run: ./configure --prefix="$BUILD_DIR/cross-python" --with-build-python="$BUILD_DIR/host-python/bin/python3"
602579
- name: Install cross Python
603580
run: make -j8 install
581+
- name: Display build info
582+
run: |
583+
"$BUILD_DIR/cross-python/bin/python3" -m test.pythoninfo
604584
- name: Run test subset with host build
605585
run: |
606586
"$BUILD_DIR/cross-python/bin/python3" -m test test_sysconfig test_site test_embed
@@ -660,9 +640,9 @@ jobs:
660640
- check-generated-files
661641
- check-c-api-docs
662642
- build-windows
663-
- build-windows-msi
664643
- build-macos
665644
- build-ubuntu
645+
- build-ubuntu-installed
666646
- build-ubuntu-ssltests
667647
- build-ios
668648
- build-emscripten
@@ -681,7 +661,6 @@ jobs:
681661
allowed-failures: >-
682662
build-android,
683663
build-emscripten,
684-
build-windows-msi,
685664
build-ubuntu-ssltests,
686665
test-hypothesis,
687666
cifuzz,
@@ -713,6 +692,7 @@ jobs:
713692
!fromJSON(needs.build-context.outputs.run-ubuntu)
714693
&& '
715694
build-ubuntu,
695+
build-ubuntu-installed,
716696
build-ubuntu-ssltests,
717697
test-hypothesis,
718698
build-asan,

0 commit comments

Comments
 (0)