Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading