@@ -4,11 +4,13 @@ set -ex
44
55# --- Default variables ---
66CACHED_VOL_ROOT=" "
7+ USE_PREBUILT=false
78
89# --- Function Definitions ---
910usage () {
10- echo " Usage: $0 [--cached-build /path/to/vol_root]"
11+ echo " Usage: $0 [--cached-build /path/to/vol_root] [--use-prebuilt] "
1112 echo " --cached-build: Skips all build steps and runs docker-compose from an existing volume root."
13+ echo " --use-prebuilt: Uses pre-built images (via compose.override.yaml) instead of building from source."
1214 exit 1
1315}
1416
@@ -23,6 +25,9 @@ while [[ "$#" -gt 0 ]]; do
2325 CACHED_VOL_ROOT=" $2 "
2426 shift
2527 ;;
28+ --use-prebuilt)
29+ USE_PREBUILT=true
30+ ;;
2631 * )
2732 echo " Unknown parameter passed: $1 "
2833 usage
@@ -83,22 +88,29 @@ if [ -z "$CACHED_VOL_ROOT" ]; then
8388 mkdir -p " $vol_root /node/triedb"
8489 truncate -s 4GB " $vol_root /node/triedb/test.db"
8590
86- # Build monad execution (needs buildkit so unable to build in docker compose)
87- set +e
88- docker buildx inspect insecure & > /dev/null
89- insecure_builder_no_exist=$?
90- set -e
91- if [ $insecure_builder_no_exist -ne 0 ]; then
92- docker buildx create --buildkitd-flags ' --allow-insecure-entitlement security.insecure' --name insecure
93- fi
94- docker build --builder insecure --allow security.insecure \
95- -f " $MONAD_EXECUTION_ROOT /docker/release.Dockerfile" \
96- --load -t monad-execution-builder:latest " $MONAD_EXECUTION_ROOT " \
97- --build-arg GIT_COMMIT_HASH=$( git -C " $MONAD_EXECUTION_ROOT " rev-parse HEAD)
98-
9991 cd " $vol_root "
100- # Run one-off build services and start node services, forcing a build of all images
101- docker compose up build_triedb build_genesis monad_execution monad_node monad_rpc --build
92+
93+ if [ " $USE_PREBUILT " = true ]; then
94+ # Skip building, use pre-built images
95+ echo " Using pre-built images..."
96+ docker compose -f compose.yaml -f compose.prebuilt.yaml up build_triedb build_genesis monad_execution monad_node monad_rpc
97+ else
98+ # Build monad execution (needs buildkit so unable to build in docker compose)
99+ set +e
100+ docker buildx inspect insecure & > /dev/null
101+ insecure_builder_no_exist=$?
102+ set -e
103+ if [ $insecure_builder_no_exist -ne 0 ]; then
104+ docker buildx create --buildkitd-flags ' --allow-insecure-entitlement security.insecure' --name insecure
105+ fi
106+ docker build --builder insecure --allow security.insecure \
107+ -f " $MONAD_EXECUTION_ROOT /docker/release.Dockerfile" \
108+ --load -t monad-execution-builder:latest " $MONAD_EXECUTION_ROOT " \
109+ --build-arg GIT_COMMIT_HASH=$( git -C " $MONAD_EXECUTION_ROOT " rev-parse HEAD)
110+
111+ # Run one-off build services and start node services, forcing a build of all images
112+ docker compose up build_triedb build_genesis monad_execution monad_node monad_rpc --build
113+ fi
102114
103115else
104116 # === CACHED RUN ===
0 commit comments