summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartijn van Beurden <mvanb1@gmail.com>2022-08-22 16:07:25 +0200
committerGitHub <noreply@github.com>2022-08-22 16:07:25 +0200
commitcd031fb7a96917cae07ed93388a26926e796a3f2 (patch)
tree0336adb5d36771bab81232e26bd9ea3bf507e797
parentc90b3ea3c001785389b2f708621ba1e548276e3e (diff)
downloadflac-cd031fb7a96917cae07ed93388a26926e796a3f2.tar.gz
Add ABI check to CI
This adds a dump of current ABIs (which will probably be released as 1.4.0) to the test directory, and adds a comparison to current ABIs to the distcheck
-rw-r--r--.github/workflows/distcheck.yml20
-rw-r--r--test/abi/abi-descriptor-libFLAC++-1.4.0.xml11
-rw-r--r--test/abi/abi-descriptor-libFLAC-1.4.0.xml11
-rw-r--r--test/abi/abi-libFLAC++-1.4.0.dump.xzbin0 -> 95340 bytes
-rw-r--r--test/abi/abi-libFLAC-1.4.0.dump.xzbin0 -> 36248 bytes
5 files changed, 37 insertions, 5 deletions
diff --git a/.github/workflows/distcheck.yml b/.github/workflows/distcheck.yml
index 56f9c5f3..f28774c8 100644
--- a/.github/workflows/distcheck.yml
+++ b/.github/workflows/distcheck.yml
@@ -1,4 +1,4 @@
-name: Autotools distcheck
+name: Autotools distcheck and ABI check
on:
push:
@@ -9,14 +9,14 @@ on:
jobs:
distcheck:
- runs-on: ubuntu-latest
+ runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- name: Install Linux dependencies
run: |
sudo apt-get update
- sudo apt-get install -y libtool-bin libogg-dev doxygen libxml2-utils w3c-sgml-lib pandoc
+ sudo apt-get install -y libtool-bin libogg-dev doxygen libxml2-utils w3c-sgml-lib pandoc abi-compliance-checker
- name: Build with Autotools
run: |
@@ -26,9 +26,19 @@ jobs:
- name: Build and check source package
run: make distcheck
+ - name: Check binary compatibility
+ run: |
+ make
+ unxz --keep test/abi/abi-libFLAC-1.4.0.dump.xz
+ unxz --keep test/abi/abi-libFLAC++-1.4.0.dump.xz
+ abi-compliance-checker -l flac -old test/abi/abi-libFLAC-1.4.0.dump -new test/abi/abi-descriptor-libFLAC-1.4.0.xml
+ abi-compliance-checker -l flac++ -old test/abi/abi-libFLAC++-1.4.0.dump -new test/abi/abi-descriptor-libFLAC++-1.4.0.xml
+
- name: Upload logs on failure
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v3
if: failure()
with:
name: flac-${{ github.sha }}-${{ github.run_id }}-logs
- path: ./**/*.log
+ path: |
+ ./flac-**/**/*.log
+ ./compat_reports
diff --git a/test/abi/abi-descriptor-libFLAC++-1.4.0.xml b/test/abi/abi-descriptor-libFLAC++-1.4.0.xml
new file mode 100644
index 00000000..4d19b282
--- /dev/null
+++ b/test/abi/abi-descriptor-libFLAC++-1.4.0.xml
@@ -0,0 +1,11 @@
+<version>
+ 1.4.0
+</version>
+
+<headers>
+ include/FLAC++/all.h
+</headers>
+
+<libs>
+ src/libFLAC++/.libs/libFLAC++.so.10.0.0
+</libs>
diff --git a/test/abi/abi-descriptor-libFLAC-1.4.0.xml b/test/abi/abi-descriptor-libFLAC-1.4.0.xml
new file mode 100644
index 00000000..75f9b75a
--- /dev/null
+++ b/test/abi/abi-descriptor-libFLAC-1.4.0.xml
@@ -0,0 +1,11 @@
+<version>
+ 1.4.0
+</version>
+
+<headers>
+ include/FLAC/all.h
+</headers>
+
+<libs>
+ src/libFLAC/.libs/libFLAC.so.12.0.0
+</libs>
diff --git a/test/abi/abi-libFLAC++-1.4.0.dump.xz b/test/abi/abi-libFLAC++-1.4.0.dump.xz
new file mode 100644
index 00000000..35a8f6b4
--- /dev/null
+++ b/test/abi/abi-libFLAC++-1.4.0.dump.xz
Binary files differ
diff --git a/test/abi/abi-libFLAC-1.4.0.dump.xz b/test/abi/abi-libFLAC-1.4.0.dump.xz
new file mode 100644
index 00000000..193d54a3
--- /dev/null
+++ b/test/abi/abi-libFLAC-1.4.0.dump.xz
Binary files differ