Skip to content

Commit 01f6890

Browse files
authored
Merge branch 'main' into issue-150887-importlib-docs
2 parents 447e494 + 3479e45 commit 01f6890

1,241 files changed

Lines changed: 46375 additions & 34410 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:

.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: 5 additions & 9 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
@@ -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/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: 25 additions & 53 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,7 +254,7 @@ 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
@@ -291,7 +275,7 @@ jobs:
291275
SSLLIB_DIR: ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}
292276
LD_LIBRARY_PATH: ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}/lib
293277
steps:
294-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
278+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
295279
with:
296280
persist-credentials: false
297281
- name: Runner image version
@@ -346,38 +330,29 @@ jobs:
346330
- arch: aarch64
347331
runs-on: macos-26
348332
- arch: x86_64
349-
runs-on: ubuntu-24.04
333+
runs-on: ubuntu-26.04
350334

351335
runs-on: ${{ matrix.runs-on }}
352336
steps:
353-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
337+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
354338
with:
355339
persist-credentials: false
356340
- name: Build and test
357-
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
358342

359343
build-ios:
360344
name: iOS
361345
needs: build-context
362346
if: needs.build-context.outputs.run-ios == 'true'
363347
timeout-minutes: 60
364-
runs-on: macos-14
348+
runs-on: macos-26
365349
steps:
366-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
350+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
367351
with:
368352
persist-credentials: false
369353

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-
379354
- name: Build and test
380-
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
381356

382357
build-emscripten:
383358
name: 'Emscripten'
@@ -393,15 +368,15 @@ jobs:
393368

394369
test-hypothesis:
395370
name: "Hypothesis tests on Ubuntu"
396-
runs-on: ubuntu-24.04
371+
runs-on: ubuntu-26.04
397372
timeout-minutes: 60
398373
needs: build-context
399374
if: needs.build-context.outputs.run-ubuntu == 'true'
400375
env:
401376
OPENSSL_VER: 3.5.7
402377
PYTHONSTRICTEXTENSIONBUILD: 1
403378
steps:
404-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
379+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
405380
with:
406381
persist-credentials: false
407382
- name: Register gcc problem matcher
@@ -504,13 +479,13 @@ jobs:
504479
strategy:
505480
fail-fast: false
506481
matrix:
507-
os: [ubuntu-24.04]
482+
os: [ubuntu-26.04]
508483
env:
509484
OPENSSL_VER: 3.5.7
510485
PYTHONSTRICTEXTENSIONBUILD: 1
511486
ASAN_OPTIONS: detect_leaks=0:allocator_may_return_null=1:handle_segv=0
512487
steps:
513-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
488+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
514489
with:
515490
persist-credentials: false
516491
- name: Runner image version
@@ -519,10 +494,6 @@ jobs:
519494
run: echo "::add-matcher::.github/problem-matchers/gcc.json"
520495
- name: Install dependencies
521496
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
526497
- name: Configure OpenSSL env vars
527498
run: |
528499
echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> "$GITHUB_ENV"
@@ -572,12 +543,12 @@ jobs:
572543

573544
cross-build-linux:
574545
name: Cross build Linux
575-
runs-on: ubuntu-latest
546+
runs-on: ubuntu-26.04
576547
timeout-minutes: 60
577548
needs: build-context
578549
if: needs.build-context.outputs.run-ubuntu == 'true'
579550
steps:
580-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
551+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
581552
with:
582553
persist-credentials: false
583554
- name: Runner image version
@@ -601,6 +572,9 @@ jobs:
601572
run: ./configure --prefix="$BUILD_DIR/cross-python" --with-build-python="$BUILD_DIR/host-python/bin/python3"
602573
- name: Install cross Python
603574
run: make -j8 install
575+
- name: Display build info
576+
run: |
577+
"$BUILD_DIR/cross-python/bin/python3" -m test.pythoninfo
604578
- name: Run test subset with host build
605579
run: |
606580
"$BUILD_DIR/cross-python/bin/python3" -m test test_sysconfig test_site test_embed
@@ -660,7 +634,6 @@ jobs:
660634
- check-generated-files
661635
- check-c-api-docs
662636
- build-windows
663-
- build-windows-msi
664637
- build-macos
665638
- build-ubuntu
666639
- build-ubuntu-ssltests
@@ -681,7 +654,6 @@ jobs:
681654
allowed-failures: >-
682655
build-android,
683656
build-emscripten,
684-
build-windows-msi,
685657
build-ubuntu-ssltests,
686658
test-hypothesis,
687659
cifuzz,

.github/workflows/jit.yml

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ env:
2929
jobs:
3030
interpreter:
3131
name: Interpreter (Debug)
32-
runs-on: ubuntu-24.04
32+
runs-on: ubuntu-26.04
3333
timeout-minutes: 60
3434
steps:
35-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
35+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
3636
with:
3737
persist-credentials: false
3838
- name: Install dependencies
@@ -72,7 +72,7 @@ jobs:
7272
architecture: ARM64
7373
runner: windows-11-arm
7474
steps:
75-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
75+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
7676
with:
7777
persist-credentials: false
7878
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
@@ -102,11 +102,11 @@ jobs:
102102
- false
103103
include:
104104
- target: x86_64-apple-darwin/clang
105-
runner: macos-15-intel
105+
runner: macos-26-intel
106106
- target: aarch64-apple-darwin/clang
107-
runner: macos-15
107+
runner: macos-26
108108
steps:
109-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
109+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
110110
with:
111111
persist-credentials: false
112112
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
@@ -145,11 +145,11 @@ jobs:
145145
- false
146146
include:
147147
- target: x86_64-unknown-linux-gnu/gcc
148-
runner: ubuntu-24.04
148+
runner: ubuntu-26.04
149149
- target: aarch64-unknown-linux-gnu/gcc
150-
runner: ubuntu-24.04-arm
150+
runner: ubuntu-26.04-arm
151151
steps:
152-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
152+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
153153
with:
154154
persist-credentials: false
155155
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
@@ -160,8 +160,7 @@ jobs:
160160
sudo ./.github/workflows/posix-deps-apt.sh
161161
- name: Build
162162
run: |
163-
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ env.LLVM_VERSION }}
164-
export PATH="$(llvm-config-${{ env.LLVM_VERSION }} --bindir):$PATH"
163+
# On ubuntu-26.04 image, clang is clang-21 by default
165164
./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '' }}
166165
make all --jobs 4
167166
- name: Test
@@ -171,7 +170,7 @@ jobs:
171170
linux-extras:
172171
name: ${{ matrix.name }}
173172

174-
runs-on: ubuntu-24.04
173+
runs-on: ubuntu-26.04
175174
timeout-minutes: 60
176175
strategy:
177176
fail-fast: false
@@ -191,7 +190,7 @@ jobs:
191190
use_clang: true
192191
run_tests: false
193192
steps:
194-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
193+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
195194
with:
196195
persist-credentials: false
197196
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
@@ -202,8 +201,7 @@ jobs:
202201
sudo ./.github/workflows/posix-deps-apt.sh
203202
- name: Build
204203
run: |
205-
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ env.LLVM_VERSION }}
206-
export PATH="$(llvm-config-${{ env.LLVM_VERSION }} --bindir):$PATH"
204+
# On ubuntu-26.04 image, clang is clang-21 by default
207205
if [ "${{ matrix.use_clang }}" = "true" ]; then
208206
export CC=clang-${{ env.LLVM_VERSION }}
209207
fi

0 commit comments

Comments
 (0)