Skip to content

Commit

Permalink
use abigail to verify our api surface is compatible
Browse files Browse the repository at this point in the history
  • Loading branch information
folkertdev committed Dec 9, 2024
1 parent 05a52ff commit b988ebd
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion .github/workflows/checks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,10 @@ jobs:
- target: x86_64-unknown-linux-gnu
features:
- ''
runs-on: ubuntu-latest
# At the time of writing, 'latest' referred to ubuntu-22
# for libabigail we really need ubuntu-24, which just started getting rolled out
# In the future, this can likely be changed to `ubuntu-latest` again.
runs-on: ubuntu-24.04
steps:
- name: Checkout sources
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
Expand Down Expand Up @@ -379,3 +382,11 @@ jobs:
export LD_LIBRARY_PATH=/tmp/cargo-cbuild-libbzip2-rs/usr/local/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
./bzpipe < Cargo.toml | ./bzpipe -d > out.txt
cmp -s Cargo.toml out.txt
- name: verify api surface with abigail
run: |
sudo apt install libbz2-dev abigail-tools
LIBBZ2_PATH=$(ldconfig -p | grep "x86_64-linux-gnu/libbz2.so" | head -n 1 | awk '{print $4}')
LIBBZ2_FILENAME=$(basename "$LIBBZ2_PATH")
abidw $LIBBZ2_PATH > /tmp/$LIBBZ2_FILENAME.abi
abidw /tmp/cargo-cbuild-libbzip2-rs/usr/local/lib/x86_64-linux-gnu/libbz2_rs.so > /tmp/liblibz_rs_sys.so.abi
abidiff --no-unreferenced-symbols --ignore-soname /tmp/$LIBBZ2_FILENAME.abi /tmp/liblibz_rs_sys.so.abi

0 comments on commit b988ebd

Please sign in to comment.