From 1690d43f7ff16475df658d36856f103ae4dfae6c Mon Sep 17 00:00:00 2001 From: Bernd Schubert Date: Tue, 24 Sep 2024 17:54:40 +0200 Subject: [PATCH] Libfuse check ABI differences with 'abidiff' --- .github/workflows/abicheck.yml | 66 ++++++++++++++++++++++++++++++++++ .github/workflows/pr-ci.yml | 1 + 2 files changed, 67 insertions(+) create mode 100644 .github/workflows/abicheck.yml 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: -- 2.30.2