From 5c2def1e5e7c6b7afe104145cb14e2b44517fdf3 Mon Sep 17 00:00:00 2001 From: Maddiaa0 <47148561+Maddiaa0@users.noreply.github.com> Date: Tue, 21 Jan 2025 16:19:46 +0000 Subject: [PATCH 01/10] exp: update action --- .github/workflows/network-deploy.yml | 35 ++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/.github/workflows/network-deploy.yml b/.github/workflows/network-deploy.yml index 77f92c07841d..79db26c51c81 100644 --- a/.github/workflows/network-deploy.yml +++ b/.github/workflows/network-deploy.yml @@ -146,6 +146,41 @@ jobs: echo "::add-mask::$(gcloud secrets versions access latest --secret=${{ env.DEPLOYMENT_MNEMONIC_SECRET_NAME }})" echo "mnemonic=$(gcloud secrets versions access latest --secret=${{ env.DEPLOYMENT_MNEMONIC_SECRET_NAME }})" >> "$GITHUB_OUTPUT" + - name: Generate eth devnet config + id: generate-eth-devnet-config + run: | + + REPO=$(git rev-parse --show-toplevel) + + VALUES_PATH="$REPO/spartan/aztec-network/values/${{ env.VALUES_FILE }}" + DEFAULT_VALUES_PATH="$REPO/spartan/aztec-network/values.yaml" + + function read_values_file() { + local key="$1" + + value=$(yq -r ".$key" "$VALUES_PATH") + if [ -z "$value" ] || [ "$value" = "null" ]; then + value=$(yq -r ".$key" "$DEFAULT_VALUES_PATH") + fi + echo "$value" + } + + export NUMBER_OF_KEYS=$(read_values_file "validator.replicas") + export NUMBER_OF_KEYS=$(read_values_file "validator.replicas") + export MNEMONIC=$(read_values_file "aztec.l1DeploymentMnemonic") + export BLOCK_TIME=$(read_values_file "ethereum.blockTime") + export GAS_LIMIT=$(read_values_file "ethereum.gasLimit") + export CHAIN_ID=$(read_values_file "ethereum.chainId") + + echo "Generating eth devnet config..." + echo "NUMBER_OF_KEYS: $NUMBER_OF_KEYS" + echo "MNEMONIC: $MNEMONIC" + echo "BLOCK_TIME: $BLOCK_TIME" + echo "GAS_LIMIT: $GAS_LIMIT" + echo "CHAIN_ID: $CHAIN_ID" + + $REPO/spartan/aztec-network/eth-devnet/create.sh + - name: Setup Terraform uses: hashicorp/setup-terraform@v2 with: From fd81174c224d86dace2d2d91eac0b9c571f40d99 Mon Sep 17 00:00:00 2001 From: Maddiaa0 <47148561+Maddiaa0@users.noreply.github.com> Date: Tue, 21 Jan 2025 16:27:00 +0000 Subject: [PATCH 02/10] fix: use home env var --- spartan/aztec-network/eth-devnet/create.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spartan/aztec-network/eth-devnet/create.sh b/spartan/aztec-network/eth-devnet/create.sh index 286a0a5e1135..d261fb871a8d 100755 --- a/spartan/aztec-network/eth-devnet/create.sh +++ b/spartan/aztec-network/eth-devnet/create.sh @@ -14,7 +14,7 @@ CHAIN_ID=${CHAIN_ID:-"1337"} # Install cast if it is not installed if ! command -v cast &> /dev/null; then curl -L https://foundry.paradigm.xyz | bash - ~/.foundry/bin/foundryup + $HOME/.foundry/bin/foundryup ## add cast to path export PATH="$PATH:~/.foundry/bin" fi From bface1c3369e479ebb0ab5f529caa6eb7de7aa09 Mon Sep 17 00:00:00 2001 From: Maddiaa0 <47148561+Maddiaa0@users.noreply.github.com> Date: Tue, 21 Jan 2025 16:32:17 +0000 Subject: [PATCH 03/10] exmp --- spartan/aztec-network/eth-devnet/create.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spartan/aztec-network/eth-devnet/create.sh b/spartan/aztec-network/eth-devnet/create.sh index d261fb871a8d..ad7cbe667c7d 100755 --- a/spartan/aztec-network/eth-devnet/create.sh +++ b/spartan/aztec-network/eth-devnet/create.sh @@ -14,7 +14,7 @@ CHAIN_ID=${CHAIN_ID:-"1337"} # Install cast if it is not installed if ! command -v cast &> /dev/null; then curl -L https://foundry.paradigm.xyz | bash - $HOME/.foundry/bin/foundryup + $HOME/.foundry/bin/foundryup || $XDG_CONFIG_HOME/.foundry/bin/foundryup ## add cast to path export PATH="$PATH:~/.foundry/bin" fi From 187e511ccad974774816087941af6a19046e8ff9 Mon Sep 17 00:00:00 2001 From: Maddiaa0 <47148561+Maddiaa0@users.noreply.github.com> Date: Tue, 21 Jan 2025 16:40:20 +0000 Subject: [PATCH 04/10] fix: include ref --- .github/workflows/devnet-deploy.yml | 7 ++++ .github/workflows/network-deploy.yml | 33 +++--------------- spartan/aztec-network/eth-devnet/create.sh | 3 +- .../scripts/bash/generate_devnet_config.sh | 20 +++++++++++ .../scripts/bash/read_values_file.sh | 12 +++++++ .../end-to-end/scripts/network_test.sh | 34 +++---------------- 6 files changed, 49 insertions(+), 60 deletions(-) create mode 100755 yarn-project/end-to-end/scripts/bash/generate_devnet_config.sh create mode 100755 yarn-project/end-to-end/scripts/bash/read_values_file.sh diff --git a/.github/workflows/devnet-deploy.yml b/.github/workflows/devnet-deploy.yml index 04a22d5713fd..127f49b3143c 100644 --- a/.github/workflows/devnet-deploy.yml +++ b/.github/workflows/devnet-deploy.yml @@ -26,6 +26,11 @@ on: description: Whether to deploy to Sepolia required: false default: "false" + ref: + description: The branch name to deploy from + required: false + type: string + default: "master" concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -52,6 +57,8 @@ jobs: respect_tf_lock: ${{ github.event.inputs.respect_tf_lock }} run_terraform_destroy: "true" sepolia_deployment: ${{ github.event.inputs.sepolia_deployment }} + ref: ${{ github.event.inputs.ref }} + secrets: GCP_SA_KEY: ${{ secrets.GCP_SA_KEY }} diff --git a/.github/workflows/network-deploy.yml b/.github/workflows/network-deploy.yml index 79db26c51c81..4e6411b84148 100644 --- a/.github/workflows/network-deploy.yml +++ b/.github/workflows/network-deploy.yml @@ -149,37 +149,12 @@ jobs: - name: Generate eth devnet config id: generate-eth-devnet-config run: | - REPO=$(git rev-parse --show-toplevel) - VALUES_PATH="$REPO/spartan/aztec-network/values/${{ env.VALUES_FILE }}" - DEFAULT_VALUES_PATH="$REPO/spartan/aztec-network/values.yaml" - - function read_values_file() { - local key="$1" - - value=$(yq -r ".$key" "$VALUES_PATH") - if [ -z "$value" ] || [ "$value" = "null" ]; then - value=$(yq -r ".$key" "$DEFAULT_VALUES_PATH") - fi - echo "$value" - } - - export NUMBER_OF_KEYS=$(read_values_file "validator.replicas") - export NUMBER_OF_KEYS=$(read_values_file "validator.replicas") - export MNEMONIC=$(read_values_file "aztec.l1DeploymentMnemonic") - export BLOCK_TIME=$(read_values_file "ethereum.blockTime") - export GAS_LIMIT=$(read_values_file "ethereum.gasLimit") - export CHAIN_ID=$(read_values_file "ethereum.chainId") - - echo "Generating eth devnet config..." - echo "NUMBER_OF_KEYS: $NUMBER_OF_KEYS" - echo "MNEMONIC: $MNEMONIC" - echo "BLOCK_TIME: $BLOCK_TIME" - echo "GAS_LIMIT: $GAS_LIMIT" - echo "CHAIN_ID: $CHAIN_ID" - - $REPO/spartan/aztec-network/eth-devnet/create.sh + export VALUES_PATH="$REPO/spartan/aztec-network/values/${{ env.VALUES_FILE }}" + export DEFAULT_VALUES_PATH="$REPO/spartan/aztec-network/values.yaml" + + $REPO/yarn-project/end-to-end/scripts/bash/generate_devnet_config.sh - name: Setup Terraform uses: hashicorp/setup-terraform@v2 diff --git a/spartan/aztec-network/eth-devnet/create.sh b/spartan/aztec-network/eth-devnet/create.sh index ad7cbe667c7d..bee0771ebabe 100755 --- a/spartan/aztec-network/eth-devnet/create.sh +++ b/spartan/aztec-network/eth-devnet/create.sh @@ -14,9 +14,8 @@ CHAIN_ID=${CHAIN_ID:-"1337"} # Install cast if it is not installed if ! command -v cast &> /dev/null; then curl -L https://foundry.paradigm.xyz | bash - $HOME/.foundry/bin/foundryup || $XDG_CONFIG_HOME/.foundry/bin/foundryup ## add cast to path - export PATH="$PATH:~/.foundry/bin" + $HOME/.foundry/bin/foundryup && export PATH="$PATH:$HOME/.foundry/bin" || $XDG_CONFIG_HOME/.foundry/bin/foundryup && export PATH="$PATH:$XDG_CONFIG_HOME/.foundry/bin" fi # Function to create execution genesis diff --git a/yarn-project/end-to-end/scripts/bash/generate_devnet_config.sh b/yarn-project/end-to-end/scripts/bash/generate_devnet_config.sh new file mode 100755 index 000000000000..e78ac7755fc8 --- /dev/null +++ b/yarn-project/end-to-end/scripts/bash/generate_devnet_config.sh @@ -0,0 +1,20 @@ +#!/bin/bash +REPO=$(git rev-parse --show-toplevel) + +source "$REPO/yarn-project/end-to-end/scripts/bash/read_values_file.sh" + +export NUMBER_OF_KEYS=$(read_values_file "validator.replicas") +export NUMBER_OF_KEYS=$(read_values_file "validator.replicas") +export MNEMONIC=$(read_values_file "aztec.l1DeploymentMnemonic") +export BLOCK_TIME=$(read_values_file "ethereum.blockTime") +export GAS_LIMIT=$(read_values_file "ethereum.gasLimit") +export CHAIN_ID=$(read_values_file "ethereum.chainId") + +echo "Generating eth devnet config..." +echo "NUMBER_OF_KEYS: $NUMBER_OF_KEYS" +echo "MNEMONIC: $MNEMONIC" +echo "BLOCK_TIME: $BLOCK_TIME" +echo "GAS_LIMIT: $GAS_LIMIT" +echo "CHAIN_ID: $CHAIN_ID" + +$REPO/spartan/aztec-network/eth-devnet/create.sh \ No newline at end of file diff --git a/yarn-project/end-to-end/scripts/bash/read_values_file.sh b/yarn-project/end-to-end/scripts/bash/read_values_file.sh new file mode 100755 index 000000000000..260a165cb2dc --- /dev/null +++ b/yarn-project/end-to-end/scripts/bash/read_values_file.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +function read_values_file() { + local key="$1" + + value=$(yq -r ".$key" "$VALUES_PATH") + if [ -z "$value" ] || [ "$value" = "null" ]; then + value=$(yq -r ".$key" "$DEFAULT_VALUES_PATH") + fi + echo "$value" +} + diff --git a/yarn-project/end-to-end/scripts/network_test.sh b/yarn-project/end-to-end/scripts/network_test.sh index 40fe9eeb7d30..af08aa03b97e 100755 --- a/yarn-project/end-to-end/scripts/network_test.sh +++ b/yarn-project/end-to-end/scripts/network_test.sh @@ -133,41 +133,17 @@ if [ -z "${CHAOS_VALUES:-}" ] && [ "$INSTALL_CHAOS_MESH" = "true" ]; then kubectl delete networkchaos --all --all-namespaces fi -VALUES_PATH="$REPO/spartan/aztec-network/values/$VALUES_FILE" -DEFAULT_VALUES_PATH="$REPO/spartan/aztec-network/values.yaml" +export VALUES_PATH="$REPO/spartan/aztec-network/values/$VALUES_FILE" +export DEFAULT_VALUES_PATH="$REPO/spartan/aztec-network/values.yaml" -function read_values_file() { - local key="$1" - - value=$(yq -r ".$key" "$VALUES_PATH") - if [ -z "$value" ] || [ "$value" = "null" ]; then - value=$(yq -r ".$key" "$DEFAULT_VALUES_PATH") - fi - echo "$value" -} +# Load the read_values_file.sh script +source "$REPO/spartan/aztec-network/scripts/bash/read_values_file.sh" ## Some configuration values are set in the eth-devnet/config/config.yaml file ## and are used to generate the genesis.json file. ## We need to read these values and pass them into the eth devnet create.sh script ## so that it can generate the genesis.json and config.yaml file with the correct values. -function generate_eth_devnet_config() { - export NUMBER_OF_KEYS=$(read_values_file "validator.replicas") - export NUMBER_OF_KEYS=$(read_values_file "validator.replicas") - export MNEMONIC=$(read_values_file "aztec.l1DeploymentMnemonic") - export BLOCK_TIME=$(read_values_file "ethereum.blockTime") - export GAS_LIMIT=$(read_values_file "ethereum.gasLimit") - export CHAIN_ID=$(read_values_file "ethereum.chainId") - - echo "Generating eth devnet config..." - echo "NUMBER_OF_KEYS: $NUMBER_OF_KEYS" - echo "MNEMONIC: $MNEMONIC" - echo "BLOCK_TIME: $BLOCK_TIME" - echo "GAS_LIMIT: $GAS_LIMIT" - echo "CHAIN_ID: $CHAIN_ID" - - $REPO/spartan/aztec-network/eth-devnet/create.sh -} -generate_eth_devnet_config +$REPO/spartan/aztec-network/scripts/bash/generate_devnet_config.sh # Install the Helm chart helm upgrade --install spartan "$REPO/spartan/aztec-network/" \ From 88457d6e468c7ea140c02f69648efb6322518120 Mon Sep 17 00:00:00 2001 From: Maddiaa0 <47148561+Maddiaa0@users.noreply.github.com> Date: Tue, 21 Jan 2025 16:56:05 +0000 Subject: [PATCH 05/10] fix: trailing backslash --- .github/workflows/network-deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/network-deploy.yml b/.github/workflows/network-deploy.yml index 4e6411b84148..a5a876cc29b5 100644 --- a/.github/workflows/network-deploy.yml +++ b/.github/workflows/network-deploy.yml @@ -192,7 +192,7 @@ jobs: -var="VALUES_FILE=${{ env.VALUES_FILE }}" \ -var="GKE_CLUSTER_CONTEXT=${{ env.GKE_CLUSTER_CONTEXT }}" \ -var="AZTEC_DOCKER_IMAGE=${{ env.AZTEC_DOCKER_IMAGE }}" \ - -var="L1_DEPLOYMENT_MNEMONIC=${{ steps.get-mnemonic.outputs.mnemonic }}" + -var="L1_DEPLOYMENT_MNEMONIC=${{ steps.get-mnemonic.outputs.mnemonic }}" \ -lock=${{ inputs.respect_tf_lock }} fi From 019c0a1bb5e04756e1a5238a8f250e0a41ef24c6 Mon Sep 17 00:00:00 2001 From: Maddiaa0 <47148561+Maddiaa0@users.noreply.github.com> Date: Tue, 21 Jan 2025 16:56:54 +0000 Subject: [PATCH 06/10] fix: remove a trailing backslash --- .github/workflows/network-deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/network-deploy.yml b/.github/workflows/network-deploy.yml index a5a876cc29b5..3af491e85798 100644 --- a/.github/workflows/network-deploy.yml +++ b/.github/workflows/network-deploy.yml @@ -166,7 +166,7 @@ jobs: run: | terraform init \ -backend-config="bucket=${{ env.TF_STATE_BUCKET }}" \ - -backend-config="prefix=network-deploy/${{ env.REGION }}/${{ env.CLUSTER_NAME }}/${{ env.NAMESPACE }}/terraform.tfstate" \ + -backend-config="prefix=network-deploy/${{ env.REGION }}/${{ env.CLUSTER_NAME }}/${{ env.NAMESPACE }}/terraform.tfstate" - name: Terraform Destroy working-directory: ./spartan/terraform/deploy-release From 4d14d09680d304ba0b1678a9a56fa7dab79eed10 Mon Sep 17 00:00:00 2001 From: Maddiaa0 <47148561+Maddiaa0@users.noreply.github.com> Date: Tue, 21 Jan 2025 16:57:54 +0000 Subject: [PATCH 07/10] fix: paths in smoke --- yarn-project/end-to-end/scripts/network_test.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yarn-project/end-to-end/scripts/network_test.sh b/yarn-project/end-to-end/scripts/network_test.sh index af08aa03b97e..a98a7887ec4d 100755 --- a/yarn-project/end-to-end/scripts/network_test.sh +++ b/yarn-project/end-to-end/scripts/network_test.sh @@ -137,13 +137,13 @@ export VALUES_PATH="$REPO/spartan/aztec-network/values/$VALUES_FILE" export DEFAULT_VALUES_PATH="$REPO/spartan/aztec-network/values.yaml" # Load the read_values_file.sh script -source "$REPO/spartan/aztec-network/scripts/bash/read_values_file.sh" +source "$REPO/yarn-project/end-to-end/scripts/bash/read_values_file.sh" ## Some configuration values are set in the eth-devnet/config/config.yaml file ## and are used to generate the genesis.json file. ## We need to read these values and pass them into the eth devnet create.sh script ## so that it can generate the genesis.json and config.yaml file with the correct values. -$REPO/spartan/aztec-network/scripts/bash/generate_devnet_config.sh +$REPO/yarn-project/end-to-end/scripts/bash/generate_devnet_config.sh # Install the Helm chart helm upgrade --install spartan "$REPO/spartan/aztec-network/" \ From fb7912fcdce4eff2965795f60e1100f775794a5f Mon Sep 17 00:00:00 2001 From: Maddiaa0 <47148561+Maddiaa0@users.noreply.github.com> Date: Tue, 21 Jan 2025 18:11:49 +0000 Subject: [PATCH 08/10] fix: set default for XDG_CONFIG if not set in create.sh --- spartan/aztec-network/eth-devnet/create.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/spartan/aztec-network/eth-devnet/create.sh b/spartan/aztec-network/eth-devnet/create.sh index bee0771ebabe..954b1bcfbb4d 100755 --- a/spartan/aztec-network/eth-devnet/create.sh +++ b/spartan/aztec-network/eth-devnet/create.sh @@ -10,6 +10,7 @@ MNEMONIC=${MNEMONIC:-"test test test test test test test test test test test jun BLOCK_TIME=${BLOCK_TIME:-"12"} GAS_LIMIT=${GAS_LIMIT:-"1000000000"} CHAIN_ID=${CHAIN_ID:-"1337"} +XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-"$HOME/.config"} # Install cast if it is not installed if ! command -v cast &> /dev/null; then From 4b4a6b50ef814d724d79304fb03e0141e1e48b7c Mon Sep 17 00:00:00 2001 From: Maddiaa0 <47148561+Maddiaa0@users.noreply.github.com> Date: Tue, 21 Jan 2025 18:12:47 +0000 Subject: [PATCH 09/10] chore: pull mnemonic from previous step fix --- .github/workflows/network-deploy.yml | 2 ++ yarn-project/end-to-end/scripts/bash/generate_devnet_config.sh | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/network-deploy.yml b/.github/workflows/network-deploy.yml index 3af491e85798..0ff2fc37dacd 100644 --- a/.github/workflows/network-deploy.yml +++ b/.github/workflows/network-deploy.yml @@ -154,6 +154,8 @@ jobs: export VALUES_PATH="$REPO/spartan/aztec-network/values/${{ env.VALUES_FILE }}" export DEFAULT_VALUES_PATH="$REPO/spartan/aztec-network/values.yaml" + export MNEMONIC=${{ steps.get-mnemonic.outputs.mnemonic }} + $REPO/yarn-project/end-to-end/scripts/bash/generate_devnet_config.sh - name: Setup Terraform diff --git a/yarn-project/end-to-end/scripts/bash/generate_devnet_config.sh b/yarn-project/end-to-end/scripts/bash/generate_devnet_config.sh index e78ac7755fc8..1ba913509e75 100755 --- a/yarn-project/end-to-end/scripts/bash/generate_devnet_config.sh +++ b/yarn-project/end-to-end/scripts/bash/generate_devnet_config.sh @@ -4,8 +4,7 @@ REPO=$(git rev-parse --show-toplevel) source "$REPO/yarn-project/end-to-end/scripts/bash/read_values_file.sh" export NUMBER_OF_KEYS=$(read_values_file "validator.replicas") -export NUMBER_OF_KEYS=$(read_values_file "validator.replicas") -export MNEMONIC=$(read_values_file "aztec.l1DeploymentMnemonic") +export MNEMONIC=${MNEMONIC:-$(read_values_file "aztec.l1DeploymentMnemonic")} export BLOCK_TIME=$(read_values_file "ethereum.blockTime") export GAS_LIMIT=$(read_values_file "ethereum.gasLimit") export CHAIN_ID=$(read_values_file "ethereum.chainId") From dce17444eb470ec31fb85340b3c614ccf46e8e7d Mon Sep 17 00:00:00 2001 From: Maddiaa0 <47148561+Maddiaa0@users.noreply.github.com> Date: Tue, 21 Jan 2025 18:46:40 +0000 Subject: [PATCH 10/10] fix: post merge --- yarn-project/end-to-end/scripts/bash/generate_devnet_config.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/yarn-project/end-to-end/scripts/bash/generate_devnet_config.sh b/yarn-project/end-to-end/scripts/bash/generate_devnet_config.sh index 1ba913509e75..38c0991587b6 100755 --- a/yarn-project/end-to-end/scripts/bash/generate_devnet_config.sh +++ b/yarn-project/end-to-end/scripts/bash/generate_devnet_config.sh @@ -4,12 +4,14 @@ REPO=$(git rev-parse --show-toplevel) source "$REPO/yarn-project/end-to-end/scripts/bash/read_values_file.sh" export NUMBER_OF_KEYS=$(read_values_file "validator.replicas") +export EXTRA_ACCOUNTS=$(read_values_file "ethereum.extraAccounts") export MNEMONIC=${MNEMONIC:-$(read_values_file "aztec.l1DeploymentMnemonic")} export BLOCK_TIME=$(read_values_file "ethereum.blockTime") export GAS_LIMIT=$(read_values_file "ethereum.gasLimit") export CHAIN_ID=$(read_values_file "ethereum.chainId") echo "Generating eth devnet config..." +NUMBER_OF_KEYS=$((NUMBER_OF_KEYS + EXTRA_ACCOUNTS)) echo "NUMBER_OF_KEYS: $NUMBER_OF_KEYS" echo "MNEMONIC: $MNEMONIC" echo "BLOCK_TIME: $BLOCK_TIME"