sync with SVF #99
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: svf-teaching | |
# Triggers the workflow on push or pull request events | |
on: [push, pull_request] | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
env: | |
XCODE_VERSION: '15.3.0' | |
steps: | |
# checkout the repo | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
# setup the mac/ubuntu environment | |
- name: mac-setup | |
if: runner.os == 'macOS' | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: ${{ env.XCODE_VERSION }} | |
- name: mac-setup-workaround | |
if: runner.os == 'macOS' | |
run: ln -sfn /Applications/Xcode_${{ env.XCODE_VERSION }}.app /Applications/Xcode.app | |
- name: ubuntu-setup | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt-get update | |
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test | |
sudo apt-get update | |
sudo apt-get install cmake gcc g++ nodejs doxygen graphviz lcov libncurses5-dev libtinfo5 libzstd-dev | |
# install llvm and svf | |
- name: env-setup | |
run: | | |
npm install svf-lib | |
# set SVF_DIR, LLVM_DIR and Z3_DIR and build | |
- name: build | |
run: | | |
export SVF_DIR=$(npm root)/SVF | |
export LLVM_DIR=$(npm root)/llvm-16.0.0.obj | |
export Z3_DIR=$(npm root)/z3.obj | |
echo "SVF_DIR="$SVF_DIR | |
echo "LLVM_DIR="$LLVM_DIR | |
echo "Z3_DIR="$Z3_DIR | |
cmake . | |
make |