Skip to content

A basic implementation of vertex-cut fragment to scale-out on large graphs. #475

A basic implementation of vertex-cut fragment to scale-out on large graphs.

A basic implementation of vertex-cut fragment to scale-out on large graphs. #475

Workflow file for this run

name: C++ CI
on: [push, pull_request]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Cache maven packages
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Install Dependencies for Linux
if: runner.os == 'Linux'
run: |
ssh-keygen -t rsa -f ~/.ssh/id_rsa -N ''
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod og-wx ~/.ssh/authorized_keys
chmod 750 $HOME
echo "StrictHostKeyChecking no" >> ~/.ssh/config
sudo apt update -y
sudo apt install -y libunwind-dev
sudo apt install -y --no-install-recommends libmpich-dev libgoogle-glog-dev libgflags-dev librdkafka-dev
- name: Install Dependencies for macOS
if: runner.os == 'macOS'
run: |
sudo scutil --set HostName my_computer.local
echo '127.0.0.1 my_computer.local' | sudo tee -a /etc/hosts
brew install mpich glog gflags librdkafka
# install cmake 3.20 for a temporary fix for https://gitlab.kitware.com/cmake/cmake/-/issues/21955
wget https://github.com/Kitware/CMake/releases/download/v3.20.0-rc5/cmake-3.20.0-rc5-macos-universal.tar.gz
tar zxf cmake-3.20.0-rc5-macos-universal.tar.gz
sudo ln -sf $(pwd)/cmake-3.20.0-rc5-macos-universal/CMake.app/Contents/bin/cmake `which cmake`
- name: Build
run: |
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DWITH_ASAN=ON
make cpplint
make
- name: App Test
if: runner.os == 'Linux'
run: |
export ASAN_OPTIONS=detect_leaks=0 # as a temporary fix
./misc/app_tests.sh
- name: Sampler Test
if: runner.os == 'Linux'
run: |
export ASAN_OPTIONS=detect_leaks=0 # the leak happens in libibverbs.so and shouldn't be our fault
./misc/sampler_test.sh
- name: Run LDBC
if: runner.os == 'Linux'
run: |
export ASAN_OPTIONS=detect_leaks=0 # the leak happens in libibverbs.so and shouldn't be our fault
./ldbc_driver/run_ldbc.sh ci
- name: Upload Coverage
if: runner.os == 'Linux'
uses: codecov/codecov-action@v1
with:
flags: app_tests