aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernd Schubert <bschubert@ddn.com>2024-09-24 17:54:40 +0200
committerBernd Schubert <bernd.schubert@fastmail.fm>2024-09-24 20:21:16 +0200
commit1690d43f7ff16475df658d36856f103ae4dfae6c (patch)
tree61cad06b2316c57adbb4f3f817ac1a344dbd25df
parente338c523633daa4f16403d23762c30be4fab068a (diff)
downloadlibfuse-1690d43f7ff16475df658d36856f103ae4dfae6c.tar.gz
Libfuse check ABI differences with 'abidiff'
-rw-r--r--.github/workflows/abicheck.yml66
-rw-r--r--.github/workflows/pr-ci.yml1
2 files changed, 67 insertions, 0 deletions
diff --git a/.github/workflows/abicheck.yml b/.github/workflows/abicheck.yml
new file mode 100644
index 0000000..77702f4
--- /dev/null
+++ b/.github/workflows/abicheck.yml
@@ -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
diff --git a/.github/workflows/pr-ci.yml b/.github/workflows/pr-ci.yml
index 7bc7a35..33eecf3 100644
--- a/.github/workflows/pr-ci.yml
+++ b/.github/workflows/pr-ci.yml
@@ -1,3 +1,4 @@
+---
name: 'Build & Test'
on:
push: