-
-
Notifications
You must be signed in to change notification settings - Fork 30.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into 89529-dataclasses-default-factory-and-init
- Loading branch information
Showing
748 changed files
with
17,611 additions
and
6,805 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Validating CODEOWNERS rules …
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -46,7 +46,7 @@ jobs: | |
# reproducible: to get the same tools versions (autoconf, aclocal, ...) | ||
runs-on: ubuntu-24.04 | ||
container: | ||
image: ghcr.io/python/autoconf:2024.10.11.11293396815 | ||
image: ghcr.io/python/autoconf:2024.11.11.11786316759 | ||
timeout-minutes: 60 | ||
needs: check_source | ||
if: needs.check_source.outputs.run_tests == 'true' | ||
|
@@ -59,7 +59,7 @@ jobs: | |
with: | ||
fetch-depth: 1 | ||
- name: Runner image version | ||
run: echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV | ||
run: echo "IMAGE_VERSION=${ImageVersion}" >> "$GITHUB_ENV" | ||
- name: Check Autoconf and aclocal versions | ||
run: | | ||
grep "Generated by GNU Autoconf 2.71" configure | ||
|
@@ -76,7 +76,7 @@ jobs: | |
# Check for changes in regenerated files | ||
if test -n "$changes"; then | ||
echo "Generated files not up to date." | ||
echo "Perhaps you forgot to run make regen-all or build.bat --regen. ;)" | ||
echo "Perhaps you forgot to run make regen-configure ;)" | ||
echo "configure files must be regenerated with a specific version of autoconf." | ||
echo "$changes" | ||
echo "" | ||
|
@@ -88,7 +88,7 @@ jobs: | |
name: 'Check if generated files are up to date' | ||
# Don't use ubuntu-latest but a specific version to make the job | ||
# reproducible: to get the same tools versions (autoconf, aclocal, ...) | ||
runs-on: ubuntu-22.04 | ||
runs-on: ubuntu-24.04 | ||
timeout-minutes: 60 | ||
needs: check_source | ||
if: needs.check_source.outputs.run_tests == 'true' | ||
|
@@ -98,7 +98,7 @@ jobs: | |
with: | ||
python-version: '3.x' | ||
- name: Runner image version | ||
run: echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV | ||
run: echo "IMAGE_VERSION=${ImageVersion}" >> "$GITHUB_ENV" | ||
- name: Restore config.cache | ||
uses: actions/cache@v4 | ||
with: | ||
|
@@ -108,7 +108,7 @@ jobs: | |
- name: Install Dependencies | ||
run: sudo ./.github/workflows/posix-deps-apt.sh | ||
- name: Add ccache to PATH | ||
run: echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV | ||
run: echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV" | ||
- name: Configure ccache action | ||
uses: hendrikmuhs/[email protected] | ||
with: | ||
|
@@ -237,7 +237,7 @@ jobs: | |
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ubuntu-22.04] | ||
os: [ubuntu-24.04] | ||
openssl_ver: [3.0.15, 3.1.7, 3.2.3, 3.3.2] | ||
env: | ||
OPENSSL_VER: ${{ matrix.openssl_ver }} | ||
|
@@ -247,7 +247,7 @@ jobs: | |
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Runner image version | ||
run: echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV | ||
run: echo "IMAGE_VERSION=${ImageVersion}" >> "$GITHUB_ENV" | ||
- name: Restore config.cache | ||
uses: actions/cache@v4 | ||
with: | ||
|
@@ -259,9 +259,9 @@ jobs: | |
run: sudo ./.github/workflows/posix-deps-apt.sh | ||
- name: Configure OpenSSL env vars | ||
run: | | ||
echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> $GITHUB_ENV | ||
echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> $GITHUB_ENV | ||
echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> $GITHUB_ENV | ||
echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> "$GITHUB_ENV" | ||
echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> "$GITHUB_ENV" | ||
echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> "$GITHUB_ENV" | ||
- name: 'Restore OpenSSL build' | ||
id: cache-openssl | ||
uses: actions/cache@v4 | ||
|
@@ -270,16 +270,16 @@ jobs: | |
key: ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }} | ||
- name: Install OpenSSL | ||
if: steps.cache-openssl.outputs.cache-hit != 'true' | ||
run: python3 Tools/ssl/multissltests.py --steps=library --base-directory $MULTISSL_DIR --openssl $OPENSSL_VER --system Linux | ||
run: python3 Tools/ssl/multissltests.py --steps=library --base-directory "$MULTISSL_DIR" --openssl "$OPENSSL_VER" --system Linux | ||
- name: Add ccache to PATH | ||
run: | | ||
echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV | ||
echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV" | ||
- name: Configure ccache action | ||
uses: hendrikmuhs/[email protected] | ||
with: | ||
save: false | ||
- name: Configure CPython | ||
run: ./configure CFLAGS="-fdiagnostics-format=json" --config-cache --enable-slower-safety --with-pydebug --with-openssl=$OPENSSL_DIR | ||
run: ./configure CFLAGS="-fdiagnostics-format=json" --config-cache --enable-slower-safety --with-pydebug --with-openssl="$OPENSSL_DIR" | ||
- name: Build CPython | ||
run: make -j4 | ||
- name: Display build info | ||
|
@@ -297,7 +297,7 @@ jobs: | |
|
||
test_hypothesis: | ||
name: "Hypothesis tests on Ubuntu" | ||
runs-on: ubuntu-22.04 | ||
runs-on: ubuntu-24.04 | ||
timeout-minutes: 60 | ||
needs: check_source | ||
if: needs.check_source.outputs.run_tests == 'true' && needs.check_source.outputs.run_hypothesis == 'true' | ||
|
@@ -312,9 +312,9 @@ jobs: | |
run: sudo ./.github/workflows/posix-deps-apt.sh | ||
- name: Configure OpenSSL env vars | ||
run: | | ||
echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> $GITHUB_ENV | ||
echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> $GITHUB_ENV | ||
echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> $GITHUB_ENV | ||
echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> "$GITHUB_ENV" | ||
echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> "$GITHUB_ENV" | ||
echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> "$GITHUB_ENV" | ||
- name: 'Restore OpenSSL build' | ||
id: cache-openssl | ||
uses: actions/cache@v4 | ||
|
@@ -323,24 +323,24 @@ jobs: | |
key: ${{ runner.os }}-multissl-openssl-${{ env.OPENSSL_VER }} | ||
- name: Install OpenSSL | ||
if: steps.cache-openssl.outputs.cache-hit != 'true' | ||
run: python3 Tools/ssl/multissltests.py --steps=library --base-directory $MULTISSL_DIR --openssl $OPENSSL_VER --system Linux | ||
run: python3 Tools/ssl/multissltests.py --steps=library --base-directory "$MULTISSL_DIR" --openssl "$OPENSSL_VER" --system Linux | ||
- name: Add ccache to PATH | ||
run: | | ||
echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV | ||
echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV" | ||
- name: Configure ccache action | ||
uses: hendrikmuhs/[email protected] | ||
with: | ||
save: false | ||
- name: Setup directory envs for out-of-tree builds | ||
run: | | ||
echo "CPYTHON_RO_SRCDIR=$(realpath -m ${GITHUB_WORKSPACE}/../cpython-ro-srcdir)" >> $GITHUB_ENV | ||
echo "CPYTHON_BUILDDIR=$(realpath -m ${GITHUB_WORKSPACE}/../cpython-builddir)" >> $GITHUB_ENV | ||
echo "CPYTHON_RO_SRCDIR=$(realpath -m "${GITHUB_WORKSPACE}"/../cpython-ro-srcdir)" >> "$GITHUB_ENV" | ||
echo "CPYTHON_BUILDDIR=$(realpath -m "${GITHUB_WORKSPACE}"/../cpython-builddir)" >> "$GITHUB_ENV" | ||
- name: Create directories for read-only out-of-tree builds | ||
run: mkdir -p $CPYTHON_RO_SRCDIR $CPYTHON_BUILDDIR | ||
run: mkdir -p "$CPYTHON_RO_SRCDIR" "$CPYTHON_BUILDDIR" | ||
- name: Bind mount sources read-only | ||
run: sudo mount --bind -o ro $GITHUB_WORKSPACE $CPYTHON_RO_SRCDIR | ||
run: sudo mount --bind -o ro "$GITHUB_WORKSPACE" "$CPYTHON_RO_SRCDIR" | ||
- name: Runner image version | ||
run: echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV | ||
run: echo "IMAGE_VERSION=${ImageVersion}" >> "$GITHUB_ENV" | ||
- name: Restore config.cache | ||
uses: actions/cache@v4 | ||
with: | ||
|
@@ -353,7 +353,7 @@ jobs: | |
--config-cache \ | ||
--with-pydebug \ | ||
--enable-slower-safety \ | ||
--with-openssl=$OPENSSL_DIR | ||
--with-openssl="$OPENSSL_DIR" | ||
- name: Build CPython out-of-tree | ||
working-directory: ${{ env.CPYTHON_BUILDDIR }} | ||
run: make -j4 | ||
|
@@ -362,18 +362,18 @@ jobs: | |
run: make pythoninfo | ||
- name: Remount sources writable for tests | ||
# some tests write to srcdir, lack of pyc files slows down testing | ||
run: sudo mount $CPYTHON_RO_SRCDIR -oremount,rw | ||
run: sudo mount "$CPYTHON_RO_SRCDIR" -oremount,rw | ||
- name: Setup directory envs for out-of-tree builds | ||
run: | | ||
echo "CPYTHON_BUILDDIR=$(realpath -m ${GITHUB_WORKSPACE}/../cpython-builddir)" >> $GITHUB_ENV | ||
echo "CPYTHON_BUILDDIR=$(realpath -m "${GITHUB_WORKSPACE}"/../cpython-builddir)" >> "$GITHUB_ENV" | ||
- name: "Create hypothesis venv" | ||
working-directory: ${{ env.CPYTHON_BUILDDIR }} | ||
run: | | ||
VENV_LOC=$(realpath -m .)/hypovenv | ||
VENV_PYTHON=$VENV_LOC/bin/python | ||
echo "HYPOVENV=${VENV_LOC}" >> $GITHUB_ENV | ||
echo "VENV_PYTHON=${VENV_PYTHON}" >> $GITHUB_ENV | ||
./python -m venv $VENV_LOC && $VENV_PYTHON -m pip install -r ${GITHUB_WORKSPACE}/Tools/requirements-hypothesis.txt | ||
echo "HYPOVENV=${VENV_LOC}" >> "$GITHUB_ENV" | ||
echo "VENV_PYTHON=${VENV_PYTHON}" >> "$GITHUB_ENV" | ||
./python -m venv "$VENV_LOC" && "$VENV_PYTHON" -m pip install -r "${GITHUB_WORKSPACE}/Tools/requirements-hypothesis.txt" | ||
- name: 'Restore Hypothesis database' | ||
id: cache-hypothesis-database | ||
uses: actions/cache@v4 | ||
|
@@ -411,18 +411,21 @@ jobs: | |
|
||
build_asan: | ||
name: 'Address sanitizer' | ||
runs-on: ubuntu-22.04 | ||
runs-on: ${{ matrix.os }} | ||
timeout-minutes: 60 | ||
needs: check_source | ||
if: needs.check_source.outputs.run_tests == 'true' | ||
strategy: | ||
matrix: | ||
os: [ubuntu-24.04] | ||
env: | ||
OPENSSL_VER: 3.0.15 | ||
PYTHONSTRICTEXTENSIONBUILD: 1 | ||
ASAN_OPTIONS: detect_leaks=0:allocator_may_return_null=1:handle_segv=0 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Runner image version | ||
run: echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV | ||
run: echo "IMAGE_VERSION=${ImageVersion}" >> "$GITHUB_ENV" | ||
- name: Restore config.cache | ||
uses: actions/cache@v4 | ||
with: | ||
|
@@ -438,9 +441,9 @@ jobs: | |
version: 10 | ||
- name: Configure OpenSSL env vars | ||
run: | | ||
echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> $GITHUB_ENV | ||
echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> $GITHUB_ENV | ||
echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> $GITHUB_ENV | ||
echo "MULTISSL_DIR=${GITHUB_WORKSPACE}/multissl" >> "$GITHUB_ENV" | ||
echo "OPENSSL_DIR=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}" >> "$GITHUB_ENV" | ||
echo "LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/multissl/openssl/${OPENSSL_VER}/lib" >> "$GITHUB_ENV" | ||
- name: 'Restore OpenSSL build' | ||
id: cache-openssl | ||
uses: actions/cache@v4 | ||
|
@@ -449,10 +452,10 @@ jobs: | |
key: ${{ matrix.os }}-multissl-openssl-${{ env.OPENSSL_VER }} | ||
- name: Install OpenSSL | ||
if: steps.cache-openssl.outputs.cache-hit != 'true' | ||
run: python3 Tools/ssl/multissltests.py --steps=library --base-directory $MULTISSL_DIR --openssl $OPENSSL_VER --system Linux | ||
run: python3 Tools/ssl/multissltests.py --steps=library --base-directory "$MULTISSL_DIR" --openssl "$OPENSSL_VER" --system Linux | ||
- name: Add ccache to PATH | ||
run: | | ||
echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV | ||
echo "PATH=/usr/lib/ccache:$PATH" >> "$GITHUB_ENV" | ||
- name: Configure ccache action | ||
uses: hendrikmuhs/[email protected] | ||
with: | ||
|
@@ -465,7 +468,7 @@ jobs: | |
- name: Display build info | ||
run: make pythoninfo | ||
- name: Tests | ||
run: xvfb-run make test | ||
run: xvfb-run make ci | ||
|
||
build_tsan: | ||
name: 'Thread sanitizer' | ||
|
Oops, something went wrong.