Integrate ABI diffing into CI scripts ##build, closes #21055

This commit is contained in:
Mohamed Lemine Ould El-Hadj 2022-12-28 18:41:39 -05:00 committed by pancake
parent dfbfb75bb2
commit 1a8be05a48

View File

@ -520,6 +520,39 @@ jobs:
# path: radare2-freebsd.tgz
check_abi_compatibility:
needs:
- linux-static
runs-on: ubuntu-latest
defaults:
run:
shell: bash
working-directory: /tmp
steps:
- name: Install dependencies
run: |
sudo apt-get --assume-yes update
sudo apt install --assume-yes abigail-tools wget
- name: Download Build
uses: actions/download-artifact@v3
with:
name: linux-static
path: /tmp
- name: Download latest release
run: |
DOWNLOAD_URL=$(curl -s https://api.github.com/repos/radareorg/radare2/releases/latest | jq -r '.assets[] | select(.name | startswith("radare2")) | select(.name | endswith("static.tar.xz")) | .browser_download_url')
wget -O r2-static-latest.tar.xz $DOWNLOAD_URL
- name: Untar
run: |
mkdir r2-static
tar -xvf r2-static.tar.xz -C r2-static --strip-components=1
mkdir r2-static-latest
tar -xvf r2-static-latest.tar.xz -C r2-static-latest --strip-components=1
- name: ABI compatibility check
run: |
for lib in r2-static-latest/usr/lib/libr_*.so; do abidiff --no-show-locs ${lib} r2-static/usr/lib/$(basename ${lib}); done
# Release creation
check_release:
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}