-
Notifications
You must be signed in to change notification settings - Fork 5
37 lines (35 loc) · 1.63 KB
/
build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
name: Build and test gazer
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Update apt
run: sudo apt-get update
- name: Set up dependencies
run: sudo apt-get install build-essential cmake wget lsb-release software-properties-common zlib1g-dev openjdk-11-jre python3 python3-pip python3-setuptools python3-psutil
- name: Set up some more dependencies
run: |
sudo apt-get install -y clang-9 llvm-9-dev llvm-9-tools llvm-9-runtime libboost-all-dev
sudo ln -sf /usr/bin/clang-9 /usr/bin/clang
sudo ln -s `which opt-9` /usr/bin/opt -f
sudo ln -s `which FileCheck-9` /usr/bin/FileCheck
sudo pip3 install lit
- name: Set up portfolio dependencies
run: sudo apt-get install perl libyaml-tiny-perl libproc-processtable-perl
- name: Build
run: cmake -DCMAKE_CXX_COMPILER=clang++-9 -DGAZER_ENABLE_UNIT_TESTS=On -DCMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=On . && make
- name: Get Theta
run: |
mkdir tools/gazer-theta/theta
mkdir tools/gazer-theta/theta/lib
wget "https://github.com/ftsrg/theta/releases/download/$THETA_VERSION/theta-cfa-cli.jar" -O tools/gazer-theta/theta/theta-cfa-cli.jar
wget "https://github.com/ftsrg/theta/raw/$THETA_VERSION/lib/libz3.so" -P tools/gazer-theta/theta/lib/
wget "https://github.com/ftsrg/theta/raw/$THETA_VERSION/lib/libz3java.so" -P tools/gazer-theta/theta/lib/
env:
THETA_VERSION: v2.10.0
- name: Run unit tests
run: make check-unit
- name: Run functional tests
run: make check-functional