From 2bf0670becb73a6b7dfde0cff18a36a368764b4c Mon Sep 17 00:00:00 2001 From: Vasyl Ivanchuk Date: Mon, 30 Mar 2026 17:00:42 +0300 Subject: [PATCH 1/3] feat: add support for local-chains/local_dev.yaml --- action.yml | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/action.yml b/action.yml index 98e8de3..25db47a 100644 --- a/action.yml +++ b/action.yml @@ -339,6 +339,13 @@ runs: exit 1 fi + LOCAL_DEV_YAML="../local-chains/local_dev.yaml" + local_dev_abs="" + if [[ -f "$LOCAL_DEV_YAML" ]]; then + local_dev_abs="$(realpath "$LOCAL_DEV_YAML")" + echo "Found local_dev.yaml at $local_dev_abs; will prepend to --config" + fi + for chain_id in $(echo "${!PORT_MAP[@]}" | tr ' ' '\n' | sort); do config_file="$MULTI_DIR/chain_${chain_id}.yaml" @@ -347,9 +354,15 @@ runs: exit 1 fi + if [[ -n "$local_dev_abs" ]]; then + config_arg="${local_dev_abs}:${config_file}" + else + config_arg="$config_file" + fi + log_file="zksyncos_${chain_id}.log" - echo "Starting chain $chain_id with config: $config_file" - setsid bash -c "exec ./zksync-os-server --config \"$config_file\" >\"$log_file\" 2>&1" & + echo "Starting chain $chain_id with config: $config_arg" + setsid bash -c "exec ./zksync-os-server --config \"$config_arg\" >\"$log_file\" 2>&1" & echo $! > "l2_${chain_id}.pid" sleep "${{ inputs.boot_grace_seconds }}" done @@ -375,8 +388,17 @@ runs: CONFIG_ABS="${{ steps.config.outputs.path }}" - echo "Launching: ./zksync-os-server --config $CONFIG_ABS" - setsid bash -c "exec ./zksync-os-server --config \"$CONFIG_ABS\" >zksyncos.log 2>&1" & + LOCAL_DEV_YAML="../local-chains/local_dev.yaml" + if [[ -f "$LOCAL_DEV_YAML" ]]; then + LOCAL_DEV_ABS="$(realpath "$LOCAL_DEV_YAML")" + echo "Found local_dev.yaml at $LOCAL_DEV_ABS; will prepend to --config" + CONFIG_ARG="${LOCAL_DEV_ABS}:${CONFIG_ABS}" + else + CONFIG_ARG="$CONFIG_ABS" + fi + + echo "Launching: ./zksync-os-server --config $CONFIG_ARG" + setsid bash -c "exec ./zksync-os-server --config \"$CONFIG_ARG\" >zksyncos.log 2>&1" & echo $! > l2.pid sleep "${{ inputs.boot_grace_seconds }}" @@ -390,7 +412,7 @@ runs: echo "::endgroup::" echo "::group::try foreground run to capture error" - ./zksync-os-server --config "$CONFIG_ABS" || true + ./zksync-os-server --config "$CONFIG_ARG" || true echo "::endgroup::" exit 1 From ce7023f87a57d000a56335714d5ad2af8d50c119 Mon Sep 17 00:00:00 2001 From: Vasyl Ivanchuk Date: Mon, 30 Mar 2026 17:34:11 +0300 Subject: [PATCH 2/3] fix: local_dev.yaml path --- action.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/action.yml b/action.yml index 25db47a..f9f85fd 100644 --- a/action.yml +++ b/action.yml @@ -339,10 +339,10 @@ runs: exit 1 fi - LOCAL_DEV_YAML="../local-chains/local_dev.yaml" + LOCAL_DEV_YAML="$(pwd)/local-chains/local_dev.yaml" local_dev_abs="" if [[ -f "$LOCAL_DEV_YAML" ]]; then - local_dev_abs="$(realpath "$LOCAL_DEV_YAML")" + local_dev_abs="$LOCAL_DEV_YAML" echo "Found local_dev.yaml at $local_dev_abs; will prepend to --config" fi @@ -388,11 +388,10 @@ runs: CONFIG_ABS="${{ steps.config.outputs.path }}" - LOCAL_DEV_YAML="../local-chains/local_dev.yaml" + LOCAL_DEV_YAML="$(pwd)/local-chains/local_dev.yaml" if [[ -f "$LOCAL_DEV_YAML" ]]; then - LOCAL_DEV_ABS="$(realpath "$LOCAL_DEV_YAML")" - echo "Found local_dev.yaml at $LOCAL_DEV_ABS; will prepend to --config" - CONFIG_ARG="${LOCAL_DEV_ABS}:${CONFIG_ABS}" + echo "Found local_dev.yaml at $LOCAL_DEV_YAML; will prepend to --config" + CONFIG_ARG="${LOCAL_DEV_YAML}:${CONFIG_ABS}" else CONFIG_ARG="$CONFIG_ABS" fi From 314c31b2405eb00323eabbbc9d8c3a993dec06be Mon Sep 17 00:00:00 2001 From: Vasyl Ivanchuk Date: Mon, 30 Mar 2026 17:38:44 +0300 Subject: [PATCH 3/3] fix: avoid local_dev.yaml path duplication --- action.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/action.yml b/action.yml index f9f85fd..62822d6 100644 --- a/action.yml +++ b/action.yml @@ -319,6 +319,8 @@ runs: export RUST_LOG=info export RUST_BACKTRACE=1 + LOCAL_DEV_YAML="$(pwd)/local-chains/local_dev.yaml" + if [[ "${{ inputs.setup }}" == "multi_chain" ]]; then MULTI_DIR="$(pwd)/local-chains/${{ inputs.protocol_version }}/multi_chain" if [[ ! -d "$MULTI_DIR" ]]; then @@ -339,7 +341,6 @@ runs: exit 1 fi - LOCAL_DEV_YAML="$(pwd)/local-chains/local_dev.yaml" local_dev_abs="" if [[ -f "$LOCAL_DEV_YAML" ]]; then local_dev_abs="$LOCAL_DEV_YAML" @@ -388,7 +389,6 @@ runs: CONFIG_ABS="${{ steps.config.outputs.path }}" - LOCAL_DEV_YAML="$(pwd)/local-chains/local_dev.yaml" if [[ -f "$LOCAL_DEV_YAML" ]]; then echo "Found local_dev.yaml at $LOCAL_DEV_YAML; will prepend to --config" CONFIG_ARG="${LOCAL_DEV_YAML}:${CONFIG_ABS}"