Skip to content

Commit 66c2978

Browse files
authored
Merge branch '3.13' into backport-7d24ea9-3.13
2 parents 99cae0e + 5bb0538 commit 66c2978

File tree

443 files changed

+13492
-9340
lines changed

Some content is hidden

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

443 files changed

+13492
-9340
lines changed

.devcontainer/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ FROM docker.io/library/fedora:40
22

33
ENV CC=clang
44

5-
ENV WASI_SDK_VERSION=22
5+
ENV WASI_SDK_VERSION=24
66
ENV WASI_SDK_PATH=/opt/wasi-sdk
77

88
ENV WASMTIME_HOME=/opt/wasmtime
@@ -14,7 +14,7 @@ RUN dnf -y --nodocs --setopt=install_weak_deps=False install /usr/bin/{blurb,cla
1414
dnf -y clean all
1515

1616
RUN mkdir ${WASI_SDK_PATH} && \
17-
curl --location https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VERSION}/wasi-sdk-${WASI_SDK_VERSION}.0-linux.tar.gz | \
17+
curl --location https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VERSION}/wasi-sdk-${WASI_SDK_VERSION}.0-x86_64-linux.tar.gz | \
1818
tar --strip-components 1 --directory ${WASI_SDK_PATH} --extract --gunzip
1919

2020
RUN mkdir --parents ${WASMTIME_HOME} && \

