mirror of
git://sourceware.org/git/libabigail.git
synced 2024-12-23 18:22:08 +00:00
d7557e8c25
To facilitate collaboration with developers working on the BUILD-SI project who are using github, I have been maintaining a clone of the libabigail repo there. Having this repo also allows us to leverage some of the tooling that github provides, in particular the ability to have github actions test patches to verify that the builds succeed, and all the regression tests run successfully. This will allow it to better integrate with the normal agile workflow used by at least this community of developers. * .github/workflows/build-container.yaml: New file. * .github/workflows/libabigail.yaml: Likewise. * .github/workflows/test.yaml: Likewise. * .github/workflows/test-fedora.yaml: Likewise. * .github/README.md: Likewise. * docker/Dockerfile.fedora: Likewise. * docker/Dockerfile.ubuntu: Likewise. * docker/Dockerfile.fedora-base: Likewise. * docker/Dockerfile.test: Likewise. * README-DOCKER.md: Likewise. Signed-off-by: Vanessa Sochat <sochat1@llnl.gov> Reviewed-by: Ben Woodard <woodard@redhat.com> Signed-off-by: Dodji Seketeli <dodji@redhat.com>
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 }}"
|