Skip to content

BDD/RelPrev/Renaming #914

BDD/RelPrev/Renaming

BDD/RelPrev/Renaming #914

Workflow file for this run

name: 'system test'
on:
pull_request:
branches: [ main ]
jobs:
fetch-branch:
name: 'Fetch branch name'
runs-on: ubuntu-latest
steps:
- id: identify
run: echo "##[set-output name=branch;]$(echo ${GITHUB_HEAD_REF#refs/heads/})"
outputs:
branch: ${{ steps.identify.outputs.branch }}
skip_duplicate:
name: 'Skip Job?'
continue-on-error: true
runs-on: ubuntu-latest
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@master
with:
paths: '["src/adiar/**", ".github/workflows/system_test.yml"]'
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
run-n:
name: 'System Test: ${{ matrix.name }}'
runs-on: ubuntu-latest
needs: [fetch-branch, skip_duplicate]
if: ${{ needs.skip_duplicate.outputs.should_skip != 'true' && github.event.pull_request.draft != true }}
strategy:
fail-fast: false
matrix:
include:
- name: 'Hamiltonian (ZDD)'
exec: adiar_hamiltonian_zdd
N: '1 2 3 4 5 6 7'
- name: 'Queens (BDD)'
exec: adiar_queens_bdd
N: '8 9 10 11 12 13 14'
- name: 'Queens (ZDD)'
exec: adiar_queens_zdd
N: '8 9 10 11 12 13 14'
- name: 'Tic-Tac-Toe (BDD)'
exec: adiar_tic-tac-toe_bdd
N: '18 19 20 21 22'
- name: 'Tic-Tac-Toe (ZDD)'
exec: adiar_tic-tac-toe_zdd
N: '18 19 20 21 22'
steps:
- name: Git | checkout SSoelvsten/BDD-Benchmark
uses: actions/checkout@v4
with:
repository: 'ssoelvsten/bdd-benchmark'
submodules: 'recursive'
fetch-depth: '0'
- name: Git | checkout pull request
run: |
cd external/adiar
git remote set-url origin https://github.com/${{ github.event.pull_request.head.repo.full_name }}.git
git fetch
git checkout ${{ needs.fetch-branch.outputs.branch }}
git submodule update --init --recursive
git status
- name: Apt | install boost
run: |
sudo apt update
sudo apt install libboost-all-dev
- name: CMake | build
run: |
cmake -E make_directory build
cd build
cmake ../ -D CMAKE_BUILD_TYPE=Release && cmake --build . --target ${{ matrix.exec }}
- name: Run Benchmark
run: for n in ${{ matrix.N }}; do build/src/${{ matrix.exec }} -N $n -M 1024; done
run-picotrav:
name: 'System Test: Picotrav (${{ matrix.name }})'
runs-on: ubuntu-latest
needs: [fetch-branch, skip_duplicate]
if: ${{ needs.skip_duplicate.outputs.should_skip != 'true' }}
strategy:
fail-fast: false
matrix:
include:
- name: 'arithmetic'
circuits: 'adder'
order: 'LEVEL_DF'
- name: 'random_control'
circuits: 'cavlc ctrl dec int2float i2c priority router'
order: 'INPUT'
steps:
- name: Git | checkout ssoelvsten/bdd-benchmark
uses: actions/checkout@v4
with:
repository: 'ssoelvsten/bdd-benchmark'
submodules: 'recursive'
fetch-depth: '0'
- name: Git | clone lsils/benchmarks
run: |
git clone https://github.com/lsils/benchmarks.git ../epfl
- name: Git | checkout pull request
run: |
cd external/adiar
git remote set-url origin https://github.com/${{ github.event.pull_request.head.repo.full_name }}.git
git fetch
git checkout ${{ needs.fetch-branch.outputs.branch }}
git submodule update --init --recursive
git status
- name: Apt | install boost
run: |
sudo apt update
sudo apt install libboost-all-dev
- name: CMake | build
run: |
cmake -E make_directory build
cd build
cmake ../ -D CMAKE_BUILD_TYPE=Release && cmake --build . --target adiar_picotrav_bdd
- name: Run Benchmarks
run: |
for spec in ${{ matrix.circuits }} ; do \
for opt in ../epfl/best_results/**/$spec* ; do \
build/src/adiar_picotrav_bdd -f ../epfl/${{ matrix.name }}/$spec.blif -f $opt -o ${{ matrix.order }} -M 1024 ; \
done ; \
done
run-dummy:
name: 'System Test: ${{ matrix.name }}'
runs-on: ubuntu-latest
needs: [fetch-branch, skip_duplicate]
if: ${{ needs.skip_duplicate.outputs.should_skip == 'true' || github.event.pull_request.draft == true }}
strategy:
matrix:
include:
- name: 'Knights Tour (ZDD)'
- name: 'Queens (BDD)'
- name: 'Queens (ZDD)'
- name: 'Tic-Tac-Toe (BDD)'
- name: 'Tic-Tac-Toe (ZDD)'
- name: 'Picotrav (arithmetic)'
- name: 'Picotrav (random_control)'
steps:
- name: Echo skip
run: |
echo "Running benchmark is skipped"