From a690ca12903baaf6e94fd0de939500220ce90bae Mon Sep 17 00:00:00 2001 From: "xianrui.qin" Date: Tue, 4 Nov 2025 17:37:21 +0800 Subject: [PATCH 1/3] fix: add .env sync functionality to clean.sh - Added automatic sync from example.env to .env in clean.sh - This ensures the behavior matches what's documented in README.md - Users can now modify example.env and run clean.sh to update .env --- test/clean.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/clean.sh b/test/clean.sh index 9198aeccbb433..364e246ed852b 100755 --- a/test/clean.sh +++ b/test/clean.sh @@ -6,6 +6,9 @@ echo " ๐Ÿงน Cleaning up Optimism test environment..." echo " ๐Ÿ“ฆ Stopping Docker containers..." [ -f .env ] && docker compose down +echo " ๐Ÿ”„ Syncing .env from example.env..." +[ -f example.env ] && cp example.env .env && echo " โœ… .env synced from example.env" + echo " ๐Ÿ—‘๏ธ Removing generated files..." rm -rf data rm -rf config-op/genesis.json From 71820976933f7af9b6ee12e36fb845badd9ad2f8 Mon Sep 17 00:00:00 2001 From: "xianrui.qin" Date: Thu, 6 Nov 2025 16:16:19 +0800 Subject: [PATCH 2/3] sync env when add flag or no env --- test/clean.sh | 47 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/test/clean.sh b/test/clean.sh index 364e246ed852b..6f6e097c01d61 100755 --- a/test/clean.sh +++ b/test/clean.sh @@ -1,13 +1,56 @@ #!/bin/bash set -e +# Parse command line arguments +FORCE_ENV=false +while [[ $# -gt 0 ]]; do + case $1 in + --force-env|-f) + FORCE_ENV=true + shift + ;; + --help|-h) + echo "Usage: $0 [OPTIONS]" + echo "" + echo "Options:" + echo " --force-env, -f Force update .env file from example.env" + echo " --help, -h Show this help message" + exit 0 + ;; + *) + echo "Unknown option: $1" + echo "Use --help for usage information" + exit 1 + ;; + esac +done + echo " ๐Ÿงน Cleaning up Optimism test environment..." echo " ๐Ÿ“ฆ Stopping Docker containers..." [ -f .env ] && docker compose down -echo " ๐Ÿ”„ Syncing .env from example.env..." -[ -f example.env ] && cp example.env .env && echo " โœ… .env synced from example.env" +# Handle .env file +if [ "$FORCE_ENV" = true ]; then + echo " ๐Ÿ”„ Force updating .env from example.env..." + if [ -f example.env ]; then + cp example.env .env + echo " โœ… .env has been force updated from example.env" + else + echo " โš ๏ธ example.env not found, skipping .env update" + fi +elif [ ! -f .env ]; then + echo " ๐Ÿ“ .env file not found, creating from example.env..." + if [ -f example.env ]; then + cp example.env .env + echo " โœ… .env created from example.env" + else + echo " โš ๏ธ example.env not found, please create .env manually" + fi +else + echo " โœ“ .env file exists, keeping current configuration" + echo " ๐Ÿ’ก Use --force-env flag to update .env from example.env" +fi echo " ๐Ÿ—‘๏ธ Removing generated files..." rm -rf data From d1535dd0a66bf5e1d56f62dedc046540d63483d0 Mon Sep 17 00:00:00 2001 From: "xianrui.qin" Date: Thu, 6 Nov 2025 16:29:43 +0800 Subject: [PATCH 3/3] sync env when add flag or no env --- test/clean.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/test/clean.sh b/test/clean.sh index 6f6e097c01d61..53b419c6006cd 100755 --- a/test/clean.sh +++ b/test/clean.sh @@ -27,8 +27,17 @@ done echo " ๐Ÿงน Cleaning up Optimism test environment..." +# Stop Docker containers before handling .env file +# This ensures docker-compose has access to the current .env file echo " ๐Ÿ“ฆ Stopping Docker containers..." -[ -f .env ] && docker compose down +if [ -f .env ]; then + docker compose down 2>/dev/null || true +elif [ -f example.env ]; then + # If .env doesn't exist but example.env does, temporarily use it for docker compose down + cp example.env .env.tmp + docker compose --env-file .env.tmp down 2>/dev/null || true + rm -f .env.tmp +fi # Handle .env file if [ "$FORCE_ENV" = true ]; then