--- name: 'libfuse ABI check' on: push: branches: - master - 'fuse-[0-9]+.[0-9]+*' # This will match branches like 3.17, 3.18, 4.0, etc. pull_request: branches: - master - 'fuse-[0-9]+.[0-9]+*' 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 liburing-dev libnuma-dev - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: path: current - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 with: path: previous ref: ${{ github.event.pull_request.base.ref }} - uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 with: python-version: '3.12' - 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: | echo "Commit-id before PR: $(git show HEAD)" pip install -r requirements.txt meson setup build --buildtype=debug meson compile -C build - name: Run abidiff run: abidiff --no-added-syms --headers-dir1 previous/include/ --headers-dir2 current/include/ previous/build/lib/libfuse3.so current/build/lib/libfuse3.so