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
64 changes: 49 additions & 15 deletions .github/workflows/deploy-network.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,15 @@ on:
description: "Full Aztec docker image (e.g., aztecprotocol/aztec:2.3.4). If not set, constructed from semver."
required: false
type: string
prover_docker_image:
description: "Full Prover docker image URL. If not set defaults to aztec_docker_image."
required: false
type: string
use_internal_docker_registry:
description: "Construct Aztec docker images from INTERNAL_DOCKER_REGISTRY and semver."
required: false
type: boolean
default: false
ref:
description: "Git ref to checkout"
required: false
Expand Down Expand Up @@ -62,6 +71,15 @@ on:
description: "Full Aztec docker image (e.g., aztecprotocol/aztec:2.3.4). If not set, constructed from semver."
required: false
type: string
prover_docker_image:
description: "Full Prover docker image URL. If not set defaults to aztec_docker_image."
required: false
type: string
use_internal_docker_registry:
description: "Construct Aztec docker images from INTERNAL_DOCKER_REGISTRY and semver."
required: false
type: boolean
default: false
namespace:
description: "Kubernetes namespace override (optional, defaults to env file value)"
required: false
Expand Down Expand Up @@ -123,6 +141,8 @@ jobs:
node-version: 22

- name: Validate inputs
env:
INTERNAL_DOCKER_REGISTRY: ${{ secrets.INTERNAL_DOCKER_REGISTRY }}
run: |
# Validate network
if [[ ! -f "spartan/environments/${{ inputs.network }}.env" ]]; then
Expand All @@ -146,28 +166,42 @@ jobs:
fi
fi
# Resolve the docker image
if [[ -n "${{ inputs.aztec_docker_image }}" ]]; then
AZTEC_DOCKER_IMAGE="${{ inputs.aztec_docker_image }}"
else
AZTEC_DOCKER_IMAGE="aztecprotocol/aztec:${{ inputs.semver }}"
if [[ "${{ inputs.use_internal_docker_registry }}" == "true" && -z "${{ inputs.semver }}" ]]; then
echo "Error: semver must be provided when use_internal_docker_registry is true"
exit 1
fi
echo "AZTEC_DOCKER_IMAGE=$AZTEC_DOCKER_IMAGE" >> $GITHUB_ENV
# Use the CRS-baked prover-agent image when it exists; otherwise let the
# deploy script fall back to AZTEC_DOCKER_IMAGE and download CRS on startup.
if [[ -n "${{ inputs.semver }}" ]]; then
PROVER_AGENT_DOCKER_IMAGE="aztecprotocol/aztec-prover-agent:${{ inputs.semver }}"
# Resolve the docker image
AZTEC_DOCKER_IMAGE="${{ inputs.aztec_docker_image }}"
PROVER_AGENT_DOCKER_IMAGE="${{ inputs.prover_docker_image }}"
INTERNAL_REGISTRY_BASE_URL=""
if [[ "${{ inputs.use_internal_docker_registry }}" == "true" ]]; then
INTERNAL_REGISTRY_BASE_URL="${INTERNAL_DOCKER_REGISTRY%/}"
echo "::add-mask::$INTERNAL_REGISTRY_BASE_URL"
fi
echo "Checking if prover agent image exists: $PROVER_AGENT_DOCKER_IMAGE"
if docker manifest inspect "$PROVER_AGENT_DOCKER_IMAGE" > /dev/null 2>&1; then
echo "PROVER_AGENT_DOCKER_IMAGE=$PROVER_AGENT_DOCKER_IMAGE" >> $GITHUB_ENV
if [[ -z "$AZTEC_DOCKER_IMAGE" ]]; then
if [[ -n "$INTERNAL_REGISTRY_BASE_URL" ]]; then
AZTEC_DOCKER_IMAGE="$INTERNAL_REGISTRY_BASE_URL/aztec:${{ inputs.semver }}"
echo "::add-mask::$AZTEC_DOCKER_IMAGE"
else
echo "Prover agent image does not exist: $PROVER_AGENT_DOCKER_IMAGE"
echo "Falling back to AZTEC_DOCKER_IMAGE for prover agents."
AZTEC_DOCKER_IMAGE="aztecprotocol/aztec:${{ inputs.semver }}"
fi
fi
if [[ -z "$PROVER_AGENT_DOCKER_IMAGE" ]]; then
if [[ -n "$INTERNAL_REGISTRY_BASE_URL" ]]; then
PROVER_AGENT_DOCKER_IMAGE="$INTERNAL_REGISTRY_BASE_URL/aztec-prover-agent:${{ inputs.semver }}"
echo "::add-mask::$PROVER_AGENT_DOCKER_IMAGE"
elif [[ -z "${{ inputs.aztec_docker_image }}" && -n "${{ inputs.semver }}" ]]; then
PROVER_AGENT_DOCKER_IMAGE="aztecprotocol/aztec-prover-agent:${{ inputs.semver }}"
fi
fi
echo "AZTEC_DOCKER_IMAGE=$AZTEC_DOCKER_IMAGE" >> $GITHUB_ENV
echo "PROVER_AGENT_DOCKER_IMAGE=$PROVER_AGENT_DOCKER_IMAGE" >> $GITHUB_ENV
- name: Store the GCP key in a file
env:
GCP_SA_KEY: ${{ secrets.GCP_SA_KEY }}
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/deploy-staging.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,10 @@ jobs:
tag: ${{ steps.resolve.outputs.tag }}
semver: ${{ steps.resolve.outputs.semver }}
steps:
- name: Checkout v4-next
- name: Checkout v5-next
uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
with:
ref: v4-next
ref: v5-next
token: ${{ secrets.AZTEC_BOT_GITHUB_TOKEN }}
fetch-depth: 0

