Skip to content

Commit 7fff6de

Browse files
committed
allow external docker img again
1 parent d8cc3b5 commit 7fff6de

1 file changed

Lines changed: 41 additions & 26 deletions

File tree

.github/workflows/deploy-network.yml

Lines changed: 41 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ on:
99
description: "Network to deploy (e.g., staging-public, testnet, next-net)"
1010
required: true
1111
type: string
12-
semver:
13-
description: "Semver version (e.g., 2.3.4)"
14-
required: true
12+
aztec_docker_image:
13+
description: "Full Aztec docker image (e.g., aztecprotocol/aztec:2.3.4). If not set, constructed from semver."
14+
required: false
1515
type: string
16-
docker_image_tag:
17-
description: "Full docker image tag (optional, defaults to semver)"
16+
semver:
17+
description: "Semver version (e.g., 2.3.4). Used to construct docker image if aztec_docker_image is not set."
1818
required: false
1919
type: string
2020
ref:
@@ -49,12 +49,12 @@ on:
4949
- staging-public
5050
- testnet
5151
- mainnet
52-
semver:
53-
description: "Semver version (e.g., 2.3.4)"
54-
required: true
52+
aztec_docker_image:
53+
description: "Full Aztec docker image (e.g., aztecprotocol/aztec:2.3.4). If not set, constructed from semver."
54+
required: false
5555
type: string
56-
docker_image_tag:
57-
description: "Full docker image tag (optional, defaults to semver)"
56+
semver:
57+
description: "Semver version (e.g., 2.3.4). Used to construct docker image if aztec_docker_image is not set."
5858
required: false
5959
type: string
6060
namespace:
@@ -76,7 +76,7 @@ on:
7676
type: string
7777

7878
concurrency:
79-
group: deploy-network-${{ inputs.network }}-${{ inputs.namespace || inputs.network }}-${{ inputs.semver }}-${{ github.ref || github.ref_name }}
79+
group: deploy-network-${{ inputs.network }}-${{ inputs.namespace || inputs.network }}-${{ inputs.aztec_docker_image || inputs.semver }}-${{ github.ref || github.ref_name }}
8080
cancel-in-progress: true
8181

