@@ -3,13 +3,15 @@ default:
33
44alias r := run-debug
55alias rr := run-release
6+ alias rrr := run-release-reproducible
67alias bc := bench-cycles
78alias db := docker-build
89alias ds := docker-save
910alias dl := docker-load
1011alias dr := docker-run
1112alias b := build-debug
1213alias br := build-release
14+ alias brr := build-release-reproducible
1315alias f := fmt
1416alias c := clean
1517
@@ -30,7 +32,9 @@ initial-config-installs:
3032 @ just sp1 initial-config-installs
3133
3234_ pre-build :
33- # ALWAYS build with docker
35+ @ just sp1 build-elf
36+
37+ _ pre-build-reproducible :
3438 @ just sp1 build-elf-reproducible
3539
3640_ pre-run :
@@ -40,6 +44,10 @@ _pre-run:
4044bench-cycles * FLAGS : _pre-build _pre-run
4145 cargo r -r -p sp1-util --bin cli -- --execute
4246
47+ # Run in release mode, zkVM ELF stable with optimizations AND debug logs
48+ run-release-reproducible * FLAGS : _pre-build-reproducible _pre-run
49+ RUST_LOG=pda_proxy=debug cargo r -r --features reproducible-elf -- {{ FLAGS }}
50+
4351# Run in release mode, with optimizations AND debug logs
4452run-release * FLAGS : _pre-build _pre-run
4553 RUST_LOG=pda_proxy=debug cargo r -r -- {{ FLAGS }}
@@ -51,7 +59,11 @@ run-debug *FLAGS: _pre-build _pre-run
5159
5260# Build docker image & tag
5361docker-build :
54- DOCKER_BUILDKIT=1 docker build --build-arg BUILDKIT_INLINE_CACHE=1 --tag " $DOCKER_CONTAINER_NAME" --progress=plain .
62+ DOCKER_BUILDKIT=1 docker build \
63+ - -build-arg BUILDKIT_INLINE_CACHE=1 \
64+ - -tag " $DOCKER_CONTAINER_NAME" \
65+ - -progress=plain \
66+ .
5567
5668# Save docker image to a tar.gz
5769docker-save :
@@ -70,13 +82,15 @@ docker-run:
7082 docker run --rm -it \
7183 - v / var/ run/ docker.sock:/ var/ run/ docker.sock \
7284 - v ./ service/ static:/ app/ static \
85+ - v $HOME/ .sp1/ circuits:/ root/ .sp1/ circuits \
7386 - v $PDA_DB_PATH:$PDA_DB_PATH \
7487 - -env -file {{ env -settings }} \
75- - -env TLS_CERTS_PATH=/ app/ static/ sample.pem --env TLS_KEY_PATH=/ app/ static/ sample.rsa \
88+ - -env TLS_CERTS_PATH=/ app/ static/ sample.pem \
89+ - -env TLS_KEY_PATH=/ app/ static/ sample.rsa \
7690 - -env RUST_LOG=pda_proxy=debug \
7791 - -network=host \
7892 - p $PDA_PORT:$PDA_PORT \
79- " $DOCKER_CONTAINER_NAME"
93+ $DOCKER_CONTAINER_NAME
8094
8195# Build in debug mode, no optimizations
8296build-debug : _pre-build
@@ -86,6 +100,10 @@ build-debug: _pre-build
86100build-release : _pre-build
87101 cargo b -r
88102
103+ # Build in release mode, enforce ELF build is reproducible includes optimizations
104+ build-release-reproducible : _pre-build-reproducible
105+ cargo b -r --features reproducible-elf
106+
89107# Scrub build artifacts
90108clean :
91109 cargo clean
0 commit comments