[3.13] Add the Python 3.13 abidump, and enable the ABI check. (#122583)

dd the Python 3.13 abidump, and enable the ABI check.

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
This commit is contained in:
T. Wouters 2024-08-02 13:18:49 +02:00 committed by GitHub
parent bc1e522efc
commit 9f488f9358
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 29613 additions and 2 deletions

View File

@ -40,6 +40,49 @@ jobs:
if: fromJSON(needs.check_source.outputs.run-docs)
uses: ./.github/workflows/reusable-docs.yml
check_abi:
name: 'Check if the ABI has changed'
runs-on: ubuntu-latest
needs: check_source
if: needs.check_source.outputs.run_tests == 'true'
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- name: Install dependencies
run: |
sudo ./.github/workflows/posix-deps-apt.sh
sudo apt-get install -yq abigail-tools
- name: Build CPython
env:
CFLAGS: -g3 -O0
run: |
# Build Python with the libpython dynamic library
./configure --enable-shared
make -j4
- name: Check for changes in the ABI
id: check
run: |
if ! make check-abidump; then
echo "Generated ABI file is not up to date."
echo "Please add the release manager of this branch as a reviewer of this PR."
echo ""
echo "The up to date ABI file should be attached to this build as an artifact."
echo ""
echo "To learn more about this check: https://devguide.python.org/getting-started/setup-building/index.html#regenerate-the-abi-dump"
echo ""
exit 1
fi
- name: Generate updated ABI files
if: ${{ failure() && steps.check.conclusion == 'failure' }}
run: |
make regen-abidump
- uses: actions/upload-artifact@v4
name: Publish updated ABI files
if: ${{ failure() && steps.check.conclusion == 'failure' }}
with:
name: abi-data
path: ./Doc/data/*.abi
check_generated_files:
name: 'Check if generated files are up to date'
# Don't use ubuntu-latest but a specific version to make the job

2
.gitignore vendored
View File

@ -169,5 +169,3 @@ Python/frozen_modules/MANIFEST
/python
!/Python/
# main branch only: ABI files are not checked/maintained.
Doc/data/python*.abi

29570
Doc/data/python3.13.abi Normal file

File diff suppressed because it is too large Load Diff