Skip to content

Commit 4ba6ecd

Browse files
committed
Merge branch 'main' into specialize-iteration-with-jit
2 parents 044cce2 + cf59bf7 commit 4ba6ecd

File tree

240 files changed

+7610
-2680
lines changed

Some content is hidden

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

240 files changed

+7610
-2680
lines changed

.github/CODEOWNERS

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -100,12 +100,12 @@ Lib/test/test_build_details.py @FFY00
100100
InternalDocs/ @AA-Turner
101101

102102
# Tools, Configuration, etc
103-
Doc/Makefile @AA-Turner @hugovk
104-
Doc/_static/ @AA-Turner @hugovk
105-
Doc/conf.py @AA-Turner @hugovk
106-
Doc/make.bat @AA-Turner @hugovk
107-
Doc/requirements.txt @AA-Turner @hugovk
108-
Doc/tools/ @AA-Turner @hugovk
103+
Doc/Makefile @AA-Turner @hugovk @StanFromIreland
104+
Doc/_static/ @AA-Turner @hugovk @StanFromIreland
105+
Doc/conf.py @AA-Turner @hugovk @StanFromIreland
106+
Doc/make.bat @AA-Turner @hugovk @StanFromIreland
107+
Doc/requirements.txt @AA-Turner @hugovk @StanFromIreland
108+
Doc/tools/ @AA-Turner @hugovk @StanFromIreland
109109

110110
# PR Previews
111111
.readthedocs.yml @AA-Turner

.github/actionlint.yaml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
self-hosted-runner:
2-
# Pending release of actionlint > 1.7.11 for macos-26-intel support
3-
# https://github.com/rhysd/actionlint/pull/629
4-
labels: ["macos-26-intel"]
5-
61
config-variables: null
72

83
paths:

.github/dependabot.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ updates:
33
- package-ecosystem: "github-actions"
44
directory: "/"
55
schedule:
6-
interval: "monthly"
6+
interval: "quarterly"
77
labels:
88
- "skip issue"
99
- "skip news"
@@ -24,7 +24,7 @@ updates:
2424
- package-ecosystem: "pip"
2525
directory: "/Tools/"
2626
schedule:
27-
interval: "monthly"
27+
interval: "quarterly"
2828
labels:
2929
- "skip issue"
3030
- "skip news"

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ on:
1212
# Only ever run once
1313
- opened
1414

15+
permissions: {}
1516

1617
jobs:
1718
add-header:
@@ -20,7 +21,7 @@ jobs:
2021
issues: write
2122
timeout-minutes: 5
2223
steps:
23-
- uses: actions/github-script@v8
24+
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
2425
with:
2526
# language=JavaScript
2627
script: |

.github/workflows/build.yml

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@ on:
1111
- 'main'
1212
- '3.*'
1313

14-
permissions:
15-
contents: read
14+
permissions: {}
1615

1716
concurrency:
1817
# https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#concurrency
@@ -64,7 +63,7 @@ jobs:
6463
run: |
6564
apt update && apt install git -yq
6665
git config --global --add safe.directory "$GITHUB_WORKSPACE"
67-
- uses: actions/checkout@v6
66+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
6867
with:
6968
fetch-depth: 1
7069
persist-credentials: false
@@ -101,10 +100,10 @@ jobs:
101100
needs: build-context
102101
if: needs.build-context.outputs.run-tests == 'true'
103102
steps:
104-
- uses: actions/checkout@v6
103+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
105104
with:
106105
persist-credentials: false
107-
- uses: actions/setup-python@v6
106+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
108107
with:
109108
python-version: '3.x'
110109
- name: Runner image version
@@ -206,16 +205,16 @@ jobs:
206205
strategy:
207206
fail-fast: false
208207
matrix:
209-
# macos-26 is Apple Silicon, macos-26-intel is Intel.
210-
# macos-26-intel only runs tests against the GIL-enabled CPython.
208+
# macos-26 is Apple Silicon, macos-15-intel is Intel.
209+
# macos-15-intel only runs tests against the GIL-enabled CPython.
211210
os:
212211
- macos-26
213-
- macos-26-intel
212+
- macos-15-intel
214213
free-threading:
215214
- false
216215
- true
217216
exclude:
218-
- os: macos-26-intel
217+
- os: macos-15-intel
219218
free-threading: true
220219
uses: ./.github/workflows/reusable-macos.yml
221220
with:
@@ -291,7 +290,7 @@ jobs:
291290
SSLLIB_DIR: ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}
292291
LD_LIBRARY_PATH: ${{ github.workspace }}/multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}/lib
293292
steps:
294-
- uses: actions/checkout@v6
293+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
295294
with:
296295
persist-credentials: false
297296
- name: Runner image version
@@ -302,7 +301,7 @@ jobs:
302301
run: sudo ./.github/workflows/posix-deps-apt.sh
303302
- name: 'Restore SSL library build'
304303
id: cache-ssl-lib
305-
uses: actions/cache@v5
304+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
306305
with:
307306
path: ./multissl/${{ matrix.ssllib.name }}/${{ matrix.ssllib.version }}
308307
key: ${{ matrix.os }}-multissl-${{ matrix.ssllib.name }}-${{ matrix.ssllib.version }}
@@ -350,7 +349,7 @@ jobs:
350349

