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
9 changes: 9 additions & 0 deletions .github/workflows/ci3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,10 @@ jobs:
contains(github.event.pull_request.labels.*.name, 'ci-full')
run: echo "CI_FULL=1" >> $GITHUB_ENV

- name: CI Nightly Check
if: contains(github.ref, '-nightly.')
run: echo "CI_NIGHTLY=1" >> $GITHUB_ENV

- name: Setup
run: |
# Ensure we can SSH into the spot instances we request.
Expand All @@ -86,6 +90,11 @@ jobs:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
CI: 1
# nightly test env vars
EXTERNAL_ETHEREUM_HOSTS: "https://json-rpc.${{ secrets.GCP_SEPOLIA_URL }}?key=${{ secrets.GCP_SEPOLIA_API_KEY }},${{ secrets.INFURA_SEPOLIA_URL }}"
EXTERNAL_ETHEREUM_CONSENSUS_HOST: "https://beacon.${{ secrets.GCP_SEPOLIA_URL }}"
EXTERNAL_ETHEREUM_CONSENSUS_HOST_API_KEY: ${{ secrets.GCP_SEPOLIA_API_KEY }}
EXTERNAL_ETHEREUM_CONSENSUS_HOST_API_KEY_HEADER: "X-goog-api-key"
run: |
./ci.sh ec2

Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/nightly-release-tag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ on:
# Run the workflow every night at 2:00 AM UTC.
- cron: "0 2 * * *"

# Add permissions for the GitHub Actions bot to push tags
permissions:
contents: write

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}

Expand All @@ -15,11 +19,10 @@ jobs:
- uses: actions/checkout@v4

# Extract the current release version from the manifest.
# Adjust the jq filter if your manifest structure differs.
# Then, create a nightly tag using the current version and the current UTC date.
- name: Create Nightly Tag
run: |
current_version=$(jq -r '.version' .release-please-manifest.json)
current_version=$(jq -r '."."' .release-please-manifest.json)
echo "Current version: $current_version"
# Format the tag as: <current_version>-nightly.<YYYYMMDD>
nightly_tag="${current_version}-nightly.$(date -u +%Y%m%d)"
Expand Down
6 changes: 6 additions & 0 deletions ci3/bootstrap_ec2
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,12 @@ ssh ${ssh_args:-} -F $ci3/aws/build_instance_ssh_config ubuntu@$ip "
-e LOCAL_GROUP_ID=\$(id -g) \
-e CI=$CI \
-e CI_FULL=$CI_FULL \
-e CI_NIGHTLY=${CI_NIGHTLY:-0} \
-e EXTERNAL_ETHEREUM_HOSTS=${EXTERNAL_ETHEREUM_HOSTS:-} \
-e EXTERNAL_ETHEREUM_CONSENSUS_HOST=${EXTERNAL_ETHEREUM_CONSENSUS_HOST:-} \
-e EXTERNAL_ETHEREUM_CONSENSUS_HOST_API_KEY=${EXTERNAL_ETHEREUM_CONSENSUS_HOST_API_KEY:-} \
-e EXTERNAL_ETHEREUM_CONSENSUS_HOST_API_KEY_HEADER=${EXTERNAL_ETHEREUM_CONSENSUS_HOST_API_KEY_HEADER:-} \
-e L1_DEPLOYMENT_PRIVATE_KEY=${L1_DEPLOYMENT_PRIVATE_KEY:-} \
-e DRY_RUN=${DRY_RUN:-0} \
-e DOCKERHUB_PASSWORD=${DOCKERHUB_PASSWORD:-} \
-e AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-} \
Expand Down
1 change: 0 additions & 1 deletion spartan/aztec-network/templates/boot-node.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,6 @@ spec:
source /shared/config/validator-addresses
{{- include "aztec-network.waitForEthereum" . | nindent 14 }}


