diff --git a/.github/workflows/regen-abidump.sh b/.github/workflows/regen-abidump.sh new file mode 100644 index 00000000000..251bb3857ec --- /dev/null +++ b/.github/workflows/regen-abidump.sh @@ -0,0 +1,8 @@ +set -ex + +export DEBIAN_FRONTEND=noninteractive +./.github/workflows/posix-deps-apt.sh +apt-get install -yq abigail-tools python3 +export CFLAGS="-g3 -O0" +./configure --enable-shared && make +make regen-abidump diff --git a/.gitignore b/.gitignore index b3b22f471c2..0ddfd717d73 100644 --- a/.gitignore +++ b/.gitignore @@ -150,3 +150,6 @@ Python/frozen_modules/MANIFEST # Ignore ./python binary on Unix but still look into ./Python/ directory. /python !/Python/ + +# main branch only: ABI files are not checked/maintained +Doc/data/python*.abi diff --git a/Makefile.pre.in b/Makefile.pre.in index 20fc89eb767..102cd752c39 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -1204,7 +1204,7 @@ regen-global-objects: $(srcdir)/Tools/scripts/generate_global_objects.py regen-abidump: all @$(MKDIR_P) $(srcdir)/Doc/data/ abidw "libpython$(LDVERSION).so" --no-architecture --out-file $(srcdir)/Doc/data/python$(LDVERSION).abi.new - @$(UPDATE_FILE) $(srcdir)/Doc/data/python$(LDVERSION).abi $(srcdir)/Doc/data/python$(LDVERSION).abi.new + @$(UPDATE_FILE) --create $(srcdir)/Doc/data/python$(LDVERSION).abi $(srcdir)/Doc/data/python$(LDVERSION).abi.new check-abidump: all abidiff $(srcdir)/Doc/data/python$(LDVERSION).abi "libpython$(LDVERSION).so" --drop-private-types --no-architecture --no-added-syms