abidiff.yaml 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. # SPDX-FileCopyrightText: 2025 Andrea Pappacoda <[email protected]>
  2. # SPDX-License-Identifier: MIT
  3. name: abidiff
  4. on: [push, pull_request]
  5. defaults:
  6. run:
  7. shell: sh
  8. jobs:
  9. abi:
  10. runs-on: ubuntu-latest
  11. if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
  12. container:
  13. image: debian:testing
  14. steps:
  15. - name: Install dependencies
  16. run: apt -y --update install --no-install-recommends
  17. abigail-tools
  18. ca-certificates
  19. g++
  20. git
  21. libbrotli-dev
  22. libssl-dev
  23. meson
  24. pkg-config
  25. python3
  26. zlib1g-dev
  27. - uses: actions/checkout@v4
  28. with:
  29. path: current
  30. - uses: actions/checkout@v4
  31. with:
  32. path: previous
  33. fetch-depth: 0
  34. - name: Checkout previous
  35. working-directory: previous
  36. run: |
  37. git switch master
  38. git describe --tags --abbrev=0 master | xargs git checkout
  39. - name: Build current
  40. working-directory: current
  41. run: |
  42. meson setup --buildtype=debug -Dcpp-httplib_compile=true build
  43. ninja -C build
  44. - name: Build previous
  45. working-directory: previous
  46. run: |
  47. meson setup --buildtype=debug -Dcpp-httplib_compile=true build
  48. ninja -C build
  49. - name: Run abidiff
  50. run: abidiff
  51. --headers-dir1 previous/build
  52. --headers-dir2 current/build
  53. previous/build/libcpp-httplib.so
  54. current/build/libcpp-httplib.so