Skip to content

CI workflows

CI workflows #1

Workflow file for this run

name: Ubuntu C++ Tests
on: [push]
jobs:
tests:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '16'
- name: Install Yarn dependencies and build
run: |
yarn
yarn build
- name: Start Hardhat node in background
run: |
yarn node &
echo "NODE_PID=$!" >> $GITHUB_ENV
- name: Install prerequisites for C++ build
run: sudo apt-get update && sudo apt-get install -y cmake build-essential libboost-all-dev libssl-dev libcurl4-openssl-dev libsodium-dev
- name: Create and change into Build Directory
run: |
mkdir -p test/cpp/build
cd test/cpp/build
- name: CMake Generate
run: cmake -B. -H..
- name: Compile
run: cmake --build .
- name: Run C++ tests
run: ctest -VV --repeat until-pass:2 --test-dir .
- name: Kill Yarn node
run: kill $NODE_PID
if: always()