mirror of https://github.com/python/cpython
[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:
parent
bc1e522efc
commit
9f488f9358
|
@ -40,6 +40,49 @@ jobs:
|
||||||
if: fromJSON(needs.check_source.outputs.run-docs)
|
if: fromJSON(needs.check_source.outputs.run-docs)
|
||||||
uses: ./.github/workflows/reusable-docs.yml
|
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:
|
check_generated_files:
|
||||||
name: 'Check if generated files are up to date'
|
name: 'Check if generated files are up to date'
|
||||||
# Don't use ubuntu-latest but a specific version to make the job
|
# Don't use ubuntu-latest but a specific version to make the job
|
||||||
|
|
|
@ -169,5 +169,3 @@ Python/frozen_modules/MANIFEST
|
||||||
/python
|
/python
|
||||||
!/Python/
|
!/Python/
|
||||||
|
|
||||||
# main branch only: ABI files are not checked/maintained.
|
|
||||||
Doc/data/python*.abi
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue