Skip to content

Commit d6e07f5

Browse files
Merge branch 'main' into gh-150449-fix-sqlite-blob-negative-step-slice
2 parents a462e70 + d65bf51 commit d6e07f5

1,760 files changed

Lines changed: 80335 additions & 39649 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: 40 additions & 61 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,29 +260,28 @@ 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
277267
# Keep 1.1.1w in our list despite it being upstream EOL and otherwise
278268
# unsupported as it most resembles other 1.1.1-work-a-like ssl APIs
279269
# supported by important vendors such as AWS-LC.
280270
- { 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 }
271+
- { name: openssl, version: 3.0.21 }
272+
- { name: openssl, version: 3.4.6 }
273+
- { name: openssl, version: 3.5.7 }
274+
- { name: openssl, version: 3.6.3 }
275+
- { name: openssl, version: 4.0.1 }
287276
## AWS-LC
288-
- { name: aws-lc, version: 1.72.1 }
277+
- { name: aws-lc, version: 5.0.0 }
289278
env:
290279
SSLLIB_VER: ${{ matrix.ssllib.version }}
291280
MULTISSL_DIR: ${{ github.workspace }}/multissl
292281
SSLLIB_DIR: ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}
293282
LD_LIBRARY_PATH: ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}/lib
294283
steps:
295-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
284+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
296285
with:
297286
persist-credentials: false
298287
- name: Runner image version
@@ -347,11 +336,11 @@ jobs:
347336
- arch: aarch64
348337
runs-on: macos-26
349338
- arch: x86_64
350-
runs-on: ubuntu-24.04
339+
runs-on: ubuntu-26.04
351340

352341
runs-on: ${{ matrix.runs-on }}
353342
steps:
354-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
343+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
355344
with:
356345
persist-credentials: false
357346
- name: Build and test
@@ -362,23 +351,14 @@ jobs:
362351
needs: build-context
363352
if: needs.build-context.outputs.run-ios == 'true'
364353
timeout-minutes: 60
365-
runs-on: macos-14
354+
runs-on: macos-26
366355
steps:
367-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
356+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
368357
with:
369358
persist-credentials: false
370359

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-
380360
- name: Build and test
381-
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
382362

383363
build-emscripten:
384364
name: 'Emscripten'
@@ -394,15 +374,15 @@ jobs:
394374

395375
test-hypothesis:
396376
name: "Hypothesis tests on Ubuntu"
397-
runs-on: ubuntu-24.04
377+
runs-on: ubuntu-26.04
398378
timeout-minutes: 60
399379
needs: build-context
400380
if: needs.build-context.outputs.run-ubuntu == 'true'
401381
env:
402-
OPENSSL_VER: 3.5.6
382+
OPENSSL_VER: 3.5.7
403383
PYTHONSTRICTEXTENSIONBUILD: 1
404384
steps:
405-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
385+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
406386
with:
407387
persist-credentials: false
408388
- name: Register gcc problem matcher
@@ -505,13 +485,13 @@ jobs:
505485
strategy:
506486
fail-fast: false
507487
matrix:
508-
os: [ubuntu-24.04]
488+
os: [ubuntu-26.04]
509489
env:
510-
OPENSSL_VER: 3.5.6
490+
OPENSSL_VER: 3.5.7
511491
PYTHONSTRICTEXTENSIONBUILD: 1
512492
ASAN_OPTIONS: detect_leaks=0:allocator_may_return_null=1:handle_segv=0
513493
steps:
514-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
494+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
515495
with:
516496
persist-credentials: false
517497
- name: Runner image version
@@ -520,10 +500,6 @@ jobs:
520500
run: echo "::add-matcher::.github/problem-matchers/gcc.json"
521501
- name: Install dependencies
522502
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
527503
- name: Configure OpenSSL env vars
528504
run: |
529505
echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> "$GITHUB_ENV"
@@ -573,12 +549,12 @@ jobs:
573549

574550
cross-build-linux:
575551
name: Cross build Linux
576-
runs-on: ubuntu-latest
552+
runs-on: ubuntu-26.04
577553
timeout-minutes: 60
578554
needs: build-context
579555
if: needs.build-context.outputs.run-ubuntu == 'true'
580556
steps:
581-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
557+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
582558
with:
583559
persist-credentials: false
584560
- name: Runner image version
@@ -602,6 +578,9 @@ jobs:
602578
run: ./configure --prefix="$BUILD_DIR/cross-python" --with-build-python="$BUILD_DIR/host-python/bin/python3"
603579
- name: Install cross Python
604580
run: make -j8 install
581+
- name: Display build info
582+
run: |
583+
"$BUILD_DIR/cross-python/bin/python3" -m test.pythoninfo
605584
- name: Run test subset with host build
606585
run: |
607586
"$BUILD_DIR/cross-python/bin/python3" -m test test_sysconfig test_site test_embed
@@ -661,9 +640,9 @@ jobs:
661640
- check-generated-files
662641
- check-c-api-docs
663642
- build-windows
664-
- build-windows-msi
665643
- build-macos
666644
- build-ubuntu
645+
- build-ubuntu-installed
667646
- build-ubuntu-ssltests
668647
- build-ios
669648
- build-emscripten
@@ -682,7 +661,6 @@ jobs:
682661
allowed-failures: >-
683662
build-android,
684663
build-emscripten,
685-
build-windows-msi,
686664
build-ubuntu-ssltests,
687665
test-hypothesis,
688666
cifuzz,
@@ -714,6 +692,7 @@ jobs:
714692
!fromJSON(needs.build-context.outputs.run-ubuntu)
715693
&& '
716694
build-ubuntu,
695+
build-ubuntu-installed,
717696
build-ubuntu-ssltests,
718697
test-hypothesis,
719698
build-asan,

0 commit comments

Comments
 (0)