diff --git a/barretenberg/README.md b/barretenberg/README.md index aadb9cdc15d1..11638f414f6e 100644 --- a/barretenberg/README.md +++ b/barretenberg/README.md @@ -385,6 +385,12 @@ cmake --build --preset default --target run_ecc_bench ### Debugging +#### Running Realistic ClientIVC from barretenberg folder +One can now run (for example, any master commit that has finished benchmarking can be used): +`barretenberg/cpp/bootstrap.sh e2e_ivc_bench 88c0e046ccb8381910a4615ac6218dcdbf04d898` + +If one doesn't provide the commit this (if yarn project is bootstrapped) generate these IVC inputs on the fly. + #### Debugging Verifification Failures The CircuitChecker::check_circuit function is used to get the gate index and block information about a failing circuit constraint. diff --git a/barretenberg/cpp/bootstrap.sh b/barretenberg/cpp/bootstrap.sh index 162aa09297d8..0fe30e84f191 100755 --- a/barretenberg/cpp/bootstrap.sh +++ b/barretenberg/cpp/bootstrap.sh @@ -212,10 +212,6 @@ function bench { rm -rf bench-out && mkdir -p bench-out - # A bit pattern breaking, but the best code to instrument our private IVC flows exists in yarn-project, - # while the best code for benchmarking these IVC flows exists here. - ../../yarn-project/end-to-end/bootstrap.sh generate_example_app_ivc_inputs - # Ultra honk. function ultra_honk_release { ./build/bin/ultra_honk_bench \ @@ -256,34 +252,6 @@ function bench { --benchmark_out=./bench-out/client_ivc_wasm.json \ --benchmark_filter="ClientIVCBench/Full/6$" } - function client_ivc_flow { - set -eu - local flow=$1 - local inputs_folder="$capture_ivc_folder/$flow" - local start=$(date +%s%N) - mkdir -p "bench-out/$flow-proof-files" - # TODO(AD) this should verify but doesn't! - if [ "$flow" == "amm-add-liquidity" ]; then - set +e - fi - ./build/bin/bb prove -o "bench-out/$flow-proof-files" -b "$inputs_folder/acir.msgpack" -w "$inputs_folder/witnesses.msgpack" --scheme client_ivc --input_type runtime_stack - set -e - echo "$flow has proven." - local end=$(date +%s%N) - local elapsed_ns=$(( end - start )) - local elapsed_ms=$(( elapsed_ns / 1000000 )) - cat > "./bench-out/$flow-ivc.json" < " exit 1 fi diff --git a/ci3/cache_content_hash b/ci3/cache_content_hash index bcbd6bb5e219..b86bf1232cbd 100755 --- a/ci3/cache_content_hash +++ b/ci3/cache_content_hash @@ -27,10 +27,6 @@ for arg in "$@"; do fi done -# For sanity when iterating on build scripts as bootstrap.sh scripts are in every .rebuild_patterns. -if [ -n "${AZTEC_CACHE_NO_SCRIPTS:-}" ]; then - rebuild_patterns=$(echo "$rebuild_patterns" | grep -v '.sh') -fi GREP_PATTERN=$(echo "$rebuild_patterns" | grep -v '^$') # Concatenate patterns with '|' and double escape backslashes for AWK filter empty lines AWK_PATTERN=$(echo "$rebuild_patterns" | grep -v '^$' | sed 's/\\/\\\\/g' | tr '\n' '|' | sed 's/|$//') @@ -48,9 +44,10 @@ diff="$({ # Check for uncommitted files/changes. # Only use this check if AZTEC_CACHE_COMMIT is the default, otherwise the user is being explicit about using git history. if [ -n "$diff" ] && [ "$AZTEC_CACHE_COMMIT" == "HEAD" ]; then - # Fail. We shouldn't be writing files during the build. + # Fail. We shouldn't be changing files during the CI run. if [ "${CI:-0}" = 1 ]; then - echo_stderr "WARNING: Noticed changes to rebuild patterns: $diff" + echo_stderr "ERROR: Noticed changes to rebuild patterns: $diff" + exit 1 fi # Signal to cache_upload and cache_download to not touch this file. echo "disabled-cache"