# SPDX-FileCopyrightText: 2025 Andrea Pappacoda <andrea@pappacoda.it> # SPDX-License-Identifier: MIT name: abidiff on: [push, pull_request] concurrency: group: ${{ github.workflow }}-${{ github.ref || github.run_id }} cancel-in-progress: true defaults: run: shell: sh jobs: abi: runs-on: ubuntu-latest if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name container: image: debian:testing steps: - name: Install dependencies run: apt -y --update install --no-install-recommends abigail-tools ca-certificates g++ git libbrotli-dev libssl-dev meson pkg-config python3 zlib1g-dev - uses: actions/checkout@v4 with: path: current - uses: actions/checkout@v4 with: path: previous fetch-depth: 0 - name: Checkout previous working-directory: previous run: | git switch master git describe --tags --abbrev=0 master | xargs git checkout - name: Build current working-directory: current run: | meson setup --buildtype=debug -Dcpp-httplib_compile=true build ninja -C build - name: Build previous working-directory: previous run: | meson setup --buildtype=debug -Dcpp-httplib_compile=true build ninja -C build - name: Run abidiff run: abidiff --headers-dir1 previous/build --headers-dir2 current/build previous/build/libcpp-httplib.so current/build/libcpp-httplib.so