Libfuse check ABI differences with 'abidiff'
authorBernd Schubert <bschubert@ddn.com>
Tue, 24 Sep 2024 15:54:40 +0000 (17:54 +0200)
committerBernd Schubert <bernd.schubert@fastmail.fm>
Tue, 24 Sep 2024 18:21:16 +0000 (20:21 +0200)
.github/workflows/abicheck.yml [new file with mode: 0644]
.github/workflows/pr-ci.yml

diff --git a/.github/workflows/abicheck.yml b/.github/workflows/abicheck.yml
new file mode 100644 (file)
index 0000000..77702f4
--- /dev/null
@@ -0,0 +1,66 @@
+---
+name: 'libfuse ABI check'
+
+on:
+  push:
+    branches:
+      - master
+  pull_request:
+    branches:
+      - master
+
+permissions:
+  contents: read
+
+jobs:
+  abi:
+    runs-on: '${{ matrix.os }}'
+    strategy:
+      matrix:
+        os:
+          - ubuntu-latest
+
+    steps:
+      - name: Install dependencies (Ubuntu)
+        if: runner.os == 'Linux'
+        run: |
+          sudo apt-get update
+          sudo apt-get -y install abigail-tools clang gcc
+
+      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+        with:
+          path: current
+
+      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
+        with:
+          path: previous
+          fetch-depth: 2
+
+      - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
+        with:
+          python-version: '3.12'
+
+      - name: Checkout previous
+        working-directory: previous
+        run: git checkout HEAD^
+
+      - name: Build current
+        working-directory: current
+        run: |
+          pip install -r requirements.txt
+          meson setup build --buildtype=debug
+          meson compile -C build
+
+      - name: Build previous
+        working-directory: previous
+        run: |
+          pip install -r requirements.txt
+          meson setup build --buildtype=debug
+          meson compile -C build
+
+      - name: Run abidiff
+        run: abidiff 
+          --headers-dir1 previous/include/ 
+          --headers-dir2 current/include/ 
+          previous/build/lib/libfuse3.so 
+          current/build/lib/libfuse3.so
index 7bc7a35c180fd9aa0a5642f880285ed03aae94d9..33eecf36f986e99cf40a63d78caa18f675984592 100644 (file)
@@ -1,3 +1,4 @@
+---
 name: 'Build & Test'
 on:
   push: