diff --git a/.gitignore b/.gitignore index 4c49bd7..4de766d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .env +.upgrade-pectra \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 9326d1d..a8d66b3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -28,7 +28,7 @@ services: - ${PORT__HEALTHCHECK_METRICS:-7300}:7300 op-geth: - image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101411.8 + image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-geth:v1.101500.0 restart: unless-stopped stop_grace_period: 5m entrypoint: /scripts/start-op-geth.sh @@ -40,6 +40,7 @@ services: - ./scripts/:/scripts - shared:/shared - op_geth:/geth + - ./.upgrade-pectra:/upgrade-pectra ports: - ${PORT__OP_GETH_HTTP:-9993}:8545 - ${PORT__OP_GETH_WS:-9994}:8546 @@ -49,7 +50,7 @@ services: - "host.docker.internal:host-gateway" op-node: - image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.10.3 + image: us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node:v1.11.1 restart: unless-stopped stop_grace_period: 5m entrypoint: /scripts/start-op-node.sh @@ -60,6 +61,7 @@ services: - ./envs/${NETWORK_NAME}/config:/chainconfig - ./scripts/:/scripts - shared:/shared + - ./.upgrade-pectra:/upgrade-pectra ports: - ${PORT__OP_NODE_P2P:-9003}:9003/udp - ${PORT__OP_NODE_P2P:-9003}:9003/tcp @@ -81,6 +83,7 @@ services: - op_geth:/geth - geth:/legacy-geth - torrent_downloads:/downloads + - ./.upgrade-pectra:/upgrade-pectra prometheus: image: prom/prometheus:${IMAGE_TAG__PROMETHEUS:-latest} diff --git a/scripts/init-bedrock.sh b/scripts/init-bedrock.sh index c659149..0ab0189 100755 --- a/scripts/init-bedrock.sh +++ b/scripts/init-bedrock.sh @@ -74,3 +74,4 @@ openssl rand -hex 32 > $BEDROCK_JWT_PATH echo "Creating Bedrock flag..." touch $INITIALIZED_FLAG +touch /upgrade-pectra/upgraded diff --git a/scripts/start-op-geth.sh b/scripts/start-op-geth.sh index 1d07b51..f644a23 100755 --- a/scripts/start-op-geth.sh +++ b/scripts/start-op-geth.sh @@ -7,6 +7,11 @@ while [ ! -f /shared/initialized.txt ]; do sleep 1 done +if [ ! -f /upgrade-pectra/upgraded ]; then + echo "Please upgrade to Pectra with upgrade-pectra.sh" + exit 1 +fi + if [ -z "${IS_CUSTOM_CHAIN}" ]; then if [ "$NETWORK_NAME" == "op-mainnet" ] || [ "$NETWORK_NAME" == "op-goerli" ]; then export EXTENDED_ARG="${EXTENDED_ARG:-} --rollup.historicalrpc=${OP_GETH__HISTORICAL_RPC:-http://l2geth:8545} --op-network=$NETWORK_NAME" diff --git a/scripts/start-op-node.sh b/scripts/start-op-node.sh index e17ad29..c801b96 100755 --- a/scripts/start-op-node.sh +++ b/scripts/start-op-node.sh @@ -7,6 +7,11 @@ while [ ! -f /shared/initialized.txt ]; do sleep 1 done +if [ ! -f /upgrade-pectra/upgraded ]; then + echo "Please upgrade to Pectra with upgrade-pectra.sh" + exit 1 +fi + if [ -n "${IS_CUSTOM_CHAIN}" ]; then export EXTENDED_ARG="${EXTENDED_ARG:-} --rollup.config=/chainconfig/rollup.json" else diff --git a/upgrade-pectra.sh b/upgrade-pectra.sh new file mode 100755 index 0000000..955a0f3 --- /dev/null +++ b/upgrade-pectra.sh @@ -0,0 +1,34 @@ +#!/bin/bash +set -e # Exit immediately if any command fails + +echo "Shutting down current Docker Compose services..." +docker compose down + +echo "Checking out branch 'pectra-upgrade-temp'..." +git checkout pectra-upgrade-temp + +echo "Starting Docker Compose services with rebuild..." +docker compose up -d --build + +echo "Creating upgrade flag file..." +mkdir -p .upgrade-pectra +touch ./.upgrade-pectra/upgraded + +# Start the background pectra upgrade process +( + echo "Background process started. Waiting 1 day before performing pectra upgrade..." + sleep 86400 # Sleep for 1 day (86400 seconds) + + echo "Stopping Docker Compose services for pectra upgrade..." + docker compose down + + echo "Checking out branch 'main'..." + git checkout main + + echo "Starting Docker Compose services with rebuild on 'main' branch..." + docker compose up -d --build + + echo "Pectra upgrade process complete." +) & + +echo "Script execution complete. The pectra upgrade process is running in the background."