8282
jobs:
@@ -120,16 +120,31 @@ jobs:
120120
exit 1
121121
fi
122122
123-
# Validate semver format
124-
if ! echo "${{ inputs.semver }}" | grep -Eq '^[0-9]+\.[0-9]+\.[0-9]+(-.*)?$'; then
125-
echo "Error: Invalid semver format '${{ inputs.semver }}'. Expected format: X.Y.Z or X.Y.Z-suffix"
123+
# Require at least one of aztec_docker_image or semver
124+
if [[ -z "${{ inputs.aztec_docker_image }}" && -z "${{ inputs.semver }}" ]]; then
125+
echo "Error: Either 'aztec_docker_image' or 'semver' must be provided"
126126
exit 1
127127
fi
128128
129-
# Extract major version for v2 check
130-
major_version="${{ inputs.semver }}"
131-
major_version="${major_version%%.*}"
132-
echo "MAJOR_VERSION=$major_version" >> $GITHUB_ENV
129+
# Validate semver format if provided
130+
if [[ -n "${{ inputs.semver }}" ]]; then
131+
if ! echo "${{ inputs.semver }}" | grep -Eq '^[0-9]+\.[0-9]+\.[0-9]+(-.*)?$'; then
132+
echo "Error: Invalid semver format '${{ inputs.semver }}'. Expected format: X.Y.Z or X.Y.Z-suffix"
133+
exit 1
134+
fi
135+
fi
136+
137+
# Resolve the docker image
138+
if [[ -n "${{ inputs.aztec_docker_image }}" ]]; then
139+
AZTEC_DOCKER_IMAGE="${{ inputs.aztec_docker_image }}"
140+
else
141+
AZTEC_DOCKER_IMAGE="aztecprotocol/aztec:${{ inputs.semver }}"
142+
fi
143+
echo "AZTEC_DOCKER_IMAGE=$AZTEC_DOCKER_IMAGE" >> $GITHUB_ENV
144+
145+
# Derive prover agent image by replacing /aztec: with /aztec-prover-agent:
146+
PROVER_AGENT_DOCKER_IMAGE="${AZTEC_DOCKER_IMAGE/\/aztec:/\/aztec-prover-agent:}"
147+
echo "PROVER_AGENT_DOCKER_IMAGE=$PROVER_AGENT_DOCKER_IMAGE" >> $GITHUB_ENV
133148
134149
- name: Store the GCP key in a file
135150
env:
@@ -174,12 +189,12 @@ jobs:
174189
RUN_ID: ${{ github.run_id }}
175190
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
176191
GOOGLE_APPLICATION_CREDENTIALS: ${{ env.GOOGLE_APPLICATION_CREDENTIALS }}
177-
REF_NAME: "v${{ inputs.semver }}"
192+
REF_NAME: ${{ inputs.semver && format('v{0}', inputs.semver) || '' }}
178193
GCP_PROJECT_ID: ${{ secrets.GCP_PROJECT_ID }}
179194
NAMESPACE: ${{ inputs.namespace }}
180-
AZTEC_DOCKER_IMAGE: "aztecprotocol/aztec:${{ inputs.docker_image_tag || inputs.semver }}"
195+
AZTEC_DOCKER_IMAGE: ${{ env.AZTEC_DOCKER_IMAGE }}
181196
CREATE_ROLLUP_CONTRACTS: ${{ inputs.deploy_contracts == true && 'true' || '' }}
182-
PROVER_AGENT_DOCKER_IMAGE: "aztecprotocol/aztec-prover-agent:${{ inputs.docker_image_tag || inputs.semver }}"
197+
PROVER_AGENT_DOCKER_IMAGE: ${{ env.PROVER_AGENT_DOCKER_IMAGE }}
183198
VALIDATOR_HA_DOCKER_IMAGE: ${{ inputs.ha_docker_image || '' }}
184199
run: |
185200
echo "Deploying network: ${{ inputs.network }}"
@@ -209,7 +224,7 @@ jobs:
209224
echo "| Item | Value |"
210225
echo "|------|-------|"
211226
echo "| Network | \`${{ inputs.network }}\` |"
212-
echo "| Semver | \`${{ inputs.semver }}\` |"
227+
echo "| Docker Image | \`${{ env.AZTEC_DOCKER_IMAGE }}\` |"
213228
echo "| Ref | \`${{ steps.checkout-ref.outputs.ref }}\` |"
214229
if [[ -n "${{ inputs.source_tag }}" ]]; then
215230
echo "| Source Tag | [\`${{ inputs.source_tag }}\`](https://github.com/${{ github.repository }}/releases/tag/${{ inputs.source_tag }}) |"
@@ -229,7 +244,7 @@ jobs:
229244
230245
CHANNEL="#alerts-${{ inputs.network }}"
231246
RUN_URL="https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"
232-
TEXT="Deploy Network workflow FAILED for *${{ inputs.network }}* (version ${{ inputs.semver }}): <${RUN_URL}|View Run> (🤖)"
247+
TEXT="Deploy Network workflow FAILED for *${{ inputs.network }}* (image ${{ env.AZTEC_DOCKER_IMAGE }}): <${RUN_URL}|View Run> (🤖)"
233248
234249
# Post to Slack and capture timestamp for permalink
235250
RESP=$(curl -sS -X POST https://slack.com/api/chat.postMessage \
@@ -247,11 +262,11 @@ jobs:
247262
fi
248263
249264
# Dispatch ClaudeBox to investigate the failure
250-
PROMPT="Deployment of ${{ inputs.network }} (version ${{ inputs.semver }}) failed. \
265+
PROMPT="Deployment of ${{ inputs.network }} (image ${{ env.AZTEC_DOCKER_IMAGE }}) failed. \
251266
Follow .claude/claudebox/deploy-investigation.md to investigate. \
252267
GitHub Actions run: ${RUN_URL}. \
253-
Network: ${{ inputs.network }}. Version: ${{ inputs.semver }}. \
254-
Docker image: ${{ inputs.docker_image_tag || inputs.semver }}. \
268+
Network: ${{ inputs.network }}. \
269+
Docker image: ${{ env.AZTEC_DOCKER_IMAGE }}. \
255270
Git ref: ${{ steps.checkout-ref.outputs.ref }}. \
256271
Namespace: ${{ inputs.namespace || inputs.network }}. \
257272
Deploy contracts: ${{ inputs.deploy_contracts }}."

0 commit comments

Comments
 (0)