abidiff.yaml 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. # SPDX-FileCopyrightText: 2025 Andrea Pappacoda <andrea@pappacoda.it>
  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. container:
  12. image: debian:testing
  13. steps:
  14. - name: Install dependencies
  15. run: apt -y --update install --no-install-recommends
  16. abigail-tools
  17. ca-certificates
  18. g++
  19. git
  20. libbrotli-dev
  21. libssl-dev
  22. meson
  23. pkg-config
  24. python3
  25. zlib1g-dev
  26. - uses: actions/checkout@v4
  27. with:
  28. path: current
  29. - uses: actions/checkout@v4
  30. with:
  31. path: previous
  32. fetch-depth: 0
  33. - name: Checkout previous
  34. working-directory: previous
  35. run: |
  36. git switch master
  37. git describe --tags --abbrev=0 master | xargs git checkout
  38. - name: Build current
  39. working-directory: current
  40. run: |
  41. meson setup --buildtype=debug -Dcpp-httplib_compile=true build
  42. ninja -C build
  43. - name: Build previous
  44. working-directory: previous
  45. run: |
  46. meson setup --buildtype=debug -Dcpp-httplib_compile=true build
  47. ninja -C build
  48. - name: Run abidiff
  49. run: abidiff
  50. --headers-dir1 previous/build
  51. --headers-dir2 current/build
  52. previous/build/libcpp-httplib.so
  53. current/build/libcpp-httplib.so