Skip to content

Commit 7edb9f6

Browse files
Merge branch '3.12' into backport-eb0e8be-3.12
2 parents e5caf45 + 20b4393 commit 7edb9f6

24 files changed

+171
-166
lines changed

.github/workflows/build.yml

Lines changed: 26 additions & 45 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
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}-reusable
@@ -49,10 +48,10 @@ jobs:
4948
needs: build-context
5049
if: needs.build-context.outputs.run-tests == 'true'
5150
steps:
52-
- uses: actions/checkout@v6
51+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
5352
with:
5453
persist-credentials: false
55-
- uses: actions/setup-python@v6
54+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
5655
- name: Install dependencies
5756
run: |
5857
sudo ./.github/workflows/posix-deps-apt.sh
@@ -81,7 +80,7 @@ jobs:
8180
if: ${{ failure() && steps.check.conclusion == 'failure' }}
8281
run: |
8382
make regen-abidump
84-
- uses: actions/upload-artifact@v6
83+
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
8584
name: Publish updated ABI files
8685
if: ${{ failure() && steps.check.conclusion == 'failure' }}
8786
with:
@@ -103,7 +102,7 @@ jobs:
103102
run: |
104103
apt update && apt install git -yq
105104
git config --global --add safe.directory "$GITHUB_WORKSPACE"
106-
- uses: actions/checkout@v6
105+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
107106
with:
108107
fetch-depth: 1
109108
persist-credentials: false
@@ -140,16 +139,16 @@ jobs:
140139
needs: build-context
141140
if: needs.build-context.outputs.run-tests == 'true'
142141
steps:
143-
- uses: actions/checkout@v6
142+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
144143
with:
145144
persist-credentials: false
146-
- uses: actions/setup-python@v6
145+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
147146
with:
148147
python-version: '3.x'
149148
- name: Runner image version
150149
run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
151150
- name: Restore config.cache
152-
uses: actions/cache@v5
151+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
153152
with:
154153
path: config.cache
155154
# Include env.pythonLocation in key to avoid changes in environment when setup-python updates Python
@@ -159,7 +158,7 @@ jobs:
159158
- name: Add ccache to PATH
160159
run: echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
161160
- name: Configure ccache action
162-
uses: hendrikmuhs/ccache-action@v1.2
161+
uses: hendrikmuhs/ccache-action@5ebbd400eff9e74630f759d94ddd7b6c26299639 # v1.2.20
163162
with:
164163
save: false
165164
- name: Configure CPython
@@ -215,22 +214,6 @@ jobs:
215214
arch: ${{ matrix.arch }}
216215
free-threading: ${{ matrix.free-threading }}
217216

