diff --git a/.github/workflows/pr-main_l2.yaml b/.github/workflows/pr-main_l2.yaml index a553cececd..876ebc5e59 100644 --- a/.github/workflows/pr-main_l2.yaml +++ b/.github/workflows/pr-main_l2.yaml @@ -150,6 +150,11 @@ jobs: ETHREX_DEPLOYER_RISC0_CONTRACT_ADDRESS=0x00000000000000000000000000000000000000aa \ ETHREX_L2_VALIDIUM=${{ matrix.validium }} \ docker compose up contract_deployer + + - name: Copy env to host + run: | + docker cp contract_deployer:/env/.env cmd/.env + cat cmd/.env - name: Start Sequencer run: | @@ -215,6 +220,11 @@ jobs: ETHREX_DEPLOYER_DEPLOY_BASED_CONTRACTS=true \ COMPILE_CONTRACTS=true \ docker compose up contract_deployer + + - name: Copy env to host + run: | + docker cp contract_deployer:/env/.env cmd/.env + cat cmd/.env - name: Install rex run: | diff --git a/Dockerfile b/Dockerfile index e784479377..3bc79ff36b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -58,9 +58,11 @@ RUN cargo build --release $BUILD_FLAGS # --- Final Image --- # Copy the ethrex binary into a minimalist image to reduce bloat size. # This image must have glibc and libssl -FROM gcr.io/distroless/cc-debian12 +FROM debian:12-slim WORKDIR /usr/local/bin +RUN apt-get update && apt-get install -y --no-install-recommends libssl3 + COPY cmd/ethrex/networks ./cmd/ethrex/networks COPY --from=builder /ethrex/target/release/ethrex . diff --git a/crates/l2/docker-compose-l2-store.overrides.yaml b/crates/l2/docker-compose-l2-store.overrides.yaml index bd9394510b..38e02b99f5 100644 --- a/crates/l2/docker-compose-l2-store.overrides.yaml +++ b/crates/l2/docker-compose-l2-store.overrides.yaml @@ -4,7 +4,6 @@ services: volumes: - ./store:/store command: > - l2 --network /genesis/l2.json --http.addr 0.0.0.0 --http.port 1729 diff --git a/crates/l2/docker-compose-l2-web3signer.yaml b/crates/l2/docker-compose-l2-web3signer.yaml index 876cb5ce61..2e6f76b5b6 100644 --- a/crates/l2/docker-compose-l2-web3signer.yaml +++ b/crates/l2/docker-compose-l2-web3signer.yaml @@ -12,7 +12,6 @@ services: ethrex_l2: command: > - l2 --network /genesis/l2.json --http.addr 0.0.0.0 --http.port 1729 diff --git a/crates/l2/docker-compose.yaml b/crates/l2/docker-compose.yaml index 0c0565d192..b5e4b572ed 100644 --- a/crates/l2/docker-compose.yaml +++ b/crates/l2/docker-compose.yaml @@ -1,3 +1,6 @@ +volumes: + env: + services: ethrex_l1: container_name: ethrex_l1 @@ -16,7 +19,7 @@ services: volumes: # NOTE: DOCKER_ETHREX_WORKDIR is defined in crates/l2/Makefile - ./contracts:${DOCKER_ETHREX_WORKDIR}/contracts - - ../../cmd/.env:${DOCKER_ETHREX_WORKDIR}/.env + - env:/env/ - ../../fixtures/genesis/l1-dev.json:${DOCKER_ETHREX_WORKDIR}/fixtures/genesis/l1-dev.json - ../../fixtures/genesis/l2.json:${DOCKER_ETHREX_WORKDIR}/fixtures/genesis/l2.json - ../../fixtures/keys/private_keys_l1.txt:${DOCKER_ETHREX_WORKDIR}/fixtures/keys/private_keys_l1.txt @@ -27,7 +30,7 @@ services: # NOTE: The paths in the env variables must match those # specified in the `volumes:` section - ETHREX_DEPLOYER_L1_PRIVATE_KEY=${ETHREX_DEPLOYER_PRIVATE_KEY:-0x385c546456b6a603a1cfcaa9ec9494ba4832da08dd6bcf4de9a71e4a01b74924} - - ETHREX_DEPLOYER_ENV_FILE_PATH=${DOCKER_ETHREX_WORKDIR}/.env + - ETHREX_DEPLOYER_ENV_FILE_PATH=/env/.env - ETHREX_DEPLOYER_GENESIS_L1_PATH=${DOCKER_ETHREX_WORKDIR}/fixtures/genesis/l1-dev.json - ETHREX_DEPLOYER_GENESIS_L2_PATH=${DOCKER_ETHREX_WORKDIR}/fixtures/genesis/l2.json - ETHREX_DEPLOYER_PRIVATE_KEYS_FILE_PATH=${DOCKER_ETHREX_WORKDIR}/fixtures/keys/private_keys_l1.txt @@ -51,9 +54,11 @@ services: - COMPILE_CONTRACTS=true depends_on: - ethrex_l1 + entrypoint: + - /bin/bash + - -c + - touch /env/.env; ./ethrex l2 deploy "$0" "$@" command: > - l2 - deploy --randomize-contract-deployment ethrex_l2: @@ -76,14 +81,15 @@ services: - ETHREX_STATE_UPDATER_SEQUENCER_REGISTRY=${ETHREX_STATE_UPDATER_SEQUENCER_REGISTRY:-0x0000000000000000000000000000000000000000} - ETHREX_COMMITTER_COMMIT_TIME=${ETHREX_COMMITTER_COMMIT_TIME:-60000} - ETHREX_WATCHER_WATCH_INTERVAL=${ETHREX_WATCHER_WATCH_INTERVAL:-12000} - env_file: - - ../../cmd/.env volumes: - ../../fixtures/genesis/l2.json:/genesis/l2.json - - ../../cmd/.env:/.env:ro + - env:/env/ + entrypoint: + - /bin/bash + - -c + - export $(xargs < /env/.env); ./ethrex l2 "$0" "$@" # ETHREX_WATCHER_BRIDGE_ADDRESS and ETHREX_COMMITTER_ON_CHAIN_PROPOSER_ADDRESS are set in the .env file by the contract_deployer service. command: > - l2 --network /genesis/l2.json --http.addr 0.0.0.0 --http.port 1729