name: Test
on: [push, pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref || github.run_id }}
cancel-in-progress: true
jobs:
nix:
name: Test on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
target: x86_64-linux
- os: macos-latest
target: x86_64-darwin
steps:
- name: Checkout
uses: actions/checkout@v3
- uses: cachix/install-nix-action@v20
with:
nix_path: nixpkgs=channel:nixos-22.11
github_access_token: ${{ secrets.GITHUB_TOKEN }}
- uses: cachix/cachix-action@v12
with:
name: barretenberg
- name: Run `nix flake check`
run: |
nix flake check -L
native:
name: Test on ${{ matrix.os }} with global bb
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
- os: macos-latest
steps:
- name: Checkout barretenberg
uses: actions/checkout@v3
with:
repository: AztecProtocol/barretenberg
path: barretenberg
ref: aebfe95c547b0022a9baed3901e945bb386503be
- name: Setup Linux environment
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt update
sudo apt install libomp-dev cmake ninja-build
echo "PRESET=default" >> $GITHUB_ENV
- name: Setup Darwin environment
if: matrix.os == 'macos-latest'
run: |
brew install llvm libomp cmake ninja
echo "BREW_PREFIX=$(brew --prefix)" >> $GITHUB_ENV
echo "PRESET=homebrew" >> $GITHUB_ENV
- name: Build and install barretenberg
working-directory: barretenberg/cpp
run: |
cmake --preset ${{ env.PRESET }} -DTESTING=OFF -DBENCHMARKS=OFF -DCMAKE_BUILD_TYPE=RelWithAssert -DDISABLE_ASM=ON -DDISABLE_ADX=ON
cmake --build --preset ${{ env.PRESET }}
sudo cmake --install build
- name: Checkout project
uses: actions/checkout@v3
- name: Setup toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.66.0
- name: Run cargo test
run: |
cargo test --locked