Expand Down Expand Up @@ -82,6 +82,7 @@ jobs:
with:
network: staging
semver: ${{ needs.determine-tag.outputs.semver }}
use_internal_docker_registry: true
source_tag: ${{ needs.determine-tag.outputs.tag }}
deploy_contracts: ${{ inputs.deploy_contracts == true }}
secrets: inherit
1 change: 1 addition & 0 deletions .github/workflows/nightly-spartan-bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -306,6 +306,7 @@ jobs:
tool: "customSmallerIsBetter"
output-file-path: ./bench-out/bench.json
github-token: ${{ secrets.AZTEC_BOT_GITHUB_TOKEN }}
gh-repository: github.com/AztecProtocol/benchmark-page-data
auto-push: true
ref: ${{ github.event.workflow_run.head_sha || github.sha }}
alert-threshold: "120%"
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/weekly-proving-bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,7 @@ jobs:
tool: "customSmallerIsBetter"
output-file-path: ./bench-out/bench.json
github-token: ${{ secrets.AZTEC_BOT_GITHUB_TOKEN }}
gh-repository: github.com/AztecProtocol/benchmark-page-data
auto-push: true
ref: ${{ github.event.workflow_run.head_sha || github.sha }}
alert-threshold: "120%"
Expand Down
4 changes: 3 additions & 1 deletion spartan/aztec-node/scripts/setup-attester-keystore.sh
Original file line number Diff line number Diff line change
Expand Up @@ -95,9 +95,11 @@ for ((v = 0; v < VALIDATORS_PER_NODE; v++)); do
attester="${private_keys[$v]}"
fi

coinbase="${COINBASE:-$attester}"

validators_json+="{
\"attester\": \"$attester\",
\"coinbase\": \"$attester\",
\"coinbase\": \"$coinbase\",
\"feeRecipient\": \"0x0000000000000000000000000000000000000000000000000000000000000000\"
}"
done
Expand Down
1 change: 1 addition & 0 deletions spartan/environments/testnet.env
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ VALIDATOR_PUBLISHERS_PER_REPLICA=8
VALIDATOR_PUBLISHER_MNEMONIC_START_INDEX=5000
VALIDATOR_HA_REPLICAS=1
VALIDATOR_RESOURCE_PROFILE="prod"
VALIDATOR_COINBASE="0x36502A83735ED62671B55858809703898cDE4f95"

PUBLISHERS_PER_PROVER=2
PROVER_PUBLISHER_MNEMONIC_START_INDEX=8000
Expand Down
1 change: 1 addition & 0 deletions spartan/scripts/deploy_network.sh
Original file line number Diff line number Diff line change
Expand Up @@ -569,6 +569,7 @@ VALIDATOR_PUBLISHER_MNEMONIC_START_INDEX = ${VALIDATOR_PUBLISHER_MNEMONIC_START_
VALIDATORS_PER_NODE = ${VALIDATORS_PER_NODE}
VALIDATOR_REPLICAS = ${VALIDATOR_REPLICAS}
VALIDATOR_PUBLISHERS_PER_REPLICA = ${VALIDATOR_PUBLISHERS_PER_REPLICA}
VALIDATOR_COINBASE = $(tf_str "${VALIDATOR_COINBASE:-}")
VALIDATOR_HA_REPLICAS = ${VALIDATOR_HA_REPLICAS}
VALIDATOR_HA_REPLICA_COUNT = ${VALIDATOR_HA_REPLICA_COUNT:-null}
VALIDATOR_HA_OLD_DUTIES_MAX_AGE_H = ${VALIDATOR_HA_OLD_DUTIES_MAX_AGE_H}
Expand Down
Loading
Loading