127 lines
3.3 KiB
YAML
127 lines
3.3 KiB
YAML
name: Libabigail ABI Checks
|
|
on:
|
|
pull_request: []
|
|
|
|
jobs:
|
|
|
|
# get-release:
|
|
# container: ghcr.io/woodard/libabigail-ubuntu-22.04:latest
|
|
# runs-on: ubuntu-latest
|
|
# steps:
|
|
# - name: Organize Files
|
|
# run: |
|
|
# mkdir -p /abi
|
|
# cp /opt/abigail-env/.spack-env/view/lib/libabigail.so /abi/
|
|
# cp /lib/x86_64-linux-gnu/libc.so.6 /abi/
|
|
# cp /lib/x86_64-linux-gnu/libstdc++.so.6 /abi/
|
|
# cp /lib/x86_64-linux-gnu/libsystemd.so.0 /abi/
|
|
|
|
# - name: Upload Libs
|
|
# uses: actions/upload-artifact@v3
|
|
# with:
|
|
# name: release-libs
|
|
# path: |
|
|
# /abi/libabigail.so
|
|
# /abi/libc.so.6
|
|
# /abi/libstdc++.so.6
|
|
# /abi/libsystemd.so.0
|
|
|
|
|
|
get-latest:
|
|
container: ghcr.io/woodard/libabigail-ubuntu-22.04:latest
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Organize Files
|
|
run: |
|
|
mkdir -p /abi
|
|
cp /opt/abigail-env/.spack-env/view/lib/libabigail.so /abi/
|
|
cp /lib/x86_64-linux-gnu/libc.so.6 /abi/
|
|
cp /lib/x86_64-linux-gnu/libstdc++.so.6 /abi/
|
|
cp /lib/x86_64-linux-gnu/libsystemd.so.0 /abi/
|
|
|
|
- name: Upload Libs
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: latest-libs
|
|
path: |
|
|
/abi/libabigail.so
|
|
/abi/libc.so.6
|
|
/abi/libstdc++.so.6
|
|
/abi/libsystemd.so.0
|
|
|
|
get-pr:
|
|
container: ghcr.io/woodard/libabigail-ubuntu-22.04:latest
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Build Pull Request
|
|
uses: actions/checkout@v3
|
|
- name: Build
|
|
run: |
|
|
rm -rf /src
|
|
cp -R $PWD /src
|
|
ls /src
|
|
. /opt/spack/share/spack/setup-env.sh
|
|
cd /opt/abigail-env
|
|
spack install
|
|
|
|
- name: Organize Files
|
|
run: |
|
|
mkdir -p /abi
|
|
cp /opt/abigail-env/.spack-env/view/lib/libabigail.so /abi/
|
|
cp /lib/x86_64-linux-gnu/libc.so.6 /abi/
|
|
cp /lib/x86_64-linux-gnu/libstdc++.so.6 /abi/
|
|
cp /lib/x86_64-linux-gnu/libsystemd.so.0 /abi/
|
|
|
|
- name: Upload Libs
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: pr-libs
|
|
path: |
|
|
/abi/libabigail.so
|
|
/abi/libc.so.6
|
|
/abi/libstdc++.so.6
|
|
/abi/libsystemd.so.0
|
|
|
|
abi:
|
|
runs-on: ubuntu-latest
|
|
needs: [get-latest, get-pr] # get-release
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
|
|
# Testing every paired library for release vs pr and main vs. pr
|
|
libs: ["libabigail.so",
|
|
"libc.so.6",
|
|
"libstdc++.so.6",
|
|
"libsystemd.so.0"]
|
|
|
|
# Artifact pairs (named) for comparison)
|
|
artifacts: [["pr-libs", "latest-libs"]]
|
|
#["pr-libs", "release-libs"]]
|
|
|
|
steps:
|
|
- name: Download Previous Version
|
|
uses: actions/download-artifact@v2
|
|
with:
|
|
name: ${{ matrix.artifacts[1] }}
|
|
path: previous/
|
|
|
|
- name: Download Pull Request Version
|
|
uses: actions/download-artifact@v2
|
|
with:
|
|
name: ${{ matrix.artifacts[0] }}
|
|
path: current/
|
|
|
|
- name: Show Files
|
|
run: |
|
|
ls current/
|
|
ls previous/
|
|
|
|
- name: Run Libabigail
|
|
uses: buildsi/libabigail-action@0.0.11
|
|
env:
|
|
lib: ${{ matrix.libs }}
|
|
with:
|
|
abidiff: previous/${{ env.lib }} current/${{ env.lib }}
|
|
abidw: "--abidiff current/${{ env.lib }}"
|