spartan 0.8.0

High-speed zkSNARKs without trusted setup
Documentation
name: Build and Test Spartan

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build_nightly:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Install
      run: rustup default nightly
    - name: Install rustfmt Components
      run: rustup component add rustfmt
    - name: Install clippy
      run: rustup component add clippy
    - name: Build
      run: cargo build --verbose
    - name: Run tests
      run: cargo test --verbose
    - name: Build examples
      run: cargo build --examples --verbose
    - name: Check Rustfmt Code Style
      run: cargo fmt --all -- --check
    - name: Check clippy warnings
      run: cargo clippy --all-targets --all-features -- -D warnings

  build_nightly_wasm:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2

    - name: Install
      run: rustup default nightly

    - name: Build without std
      run: cargo build --no-default-features --verbose

    - name: Run tests without std
      run: cargo test --no-default-features --verbose
    
    - name: Build examples without std
      run: cargo build --examples --no-default-features --verbose
      
    - name: Install wasm32-wasi target
      run: rustup target add wasm32-wasi

    - name: Install wasm32-unknown-unknown target
      run: rustup target add wasm32-unknown-unknown

    - name: Build for target wasm-wasi
      run: RUSTFLAGS="" cargo build --target=wasm32-wasi --no-default-features --verbose
    
    - name: Patch Cargo.toml for wasm-bindgen
      run: |
        echo "[dependencies.getrandom]" >> Cargo.toml
        echo "version = \"0.1\"" >> Cargo.toml
        echo "default-features = false" >> Cargo.toml
        echo "features = [\"wasm-bindgen\"]" >> Cargo.toml

    - name: Build for target wasm32-unknown-unknown
      run: RUSTFLAGS="" cargo build --target=wasm32-unknown-unknown --no-default-features --verbose