Skip to content

Commit

Permalink
chore: fix devnet deploy (#11387)
Browse files Browse the repository at this point in the history
  • Loading branch information
Maddiaa0 authored Jan 21, 2025
1 parent 931dfa6 commit 71d8ede
Show file tree
Hide file tree
Showing 6 changed files with 61 additions and 34 deletions.
7 changes: 7 additions & 0 deletions .github/workflows/devnet-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
Expand All @@ -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 }}

Expand Down
16 changes: 14 additions & 2 deletions .github/workflows/network-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,18 @@ 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)
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
uses: hashicorp/setup-terraform@v2
with:
Expand All @@ -156,7 +168,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
Expand All @@ -182,7 +194,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
Expand Down
4 changes: 2 additions & 2 deletions spartan/aztec-network/eth-devnet/create.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@ 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
curl -L https://foundry.paradigm.xyz | bash
~/.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
Expand Down
21 changes: 21 additions & 0 deletions yarn-project/end-to-end/scripts/bash/generate_devnet_config.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/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 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"
echo "GAS_LIMIT: $GAS_LIMIT"
echo "CHAIN_ID: $CHAIN_ID"

$REPO/spartan/aztec-network/eth-devnet/create.sh
12 changes: 12 additions & 0 deletions yarn-project/end-to-end/scripts/bash/read_values_file.sh
Original file line number Diff line number Diff line change
@@ -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"
}

35 changes: 5 additions & 30 deletions yarn-project/end-to-end/scripts/network_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -133,42 +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/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.
function generate_eth_devnet_config() {
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")
export EXTRA_ACCOUNTS=$(read_values_file "ethereum.extraAccounts")

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"
echo "GAS_LIMIT: $GAS_LIMIT"
echo "CHAIN_ID: $CHAIN_ID"

$REPO/spartan/aztec-network/eth-devnet/create.sh
}
generate_eth_devnet_config
$REPO/yarn-project/end-to-end/scripts/bash/generate_devnet_config.sh

# Install the Helm chart
helm upgrade --install spartan "$REPO/spartan/aztec-network/" \
Expand Down

0 comments on commit 71d8ede

Please sign in to comment.