1e01aa904Sopenharmony_ciname: Libabigail ABI Diff Checks
2e01aa904Sopenharmony_cion:
3e01aa904Sopenharmony_ci  pull_request: []
4e01aa904Sopenharmony_ci
5e01aa904Sopenharmony_cijobs:
6e01aa904Sopenharmony_ci  abi:
7e01aa904Sopenharmony_ci    runs-on: ubuntu-latest
8e01aa904Sopenharmony_ci    container: ghcr.io/woodard/libabigail
9e01aa904Sopenharmony_ci    strategy:
10e01aa904Sopenharmony_ci      fail-fast: false
11e01aa904Sopenharmony_ci      matrix:
12e01aa904Sopenharmony_ci
13e01aa904Sopenharmony_ci        # Pairs of path and install command
14e01aa904Sopenharmony_ci        libs: [["/lib64/libabigail.so", "libabigail"],
15e01aa904Sopenharmony_ci               ["/lib64/libadwaitaqtpriv.so", "libadwaita-qt5"],
16e01aa904Sopenharmony_ci               ["/lib64/libaspell.so", "aspell"],
17e01aa904Sopenharmony_ci               ["/lib64/libboost_log.so", "boost-log"],
18e01aa904Sopenharmony_ci               ["/lib64/libclucene-core.so", "clucene-core"],
19e01aa904Sopenharmony_ci               ["/lib64/libdap.so", "libdap"],
20e01aa904Sopenharmony_ci               ["/lib64/libdcerpc-samr.so", "samba-libs"],
21e01aa904Sopenharmony_ci               ["/lib64/libdjvulibre.so", "djvulibre-libs"],
22e01aa904Sopenharmony_ci               ["/lib64/dovecot/libdovecot-storage.so", "dovecot"],
23e01aa904Sopenharmony_ci               ["/lib64/libexiv2.so", "exiv2-libs"],
24e01aa904Sopenharmony_ci               ["/lib64/libgdal.so", "gdal-libs"],
25e01aa904Sopenharmony_ci               ["/lib64/libgeos.so", "geos"],
26e01aa904Sopenharmony_ci               ["/lib64/libglibmm-2.4.so", "glibmm24"],
27e01aa904Sopenharmony_ci               ["/lib64/mozilla/plugins/gmp-gmpopenh264/system-installed/libgmpopenh264.so", "mozilla-openh264"],
28e01aa904Sopenharmony_ci               ["/lib64/libhdf5_cpp.so", "hdf5"],
29e01aa904Sopenharmony_ci               ["/lib64/libicui18n.so", "libicu67"],
30e01aa904Sopenharmony_ci               ["/lib64/libicui18n.so", "libicu"],
31e01aa904Sopenharmony_ci               ["/lib64/libicuuc.so", "libicu67"],
32e01aa904Sopenharmony_ci               ["/lib64/libicuuc.so", "libicu"],
33e01aa904Sopenharmony_ci               ["/lib64/dyninst/libinstructionAPI.so", "dyninst"],
34e01aa904Sopenharmony_ci               ["/lib64/libjavascriptcoregtk-4.0.so", "webkit2gtk3-jsc"],
35e01aa904Sopenharmony_ci               ["/lib64/libjxl.so", "libjxl"],
36e01aa904Sopenharmony_ci               ["/lib64/libkmldom.so", "libkml"],
37e01aa904Sopenharmony_ci               ["/lib64/libmusicbrainz5.so", "libmusicbrainz5"],
38e01aa904Sopenharmony_ci               ["/lib64/libOpenEXRUtil-3_1.so", "openexr-libs"],
39e01aa904Sopenharmony_ci               ["/lib64/libopenh264.so", "openh264"],
40e01aa904Sopenharmony_ci               ["/lib64/libOSMesa.so", "mesa-libOSMesa"],
41e01aa904Sopenharmony_ci               ["/lib64/libproj.so", "proj"],
42e01aa904Sopenharmony_ci               ["/lib64/libQt5WaylandClient.so", "qt5-qtwayland"],
43e01aa904Sopenharmony_ci               ["/lib64/libQt5WaylandCompositor.so", "qt5-qtwayland"],
44e01aa904Sopenharmony_ci               ["/lib64/libQt5XmlPatterns.so", "qt5-qtxmlpatterns"],
45e01aa904Sopenharmony_ci               ["/lib64/libSDL2_image-2.0.so", "SDL2_image"],
46e01aa904Sopenharmony_ci               ["/lib64/libstdc++.so", "libstdc++"],
47e01aa904Sopenharmony_ci               ["/lib64/libtag.so", "taglib"],
48e01aa904Sopenharmony_ci               ["/lib64/libreoffice/program/libuno_cppuhelpergcc3.so", "libreoffice-ure"],
49e01aa904Sopenharmony_ci               ["/lib64/libvtkRenderingCore.so", "vtk"],
50e01aa904Sopenharmony_ci               ["/lib64/libwebrtc_audio_processing.so", "webrtc-audio-processing"]]
51e01aa904Sopenharmony_ci    steps:
52e01aa904Sopenharmony_ci    - name: Install Library
53e01aa904Sopenharmony_ci      env:
54e01aa904Sopenharmony_ci        lib: ${{ matrix.libs[1] }}
55e01aa904Sopenharmony_ci      run: dnf install -y ${lib} findutils
56e01aa904Sopenharmony_ci
57e01aa904Sopenharmony_ci    - name: Run abidw abidiff
58e01aa904Sopenharmony_ci      env:
59e01aa904Sopenharmony_ci        libpath: ${{ matrix.libs[0] }}
60e01aa904Sopenharmony_ci      run: |
61e01aa904Sopenharmony_ci        for name in $(find -type f $libpath*); do
62e01aa904Sopenharmony_ci          printf "abidw --abidiff ${name}\n"
63e01aa904Sopenharmony_ci          abidw --abidiff ${name}
64e01aa904Sopenharmony_ci          echo $?
65e01aa904Sopenharmony_ci        done
66