| # 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 |
| libzstd-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 |