.gitattributes

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@ Lib/test/cjkencodings/* noeol
2727
Lib/test/tokenizedata/coding20731.py noeol
2828
Lib/test/decimaltestdata/*.decTest noeol
2929
Lib/test/test_email/data/*.txt noeol
30-
Lib/test/test_importlib/resources/data01/* noeol
31-
Lib/test/test_importlib/resources/namespacedata01/* noeol
3230
Lib/test/xmltestdata/* noeol
3331

3432
# Shell scripts should have LF even on Windows because of Cygwin

.github/workflows/build.yml

Lines changed: 47 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242

4343
check_abi:
4444
name: 'Check if the ABI has changed'
45-
runs-on: ubuntu-latest
45+
runs-on: ubuntu-22.04
4646
needs: check_source
4747
if: needs.check_source.outputs.run_tests == 'true'
4848
steps:
@@ -83,6 +83,50 @@ jobs:
8383
name: abi-data
8484
path: ./Doc/data/*.abi
8585

86+
check_autoconf_regen:
87+
name: 'Check if Autoconf files are up to date'
88+
# Don't use ubuntu-latest but a specific version to make the job
89+
# reproducible: to get the same tools versions (autoconf, aclocal, ...)
90+
runs-on: ubuntu-24.04
91+
container:
92+
image: ghcr.io/python/autoconf:2024.10.11.11293396815
93+
timeout-minutes: 60
94+
needs: check_source
95+
if: needs.check_source.outputs.run_tests == 'true'
96+
steps:
97+
- name: Install Git
98+
run: |
99+
apt install git -yq
100+
git config --global --add safe.directory "$GITHUB_WORKSPACE"
101+
- uses: actions/checkout@v4
102+
with:
103+
fetch-depth: 1
104+
- name: Runner image version
105+
run: echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
106+
- name: Check Autoconf and aclocal versions
107+
run: |
108+
grep "Generated by GNU Autoconf 2.71" configure
109+
grep "aclocal 1.16.5" aclocal.m4
110+
grep -q "runstatedir" configure
111+
grep -q "PKG_PROG_PKG_CONFIG" aclocal.m4
112+
- name: Regenerate autoconf files
113+
# Same command used by Tools/build/regen-configure.sh ($AUTORECONF)
114+
run: autoreconf -ivf -Werror
115+
- name: Check for changes
116+
run: |
117+
git add -u
118+
changes=$(git status --porcelain)
119+
# Check for changes in regenerated files
120+
if test -n "$changes"; then
121+
echo "Generated files not up to date."
122+
echo "Perhaps you forgot to run make regen-all or build.bat --regen. ;)"
123+
echo "configure files must be regenerated with a specific version of autoconf."
124+
echo "$changes"
125+
echo ""
126+
git diff --staged || true
127+
exit 1
128+
fi
129+
86130
check_generated_files:
87131
name: 'Check if generated files are up to date'
88132
# Don't use ubuntu-latest but a specific version to make the job
@@ -112,19 +156,10 @@ jobs:
112156
uses: hendrikmuhs/[email protected]
113157
with:
114158
save: false
115-
- name: Check Autoconf and aclocal versions
116-
run: |
117-
grep "Generated by GNU Autoconf 2.71" configure
118-
grep "aclocal 1.16.5" aclocal.m4
119-
grep -q "runstatedir" configure
120-
grep -q "PKG_PROG_PKG_CONFIG" aclocal.m4
121159
- name: Configure CPython
122160
run: |
123161
# Build Python with the libpython dynamic library
124162
./configure --config-cache --with-pydebug --enable-shared
125-
- name: Regenerate autoconf files
126-
# Same command used by Tools/build/regen-configure.sh ($AUTORECONF)
127-
run: autoreconf -ivf -Werror
128163
- name: Build CPython
129164
run: |
130165
make -j4 regen-all
@@ -543,6 +578,7 @@ jobs:
543578
needs:
544579
- check_source # Transitive dependency, needed to access `run_tests` value
545580
- check-docs
581+
- check_autoconf_regen
546582
- check_generated_files
547583
- build_macos
548584
- build_ubuntu
@@ -578,6 +614,7 @@ jobs:
578614
${{
579615
needs.check_source.outputs.run_tests != 'true'
580616
&& '
617+
check_autoconf_regen,
581618
check_generated_files,
582619
build_macos,
583620
build_ubuntu,

.github/workflows/mypy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ jobs:
5353
- uses: actions/checkout@v4
5454
- uses: actions/setup-python@v5
5555
with:
56-
python-version: "3.11"
56+
python-version: "3.13"
5757
cache: pip
5858
cache-dependency-path: Tools/requirements-dev.txt
5959
- run: pip install -r Tools/requirements-dev.txt

.github/workflows/posix-deps-apt.sh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
#!/bin/sh
22
apt-get update
33

4-
# autoconf-archive is needed by autoreconf (check_generated_files job)
54
apt-get -yq install \
65
build-essential \
76
pkg-config \
8-
autoconf-archive \
97
ccache \
108
gdb \
119
lcov \

.github/workflows/reusable-change-detection.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
---
2-
3-
name: Change detection
1+
name: Reusable change detection
42

53
on: # yamllint disable-line rule:truthy
64
workflow_call:

.github/workflows/reusable-docs.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Docs
1+
name: Reusable Docs
22

33
on:
44
workflow_call:
@@ -84,7 +84,7 @@ jobs:
8484
- name: 'Set up Python'
8585
uses: actions/setup-python@v5
8686
with:
87-
python-version: '3.12' # known to work with Sphinx 6.2.1
87+
python-version: '3.13' # known to work with Sphinx 7.2.6
8888
cache: 'pip'
8989
cache-dependency-path: 'Doc/requirements-oldest-sphinx.txt'
9090
- name: 'Install build dependencies'
@@ -95,7 +95,7 @@ jobs:
9595
# Run "doctest" on HEAD as new syntax doesn't exist in the latest stable release
9696
doctest:
9797
name: 'Doctest'
98-
runs-on: ubuntu-latest
98+
runs-on: ubuntu-22.04
9999
timeout-minutes: 60
100100
steps:
101101
- uses: actions/checkout@v4

.github/workflows/reusable-macos.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
name: Reusable macOS
2+
13
on:
24
workflow_call:
35
inputs:

.github/workflows/reusable-tsan.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
name: Reusable Thread Sanitizer
2+
13
on:
24
workflow_call:
35
inputs:

.github/workflows/reusable-ubuntu.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
name: Reusable Ubuntu
2+
13
on:
24
workflow_call:
35
inputs:

0 commit comments

Comments
 (0)