Skip to content

EqBench: Enable to run analysis in CI #32

EqBench: Enable to run analysis in CI

EqBench: Enable to run analysis in CI #32

Workflow file for this run

name: Analysis of DiffKemp equivalence checking
on: [workflow_dispatch, push]
jobs:
EqBench:
runs-on: ubuntu-latest
# todo refactor with ci.yaml - maybe creating action for building diffkemp
env:
llvm: 16
CC: gcc-9
CXX: g++-9
asan: OFF
steps:
- uses: actions/checkout@v3
- name: Checkout on upstream master
working-directory: ${{ github.workspace }}
run: |
git config --global user.email "test@example.com"
git config --global user.name "test"
git remote add upstream https://github.com/viktormalik/diffkemp.git
git fetch upstream --depth=1
git rebase upstream/master
- name: Get EqBench
working-directory: ${{ github.workspace }}
run: |
git clone https://github.com/shrBadihi/EqBench.git
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: 3.9
- name: Install Dependencies
working-directory: ${{ github.workspace }}
shell: bash
run: |
sudo apt-get install bc cscope libelf-dev ninja-build
pip install -r requirements.txt
- name: Install LLVM
run: |
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo add-apt-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-${llvm} main"
sudo apt-get update
sudo apt-get install llvm-${llvm} llvm-${llvm}-dev clang-${llvm}
sudo ln -s /usr/lib/llvm-${llvm} /usr/local/lib/llvm
echo "/usr/lib/llvm-${llvm}/bin" >> $GITHUB_PATH
- name: Prepare Build Environment
run: |
mkdir -p ${{ github.workspace }}/build
- name: CMake
working-directory: ${{ github.workspace }}/build
shell: bash
run: cmake $GITHUB_WORKSPACE -GNinja -DSANITIZE_ADDRESS=${{ env.asan }} -DVENDOR_GTEST=On
- name: Build
working-directory: ${{ github.workspace }}/build
run: ninja
- name: Install EqBench runner dependencies
run: |
pip3 install tabulate progressbar
- name: Install
working-directory: ${{ github.workspace }}
run: pip3 install -e .
- name: Run analysis
working-directory: ${{ github.workspace }}
run: |
eqbench_scripts/analysis compare-multiple eqbench-results EqBench