218-
build-windows-msi:
219-
name: >- # ${{ '' } is a hack to nest jobs under the same sidebar category
220-
Windows MSI${{ '' }}
221-
needs: build-context
222-
if: fromJSON(needs.build-context.outputs.run-windows-msi)
223-
strategy:
224-
fail-fast: false
225-
matrix:
226-
arch:
227-
- x86
228-
- x64
229-
- arm64
230-
uses: ./.github/workflows/reusable-windows-msi.yml
231-
with:
232-
arch: ${{ matrix.arch }}
233-
234217
build-macos:
235218
name: >-
236219
macOS
@@ -240,10 +223,10 @@ jobs:
240223
strategy:
241224
fail-fast: false
242225
matrix:
243-
# macos-14 is M1, macos-15-intel is Intel.
226+
# macos-26 is Apple Silicon, macos-15-intel is Intel.
244227
# macos-15-intel only runs tests against the GIL-enabled CPython.
245228
os:
246-
- macos-14
229+
- macos-26
247230
- macos-15-intel
248231
free-threading:
249232
- false
@@ -291,13 +274,13 @@ jobs:
291274
OPENSSL_DIR: ${{ github.workspace }}/multissl/openssl/${{ matrix.openssl_ver }}
292275
LD_LIBRARY_PATH: ${{ github.workspace }}/multissl/openssl/${{ matrix.openssl_ver }}/lib
293276
steps:
294-
- uses: actions/checkout@v6
277+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
295278
with:
296279
persist-credentials: false
297280
- name: Runner image version
298281
run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
299282
- name: Restore config.cache
300-
uses: actions/cache@v5
283+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
301284
with:
302285
path: config.cache
303286
key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.build-context.outputs.config-hash }}
@@ -312,7 +295,7 @@ jobs:
312295
echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> "$GITHUB_ENV"
313296
- name: 'Restore OpenSSL build'
314297
id: cache-openssl
315-
uses: actions/cache@v5
298+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
316299
with:
317300
path: ./multissl/openssl/${{ env.OPENSSL_VER }}
318301
key: ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
@@ -323,7 +306,7 @@ jobs:
323306
run: |
324307
echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
325308
- name: Configure ccache action
326-
uses: hendrikmuhs/ccache-action@v1.2
309+
uses: hendrikmuhs/ccache-action@5ebbd400eff9e74630f759d94ddd7b6c26299639 # v1.2.20
327310
with:
328311
save: false
329312
- name: Configure CPython
@@ -345,7 +328,7 @@ jobs:
345328
OPENSSL_VER: 3.0.15
346329
PYTHONSTRICTEXTENSIONBUILD: 1
347330
steps:
348-
- uses: actions/checkout@v6
331+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
349332
with:
350333
persist-credentials: false
351334
- name: Register gcc problem matcher
@@ -359,7 +342,7 @@ jobs:
359342
echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> "$GITHUB_ENV"
360343
- name: 'Restore OpenSSL build'
361344
id: cache-openssl
362-
uses: actions/cache@v5
345+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
363346
with:
364347
path: ./multissl/openssl/${{ env.OPENSSL_VER }}
365348
key: ${{ runner.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
@@ -370,7 +353,7 @@ jobs:
370353
run: |
371354
echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
372355
- name: Configure ccache action
373-
uses: hendrikmuhs/ccache-action@v1.2
356+
uses: hendrikmuhs/ccache-action@5ebbd400eff9e74630f759d94ddd7b6c26299639 # v1.2.20
374357
with:
375358
save: false
376359
- name: Setup directory envs for out-of-tree builds
@@ -384,7 +367,7 @@ jobs:
384367
- name: Runner image version
385368
run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
386369
- name: Restore config.cache
387-
uses: actions/cache@v5
370+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
388371
with:
389372
path: ${{ env.CPYTHON_BUILDDIR }}/config.cache
390373
key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.build-context.outputs.config-hash }}
@@ -417,7 +400,7 @@ jobs:
417400
./python -m venv "$VENV_LOC" && "$VENV_PYTHON" -m pip install -r "${GITHUB_WORKSPACE}/Tools/requirements-hypothesis.txt"
418401
- name: 'Restore Hypothesis database'
419402
id: cache-hypothesis-database
420-
uses: actions/cache@v5
403+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
421404
with:
422405
path: ./hypothesis
423406
key: hypothesis-database-${{ github.head_ref || github.run_id }}
@@ -443,7 +426,7 @@ jobs:
443426
-x test_subprocess \
444427
-x test_signal \
445428
-x test_sysconfig
446-
- uses: actions/upload-artifact@v6
429+
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
447430
if: always()
448431
with:
449432
name: hypothesis-example-db
@@ -464,13 +447,13 @@ jobs:
464447
PYTHONSTRICTEXTENSIONBUILD: 1
465448
ASAN_OPTIONS: detect_leaks=0:allocator_may_return_null=1:handle_segv=0
466449
steps:
467-
- uses: actions/checkout@v6
450+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
468451
with:
469452
persist-credentials: false
470453
- name: Runner image version
471454
run: echo "IMAGE_OS_VERSION=${ImageOS}-${ImageVersion}" >> "$GITHUB_ENV"
472455
- name: Restore config.cache
473-
uses: actions/cache@v5
456+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
474457
with:
475458
path: config.cache
476459
key: ${{ github.job }}-${{ env.IMAGE_OS_VERSION }}-${{ needs.build-context.outputs.config-hash }}
@@ -479,7 +462,7 @@ jobs:
479462
- name: Install dependencies
480463
run: sudo ./.github/workflows/posix-deps-apt.sh
481464
- name: Set up GCC-10 for ASAN
482-
uses: egor-tensin/setup-gcc@v2
465+
uses: egor-tensin/setup-gcc@a2861a8b8538f49cf2850980acccf6b05a1b2ae4 # v2.0
483466
with:
484467
version: 10
485468
- name: Configure OpenSSL env vars
@@ -489,7 +472,7 @@ jobs:
489472
echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> "$GITHUB_ENV"
490473
- name: 'Restore OpenSSL build'
491474
id: cache-openssl
492-
uses: actions/cache@v5
475+
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
493476
with:
494477
path: ./multissl/openssl/${{ env.OPENSSL_VER }}
495478
key: ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }}
@@ -500,7 +483,7 @@ jobs:
500483
run: |
501484
echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV"
502485
- name: Configure ccache action
503-
uses: hendrikmuhs/ccache-action@v1.2
486+
uses: hendrikmuhs/ccache-action@5ebbd400eff9e74630f759d94ddd7b6c26299639 # v1.2.20
504487
with:
505488
save: ${{ github.event_name == 'push' }}
506489
max-size: "200M"
@@ -539,7 +522,6 @@ jobs:
539522
- check-autoconf-regen
540523
- check-generated-files
541524
- build-windows
542-
- build-windows-msi
543525
- build-macos
544526
- build-ubuntu
545527
- build-ubuntu-ssltests
@@ -553,7 +535,6 @@ jobs:
553535
uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe
554536
with:
555537
allowed-failures: >-
556-
build-windows-msi,
557538
build-ubuntu-ssltests,
558539
test-hypothesis,
559540
allowed-skips: >-