/scripts/deploy-l1-contracts.sh "{{ .Values.aztec.l1Salt }}" "{{ .Values.ethereum.chainId }}" "$VALIDATOR_ADDRESSES"
volumeMounts:
- name: scripts-output
Expand Down
2 changes: 1 addition & 1 deletion spartan/aztec-network/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ aztec:
proofSubmissionWindow: 64 # in L2 slots, from the start of the epoch to be proven
realProofs: false

l1Salt: "42" # leave empty for random salt
l1Salt: "" # leave empty for random salt
testAccounts: true
l1DeploymentMnemonic: "test test test test test test test test test test test junk" # the mnemonic used when deploying contracts
manaTarget: "" # use default value
Expand Down
10 changes: 8 additions & 2 deletions spartan/aztec-network/values/ci-sepolia.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ aztec:
realProofs: false
l1DeploymentMnemonic: ""
numberOfDefaultAccounts: 0
l1Salt: ""

network:
setupL2Contracts: false
Expand All @@ -25,8 +26,7 @@ telemetry:
validator:
l1FixedPriorityFeePerGas: 3
l1GasLimitBufferPercentage: 15
replicas: 3
validatorKeys:
replicas: 8
resources:
requests:
cpu: "200m"
Expand All @@ -35,6 +35,12 @@ validator:
sequencer:
enforceTimeTable: false

fullNode:
replicas: 1
resources:
requests:
memory: "2Gi"
cpu: "200m"
bot:
followChain: "PENDING"
enabled: true
Expand Down
15 changes: 15 additions & 0 deletions spartan/bootstrap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,11 @@ function test_cmds {
echo "$hash timeout -v 30m ./spartan/bootstrap.sh test-prod-deployment"
echo "$hash timeout -v 30m ./spartan/bootstrap.sh test-cli-upgrade-with-lock"
fi

if [ "$CI_NIGHTLY" -eq 1 ]; then
echo "$hash timeout -v 50m ./spartan/bootstrap.sh test-kind-4epochs-sepolia"
echo "$hash timeout -v 30m ./spartan/bootstrap.sh test-kind-proving"
fi
}

function test {
Expand Down Expand Up @@ -123,6 +128,16 @@ case "$cmd" in
FRESH_INSTALL=${FRESH_INSTALL:-true} INSTALL_METRICS=false \
./scripts/test_kind.sh src/spartan/4epochs.test.ts ci.yaml four-epochs${NAME_POSTFIX:-}
;;
"test-kind-4epochs-sepolia")
OVERRIDES="bot.enabled=false" \
FRESH_INSTALL=${FRESH_INSTALL:-true} INSTALL_METRICS=false SEPOLIA_RUN=true \
./scripts/test_kind.sh src/spartan/4epochs.test.ts ci-sepolia.yaml four-epochs${NAME_POSTFIX:-}
;;
"test-kind-proving")
OVERRIDES="bot.enabled=false" \
FRESH_INSTALL=${FRESH_INSTALL:-true} INSTALL_METRICS=false \
./scripts/test_kind.sh src/spartan/proving.test.ts ci.yaml proving${NAME_POSTFIX:-}
;;
"test-kind-transfer")
# TODO(#12163) reenable bot once not conflicting with transfer
OVERRIDES="blobSink.enabled=true,bot.enabled=false" \
Expand Down
51 changes: 25 additions & 26 deletions spartan/scripts/deploy_kind.sh
Original file line number Diff line number Diff line change
Expand Up @@ -78,41 +78,31 @@ function generate_overrides {
fi
}

helm_set_args=(
--set images.aztec.image="aztecprotocol/aztec:$aztec_docker_tag"
)

# 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.
if [ "$sepolia_deployment" = "true" ]; then
echo "Generating sepolia accounts..."
set +x
# Split EXTERNAL_ETHEREUM_HOSTS by comma and take first host
# set +x
export ETHEREUM_HOST=$(echo "$EXTERNAL_ETHEREUM_HOSTS" | cut -d',' -f1)
./prepare_sepolia_accounts.sh "$values_file" 1 "$mnemonic_file"
L1_ACCOUNTS_MNEMONIC=$(cat "$mnemonic_file")
set -x
else
echo "Generating devnet config..."
./generate_devnet_config.sh "$values_file"
fi
echo "mnemonic: $mnemonic_file"
L1_ACCOUNTS_MNEMONIC="$(cat "$mnemonic_file")"

