Skip to content

Adapt to FLINT 3

Adapt to FLINT 3 #228

Workflow file for this run

name: ABI
on:
push: { branches: [ "master" ] }
pull_request: { branches: [ "master" ] }
concurrency:
group: abi-${{ github.ref }}
cancel-in-progress: true
jobs:
abi-compliance:
runs-on: ubuntu-20.04
strategy:
matrix:
include:
- libflint: 2
- libflint: 3
steps:
- uses: actions/checkout@v2
with: { submodules: recursive }
- uses: conda-incubator/setup-miniconda@v2
with: { miniforge-variant: "Mambaforge", miniforge-version: "latest" }
- name: install ABI checker
run: |
sudo apt update
sudo apt install abi-dumper abi-compliance-checker lynx
- name: install dependencies
shell: bash -l {0}
run: |
mamba env update --quiet -n test -f libexactreal/environment-flint2.yml
conda list
if: ${{ matrix.libflint == '2' }}
- name: install dependencies
shell: bash -l {0}
run: |
mamba env update --quiet -n test -f libexactreal/environment.yml
conda list
if: ${{ matrix.libflint == '3' }}
- name: configure & make
shell: bash -l {0}
run: |
cd libexactreal
./bootstrap
export CXXFLAGS="$CXXFLAGS -g -Og -fvisibility=hidden -fvisibility-inlines-hidden"
./configure --prefix="$PREFIX" --with-version-script
make
- name: check ABI compliance
run: |
echo "::group::creating ABI dump"
abi-dumper libexactreal/src/.libs/libexactreal.so -o libexactreal/test/ABI-new.dump
echo "::group::checking for removed symbols"
abi-compliance-checker -l libexactreal -old libexactreal/test/ABI${{ matrix.libflint }}.dump -new libexactreal/test/ABI-new.dump -stdout | lynx --dump -stdin
echo "::group::checking for new symbols"
abi-compliance-checker -l libexactreal -old libexactreal/test/ABI-new.dump -new libexactreal/test/ABI${{ matrix.libflint }}.dump -stdout | lynx --dump -stdin
- name: uploads new ABI
uses: actions/upload-artifact@v2
with:
name: ABI
path: libexactreal/test/ABI-new.dump
if: ${{ always() }}
- uses: flatsurf/actions/show-logs@main
if: ${{ always() }}
env:
MAKEFLAGS: -j2