.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/lint.yml

Lines changed: 4 additions & 5 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,10 +18,10 @@ 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: actions/setup-python@v6
24+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
2625
with:
2726
python-version: "3.x"
28-
- uses: pre-commit/action@v3.0.1
27+
- uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1

.github/workflows/mypy.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@ on:
1212
- ".github/workflows/mypy.yml"
1313
workflow_dispatch:
1414

15-
permissions:
16-
contents: read
15+
permissions: {}
1716

1817
env:
1918
PIP_DISABLE_PIP_VERSION_CHECK: 1
@@ -30,10 +29,10 @@ jobs:
3029
runs-on: ubuntu-latest
3130
timeout-minutes: 10
3231
steps:
33-
- uses: actions/checkout@v6
32+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3433
with:
3534
persist-credentials: false
36-
- uses: actions/setup-python@v6
35+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
3736
with:
3837
python-version: "3.x"
3938
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: 14
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:

.github/workflows/project-updater.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
- { project: 32, label: sprint }
2525

2626
steps:
27-
- uses: actions/add-to-project@v1.0.2
27+
- uses: actions/add-to-project@244f685bbc3b7adfa8466e08b698b5577571133e # v1.0.2
2828
with:
2929
project-url: https://github.com/orgs/python/projects/${{ matrix.project }}
3030
github-token: ${{ secrets.ADD_TO_PROJECT_PAT }}

.github/workflows/require-pr-label.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ on:
44
pull_request:
55
types: [opened, reopened, labeled, unlabeled, synchronize]
66

7+
permissions: {}
8+
79
jobs:
810
label:
911
name: DO-NOT-MERGE / unresolved review
@@ -14,7 +16,7 @@ jobs:
1416
timeout-minutes: 10
1517

1618
steps:
17-
- uses: mheap/github-action-required-labels@v5
19+
- uses: mheap/github-action-required-labels@0ac283b4e65c1fb28ce6079dea5546ceca98ccbe # v5.5.2
1820
with:
1921
mode: exactly
2022
count: 0

0 commit comments

Comments
 (0)