# Install the Helm chart
echo "Cleaning up any existing Helm releases..."
helm uninstall "$helm_instance" -n "$namespace" 2>/dev/null || true
kubectl delete clusterrole "$helm_instance"-aztec-network-node 2>/dev/null || true
kubectl delete clusterrolebinding "$helm_instance"-aztec-network-node 2>/dev/null || true
# Escape the EXTERNAL_ETHEREUM_HOSTS value for Helm
ESCAPED_HOSTS=$(echo "$EXTERNAL_ETHEREUM_HOSTS" | sed 's/,/\\,/g' | sed 's/=/\\=/g')

helm_set_args=(
--set images.aztec.image="aztecprotocol/aztec:$aztec_docker_tag"
)

# If this is a sepolia run, we need to write some values
if [ "$sepolia_deployment" = "true" ]; then
set +x
# Escape commas in the EXTERNAL_ETHEREUM_HOSTS value
ESCAPED_HOSTS=$(echo "$EXTERNAL_ETHEREUM_HOSTS" | sed 's/,/\\,/g')
helm_set_args+=(
--set "ethereum.execution.externalHosts=$ESCAPED_HOSTS"
--set "ethereum.beacon.externalHost=$EXTERNAL_ETHEREUM_CONSENSUS_HOST"
--set "aztec.l1DeploymentMnemonic=$L1_ACCOUNTS_MNEMONIC"
--set "ethereum.deployL1ContractsPrivateKey=$L1_DEPLOYMENT_PRIVATE_KEY"
--set ethereum.execution.externalHosts="$ESCAPED_HOSTS"
--set ethereum.beacon.externalHost="$EXTERNAL_ETHEREUM_CONSENSUS_HOST"
--set aztec.l1DeploymentMnemonic="$L1_ACCOUNTS_MNEMONIC"
--set ethereum.deployL1ContractsPrivateKey="$L1_DEPLOYMENT_PRIVATE_KEY"
)

if [ -n "${EXTERNAL_ETHEREUM_CONSENSUS_HOST_API_KEY:-}" ]; then
Expand All @@ -122,9 +112,18 @@ if [ "$sepolia_deployment" = "true" ]; then
if [ -n "${EXTERNAL_ETHEREUM_CONSENSUS_HOST_API_KEY_HEADER:-}" ]; then
helm_set_args+=(--set "ethereum.beacon.apiKeyHeader=$EXTERNAL_ETHEREUM_CONSENSUS_HOST_API_KEY_HEADER")
fi
set -x
# set -x
else
echo "Generating devnet config..."
./generate_devnet_config.sh "$values_file"
fi

# Install the Helm chart
echo "Cleaning up any existing Helm releases..."
helm uninstall "$helm_instance" -n "$namespace" 2>/dev/null || true
kubectl delete clusterrole "$helm_instance"-aztec-network-node 2>/dev/null || true
kubectl delete clusterrolebinding "$helm_instance"-aztec-network-node 2>/dev/null || true

helm upgrade --install "$helm_instance" ../aztec-network \
--namespace "$namespace" \
--create-namespace \
Expand Down
2 changes: 1 addition & 1 deletion yarn-project/ethereum/src/l1_tx_utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ export const l1TxUtilsConfigMappings: ConfigMappingsType<L1TxUtilsConfig> = {
maxGwei: {
description: 'Maximum gas price in gwei',
env: 'L1_GAS_PRICE_MAX',
...bigintConfigHelper(100n),
...bigintConfigHelper(500n),
},
maxBlobGwei: {
description: 'Maximum blob fee per gas in gwei',
Expand Down