Skip to content

ABC Integration

ABC Integration #215

name: ABC Integration
on:
pull_request: {}
workflow_dispatch: {}
schedule:
# Run at 06:00 CET (05:00 UTC) every Friday
- cron: "0 5 * * 5"
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
defaults:
run:
shell: bash
jobs:
test-integration:
name: ABC Integration
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
steps:
- name: Install dependencies (Ubuntu)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y build-essential cmake libreadline-dev
- name: Install dependencies (macOS)
if: runner.os == 'macOS'
run: |
brew install bison flex
- name: Checkout ABC
uses: actions/checkout@v6
with:
repository: berkeley-abc/abc
path: abc
- name: Checkout ext-pexact plugin
uses: actions/checkout@v6
with:
path: abc/src/ext-pexact
- name: Build ABC with plugin
working-directory: abc
run: |
NPROC=$(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || echo 2)
make -j${NPROC}
- name: Test pexact command
working-directory: abc
run: |
if [ -f ./abc ]; then
ABC_BIN="./abc"
elif [ -f ./build/abc ]; then
ABC_BIN="./build/abc"
else
echo "Error: ABC executable not found"
ls -la . || dir
exit 1
fi
echo "Testing pexact command..."
$ABC_BIN -c "pexact"