version: 2 jobs: build: docker: - image: rustlang/rust:nightly-slim steps: - checkout - run: name: Version information command: rustc --version; cargo --version; rustup --version - run: name: Calculate dependencies command: cargo generate-lockfile - restore_cache: keys: - v4-cargo-cache-{{ arch }}-{{ checksum "Cargo.lock" }} - run: name: Check format command: rustup component add rustfmt-preview; cargo fmt --all -- --check # - run: # name: Download wasm32 target # command: rustup target add wasm32-unknown-unknown - run: name: Build libsnark command: LIBSNARK_SOURCE_PATH=$HOME/libsnark ./build_libsnark.sh - run: name: Build command: WITH_LIBSNARK=1 LIBSNARK_SOURCE_PATH=$HOME/libsnark RUSTFLAGS="-D warnings" ./build.sh - run: name: Run tests command: WITH_LIBSNARK=1 LIBSNARK_SOURCE_PATH=$HOME/libsnark RUSTFLAGS="-D warnings" cargo test --release -- --test-threads=1 # - run: # name: Run tests with WASM enabled # command: cd zokrates_core && cargo test --release --features wasm -- --test-threads=1 - run: name: Run integration tests command: WITH_LIBSNARK=1 LIBSNARK_SOURCE_PATH=$HOME/libsnark RUSTFLAGS="-D warnings" cargo test --release -- --ignored - run: name: Generate code coverage report command: ./scripts/cov.sh - run: name: Publish book command: ./scripts/publish_book.sh - save_cache: paths: - /usr/local/cargo/registry - target/debug/.fingerprint - target/debug/build - target/debug/deps key: v4-cargo-cache-{{ arch }}-{{ checksum "Cargo.lock" }}