351350
runs-on: ${{ matrix.runs-on }}
352351
steps:
353-
- uses: actions/checkout@v6
352+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
354353
with:
355354
persist-credentials: false
356355
- name: Build and test
@@ -363,7 +362,7 @@ jobs:
363362
timeout-minutes: 60
364363
runs-on: macos-14
365364
steps:
366-
- uses: actions/checkout@v6
365+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
367366
with:
368367
persist-credentials: false
369368

@@ -401,7 +400,7 @@ jobs:
401400
OPENSSL_VER: 3.5.5
402401
PYTHONSTRICTEXTENSIONBUILD: 1
403402
steps:
404-
- uses: actions/checkout@v6
403+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
405404
with:
406405
persist-credentials: false
407406
- name: Register gcc problem matcher
@@ -415,7 +414,7 @@ jobs:
415414
echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> "$GITHUB_ENV"
416415
- name: 'Restore OpenSSL build'
417416
id: cache-openssl
418-
uses: actions/cache@v5
417+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
419418
with:
420419
path: ./multissl/openssl/${{ env.OPENSSL_VER }}
421420
key: ${{ runner.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
@@ -462,7 +461,7 @@ jobs:
462461
./python -m venv "$VENV_LOC" && "$VENV_PYTHON" -m pip install -r "${GITHUB_WORKSPACE}/Tools/requirements-hypothesis.txt"
463462
- name: 'Restore Hypothesis database'
464463
id: cache-hypothesis-database
465-
uses: actions/cache@v5
464+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
466465
with:
467466
path: ${{ env.CPYTHON_BUILDDIR }}/.hypothesis/
468467
key: hypothesis-database-${{ github.head_ref || github.run_id }}
@@ -489,7 +488,7 @@ jobs:
489488
-x test_subprocess \
490489
-x test_signal \
491490
-x test_sysconfig
492-
- uses: actions/upload-artifact@v7
491+
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
493492
if: always()
494493
with:
495494
name: hypothesis-example-db
@@ -510,7 +509,7 @@ jobs:
510509
PYTHONSTRICTEXTENSIONBUILD: 1
511510
ASAN_OPTIONS: detect_leaks=0:allocator_may_return_null=1:handle_segv=0
512511
steps:
513-
- uses: actions/checkout@v6
512+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
514513
with:
515514
persist-credentials: false
516515
- name: Runner image version
@@ -520,7 +519,7 @@ jobs:
520519
- name: Install dependencies
521520
run: sudo ./.github/workflows/posix-deps-apt.sh
522521
- name: Set up GCC-10 for ASAN
523-
uses: egor-tensin/setup-gcc@v2
522+
uses: egor-tensin/setup-gcc@a2861a8b8538f49cf2850980acccf6b05a1b2ae4 # v2.0
524523
with:
525524
version: 10
526525
- name: Configure OpenSSL env vars
@@ -530,7 +529,7 @@ jobs:
530529
echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> "$GITHUB_ENV"
531530
- name: 'Restore OpenSSL build'
532531
id: cache-openssl
533-
uses: actions/cache@v5
532+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
534533
with:
535534
path: ./multissl/openssl/${{ env.OPENSSL_VER }}
536535
key: ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
@@ -577,7 +576,7 @@ jobs:
577576
needs: build-context
578577
if: needs.build-context.outputs.run-ubuntu == 'true'
579578
steps:
580-
- uses: actions/checkout@v6
579+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
581580
with:
582581
persist-credentials: false
583582
- name: Runner image version

.github/workflows/documentation-links.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
timeout-minutes: 5
2323

2424
steps:
25-
- uses: readthedocs/actions/preview@v1
25+
- uses: readthedocs/actions/preview@b8bba1484329bda1a3abe986df7ebc80a8950333 # v1.5
2626
with:
2727
project-slug: "cpython-previews"
2828
single-version: "true"

.github/workflows/jit.yml

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ on:
1515
paths: *paths
1616
workflow_dispatch:
1717

18-
permissions:
19-
contents: read
18+
permissions: {}
2019

2120
concurrency:
2221
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
@@ -32,7 +31,7 @@ jobs:
3231
runs-on: ubuntu-24.04
3332
timeout-minutes: 60
3433
steps:
35-
- uses: actions/checkout@v6
34+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3635
with:
3736
persist-credentials: false
3837
- name: Build tier two interpreter
@@ -69,10 +68,10 @@ jobs:
6968
architecture: ARM64
7069
runner: windows-11-arm
7170
steps:
72-
- uses: actions/checkout@v6
71+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
7372
with:
7473
persist-credentials: false
75-
- uses: actions/setup-python@v6
74+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
7675
with:
7776
python-version: '3.11'
7877
# PCbuild downloads LLVM automatically:
@@ -99,14 +98,14 @@ jobs:
9998
- false
10099
include:
101100
- target: x86_64-apple-darwin/clang
102-
runner: macos-26-intel
101+
runner: macos-15-intel
103102
- target: aarch64-apple-darwin/clang
104-
runner: macos-26
103+
runner: macos-15
105104
steps:
106-
- uses: actions/checkout@v6
105+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
107106
with:
108107
persist-credentials: false
109-
- uses: actions/setup-python@v6
108+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
110109
with:
111110
python-version: '3.11'
112111
- name: Install LLVM
@@ -146,10 +145,10 @@ jobs:
146145
- target: aarch64-unknown-linux-gnu/gcc
147146
runner: ubuntu-24.04-arm
148147
steps:
149-
- uses: actions/checkout@v6
148+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
150149
with:
151150
persist-credentials: false
152-
- uses: actions/setup-python@v6
151+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
153152
with:
154153
python-version: '3.11'
155154
- name: Build
@@ -182,10 +181,10 @@ jobs:
182181
use_clang: true
183182
run_tests: false
184183
steps:
185-
- uses: actions/checkout@v6
184+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
186185
with:
187186
persist-credentials: false
188-
- uses: actions/setup-python@v6
187+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
189188
with:
190189
python-version: '3.11'
191190
- name: Build

.github/workflows/lint.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ name: Lint
22

33
on: [push, pull_request, workflow_dispatch]
44

5-
permissions:
6-
contents: read
5+
permissions: {}
76

87
env:
98
FORCE_COLOR: 1
@@ -19,7 +18,7 @@ jobs:
1918
timeout-minutes: 10
2019

2120
steps:
22-
- uses: actions/checkout@v6
21+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2322
with:
2423
persist-credentials: false
25-
- uses: j178/prek-action@v1
24+
- uses: j178/prek-action@0bb87d7f00b0c99306c8bcb8b8beba1eb581c037 # v1.1.1

.github/workflows/mypy.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@ on:
3333
- "Tools/requirements-dev.txt"
3434
workflow_dispatch:
3535

36-
permissions:
37-
contents: read
36+
permissions: {}
3837

3938
env:
4039
PIP_DISABLE_PIP_VERSION_CHECK: 1
@@ -65,10 +64,10 @@ jobs:
6564
"Tools/peg_generator",
6665
]
6766
steps:
68-
- uses: actions/checkout@v6
67+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
6968
with:
7069
persist-credentials: false
71-
- uses: actions/setup-python@v6
70+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
7271
with:
7372
python-version: "3.13"
7473
cache: pip

.github/workflows/new-bugs-announce-notifier.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,21 @@ on:
55
types:
66
- opened
77

8-
permissions:
9-
issues: read
8+
permissions: {}
109

1110
jobs:
1211
notify-new-bugs-announce:
1312
runs-on: ubuntu-latest
13+
permissions:
14+
issues: read
1415
timeout-minutes: 10
1516
steps:
16-
- uses: actions/setup-node@v6
17+
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
1718
with:
1819
node-version: 20
1920
- run: npm install mailgun.js form-data
2021
- name: Send notification
21-
uses: actions/github-script@v8
22+
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
2223
env:
2324
MAILGUN_API_KEY: ${{ secrets.MAILGUN_PYTHON_ORG_MAILGUN_KEY }}
2425
with:

0 commit comments

Comments
 (0)