Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
143 commits
Select commit Hold shift + click to select a range
acc1c8f
chore: 1st attempt at automatic devnet deployment
spypsy Jun 20, 2024
d3b6a29
fix FULL_IMAGE var
spypsy Jun 21, 2024
e214015
fix missing vars
spypsy Jun 21, 2024
1a45de7
rm contract address vars
spypsy Jun 21, 2024
368cb6e
fix deploy p2p
spypsy Jun 21, 2024
d38fe6e
fix ecs name
spypsy Jun 24, 2024
26fd7e6
hardcode fork url
spypsy Jun 24, 2024
80253eb
force new deployments
spypsy Jun 24, 2024
16fe39b
hardcode aztec-dev in tf file
spypsy Jun 24, 2024
4ed2e5b
separate node - prover terraforms
spypsy Jun 25, 2024
cdfd127
add data resources
spypsy Jun 25, 2024
7e20a58
add provider block
spypsy Jun 26, 2024
b88a3ea
merge with master
spypsy Jun 26, 2024
a5d45bf
Merge branch 'master' into devnet
spypsy Jun 26, 2024
c19aae1
undo formatting
spypsy Jun 26, 2024
38bc061
undo formatting again
spypsy Jun 26, 2024
a04678a
cancel-in-progress
spypsy Jun 26, 2024
cf32b29
fix ecs task def name
spypsy Jun 26, 2024
2aa4eb0
fix aws_ecs_service name ref
spypsy Jun 26, 2024
b400d3b
fix container names
spypsy Jun 26, 2024
bf8c939
PR fixes
spypsy Jun 28, 2024
543f660
remove ref from main.tf
spypsy Jun 28, 2024
898388c
use deploy_tag again for fork url
spypsy Jun 28, 2024
ce09a75
feat: deploy L1 contracts on GA (#7262)
spypsy Jul 2, 2024
e1a9b5d
chore: redeploy L1 contracts (#7263)
spypsy Jul 2, 2024
2bd87c1
fix: fetch-depth 0 (#7264)
spypsy Jul 2, 2024
7afe0d6
chore: redeploy devnet (#7265)
spypsy Jul 2, 2024
987ba1a
chore: redeploy & log (#7266)
spypsy Jul 2, 2024
1227447
fix: use result key (#7267)
spypsy Jul 2, 2024
49170e4
fix: setup-action (#7268)
spypsy Jul 2, 2024
8c3fcc6
fix: action ordering (#7270)
spypsy Jul 2, 2024
e3c45ec
fix: publish cli image to dockerhub (#7274)
spypsy Jul 2, 2024
dbde910
fix: checkout depth on setup (#7275)
spypsy Jul 2, 2024
0f7e6ec
fix: typo (#7276)
spypsy Jul 2, 2024
d574047
fix: input script's file_path (#7278)
spypsy Jul 2, 2024
9c512c0
chore: redeploy l1 contracts (#7295)
spypsy Jul 3, 2024
b46079a
fix: docker run cmd (#7296)
spypsy Jul 3, 2024
ea3102c
fix: taint EFS on l1 redeploy (#7300)
spypsy Jul 3, 2024
dbdb71e
fix: master conflicts (#7303)
spypsy Jul 3, 2024
56c52f9
fix: init terraform in all cases (#7304)
spypsy Jul 3, 2024
b26dd72
merge with master
spypsy Jul 3, 2024
3f37de6
fix merge
spypsy Jul 3, 2024
7afe45f
undo noir changes
spypsy Jul 3, 2024
5e33a6b
fix ETHEREUM_HOST in terraform
spypsy Jul 4, 2024
6451d7c
chore: deploy mainnet-fork, update devnet chainID
spypsy Jul 5, 2024
4685126
redeploy l1
spypsy Jul 5, 2024
f6bf309
use aztecprotocol account
spypsy Jul 5, 2024
f2c24f2
fix fork working-directory
spypsy Jul 5, 2024
dc33049
try jsonencode
spypsy Jul 5, 2024
55b3da3
fix node_data_store count reference
spypsy Jul 5, 2024
8ded39b
remove count from mount targets
spypsy Jul 5, 2024
c204257
redeploy l1 contracts
spypsy Jul 8, 2024
62a6b36
merge with master
spypsy Jul 9, 2024
65b504f
pass aws secrets
spypsy Jul 9, 2024
51aecb6
remove unnecessary ref
spypsy Jul 9, 2024
307cc83
Redeploy L1
spypsy Jul 9, 2024
7d986e6
remove duplicate tasks
spypsy Jul 9, 2024
bcec415
keep artifacts folder
spypsy Jul 9, 2024
3946297
fix typo
spypsy Jul 9, 2024
ea01532
Redeploy L1 again
spypsy Jul 9, 2024
a888e25
fix mnemonic issue
spypsy Jul 9, 2024
8b81f08
debug mnemonic issue
spypsy Jul 9, 2024
e21f530
redeploy fork, contracts
spypsy Jul 9, 2024
b17c018
fix deploy-l1-contracts cmd
spypsy Jul 9, 2024
7e9cad3
fix build
spypsy Jul 9, 2024
f275b02
fix fn call
spypsy Jul 9, 2024
b25a0f5
fix chainId type
spypsy Jul 9, 2024
bf8742f
remove old apiKey ref
spypsy Jul 10, 2024
56e02ff
fix test issue
spypsy Jul 10, 2024
f31926b
redeploy
spypsy Jul 10, 2024
dfc82cd
pass chainId in cli command
spypsy Jul 10, 2024
ee12c95
only use chainId chainInfo
spypsy Jul 10, 2024
267c767
redeploy
spypsy Jul 10, 2024
a8fe490
convert chainId to number in cli
spypsy Jul 10, 2024
3428f96
taint fork efs
spypsy Jul 10, 2024
7c84351
use replace instead of taint
spypsy Jul 10, 2024
26268f8
wait for fork deployment
spypsy Jul 10, 2024
f284e8d
unique ecs volume root_directory
spypsy Jul 10, 2024
cb1ffbb
bool vars in quotes
spypsy Jul 10, 2024
bff5b13
use tostring
spypsy Jul 10, 2024
a336b56
fix common EFS volume
spypsy Jul 11, 2024
d0c19bc
redeploy
spypsy Jul 11, 2024
b1f496f
use descriptive option names
spypsy Jul 11, 2024
c715472
Merge branch 'master' into devnet
spypsy Jul 11, 2024
ad33b3a
PR Fixes
spypsy Jul 11, 2024
4804493
merge with master
spypsy Jul 15, 2024
55c88fb
Remove old index.ts
spypsy Jul 15, 2024
5fe445b
clarify L1 chain ID
spypsy Jul 15, 2024
13e2f22
Merge branch 'master' into devnet
spypsy Jul 15, 2024
a76cb2d
don't pass secrets
spypsy Jul 15, 2024
0910078
pass chainId in bootstrap
spypsy Jul 16, 2024
04a57ee
redeploy fork, contracts
spypsy Jul 16, 2024
2c982d6
build & deploy fork image
spypsy Jul 16, 2024
39450a9
merge with master
spypsy Jul 16, 2024
770fe02
fix chain-id arg
spypsy Jul 16, 2024
95a0230
Merge branch 'master' into devnet
spypsy Jul 16, 2024
1c300ac
redeploy
spypsy Jul 16, 2024
d1b7029
fix options.l1ChainId
spypsy Jul 16, 2024
e165800
ensure number chainId
spypsy Jul 16, 2024
9ec7eee
fix req chainId
spypsy Jul 16, 2024
cd61415
missing config val
spypsy Jul 16, 2024
85c4063
Merge branch 'master' into devnet
spypsy Jul 16, 2024
2f216f1
Merge branch 'master' into devnet
spypsy Jul 16, 2024
566ad70
fix note selector serialization
spypsy Jul 16, 2024
78959e9
add NoteSelector to rpc server
spypsy Jul 16, 2024
aa72522
disable devnet proving
spypsy Jul 16, 2024
4bacf87
fix: prover JSON RPC
spypsy Jul 16, 2024
9142364
merge with master + prover fix
spypsy Jul 16, 2024
c7ae6b8
fix cli bootstrap
spypsy Jul 16, 2024
c790732
deploy PXE & bootstrap on CI
spypsy Jul 17, 2024
a7426ba
fix noir-contracts.js imports
spypsy Jul 18, 2024
d375bac
full PXE URL
spypsy Jul 18, 2024
fac90ad
wait for pxe to be available
spypsy Jul 18, 2024
262a5df
test bootstrap flow
spypsy Jul 18, 2024
53fabfc
separate wait step
spypsy Jul 18, 2024
99e1ae9
formatting
spypsy Jul 18, 2024
e690342
step ordering
spypsy Jul 18, 2024
9d403c0
try explicit if, remove token deploy for now
spypsy Jul 18, 2024
83e0725
log already deployed L2 conracts
spypsy Jul 18, 2024
48a2f1b
try deploying p2p bootnode first
spypsy Jul 18, 2024
11ca2ff
redeploy
spypsy Jul 18, 2024
6deefe0
pk for --private-key
spypsy Jul 18, 2024
a4c0211
Merge branch 'master' into devnet
spypsy Jul 18, 2024
b63fb87
bootstrapping & extracting results in CI
spypsy Jul 19, 2024
de5787c
redeploy L1 contracts by default
spypsy Jul 19, 2024
e45b197
fix script perm
spypsy Jul 19, 2024
8883ee0
fix typos
spypsy Jul 19, 2024
4617fe8
fix typo
spypsy Jul 19, 2024
95ff9ec
fix backslashes
spypsy Jul 19, 2024
a23608f
skip build for testing
spypsy Jul 19, 2024
bb469a8
deploy new image
spypsy Jul 19, 2024
a2f9c0a
redeploy fork
spypsy Jul 19, 2024
85cd6c0
always redeploy fork, some debugging
spypsy Jul 19, 2024
9a4edea
fix GA syntax
spypsy Jul 19, 2024
d32808f
Remove build step for test
spypsy Jul 19, 2024
adb80c0
export vars from script
spypsy Jul 19, 2024
e043a8f
source extract scripts
spypsy Jul 19, 2024
3caecae
rpc urls for deploys
spypsy Jul 19, 2024
e7f49e3
add class registration
spypsy Jul 19, 2024
4e9c51e
log address
spypsy Jul 19, 2024
352aeb3
restore build job
spypsy Jul 19, 2024
44afb88
Merge branch 'master' into devnet
spypsy Jul 19, 2024
1d318af
undo test changes
spypsy Jul 20, 2024
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
47 changes: 0 additions & 47 deletions .github/scripts/extract_l1_addresses.sh

This file was deleted.

109 changes: 109 additions & 0 deletions .github/scripts/extract_output.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
#!/usr/bin/env bash

TO_EXTRACT=$1
FILE_PATH=$2

if [[ $TO_EXTRACT == "l1-contracts" ]]; then
# Extract l1 contract addresses

JSON_OUTPUT='{'

# Read the file line by line
while IFS= read -r line; do
# Extract the hexadecimal address using awk
address=$(echo "$line" | awk '{print $NF}')

# Assign the address to the respective variable based on the line content
if [[ $line == *"Rollup Address"* ]]; then
export TF_VAR_ROLLUP_CONTRACT_ADDRESS=$address
JSON_OUTPUT+=' "rollup_contract_address": "'$address'",'
elif [[ $line == *"Registry Address"* ]]; then
export TF_VAR_REGISTRY_CONTRACT_ADDRESS=$address
JSON_OUTPUT+=' "registry_contract_address": "'$address'",'
elif [[ $line == *"Inbox Address"* ]]; then
export TF_VAR_INBOX_CONTRACT_ADDRESS=$address
JSON_OUTPUT+=' "inbox_contract_address": "'$address'",'
elif [[ $line == *"Outbox Address"* ]]; then
export TF_VAR_OUTBOX_CONTRACT_ADDRESS=$address
JSON_OUTPUT+=' "outbox_contract_address": "'$address'",'
elif [[ $line == *"Oracle Address"* ]]; then
export TF_VAR_AVAILABILITY_ORACLE_CONTRACT_ADDRESS=$address
JSON_OUTPUT+=' "availability_oracle_contract_address": "'$address'",'
elif [[ $line == *"Gas Token Address"* ]]; then
export TF_VAR_GAS_TOKEN_CONTRACT_ADDRESS=$address
JSON_OUTPUT+=' "gas_token_contract_address": "'$address'",'
elif [[ $line == *"Gas Portal Address"* ]]; then
export TF_VAR_GAS_PORTAL_CONTRACT_ADDRESS=$address
JSON_OUTPUT+=' "gas_portal_contract_address": "'$address'",'
else
echo "Unknown contract address: $line"
fi
done <"$FILE_PATH"

# Remove the last comma and close the JSON object
JSON_OUTPUT=${JSON_OUTPUT%,}
JSON_OUTPUT+=' }'

# echo all addresses into github env
echo "TF_VAR_ROLLUP_CONTRACT_ADDRESS=$TF_VAR_ROLLUP_CONTRACT_ADDRESS" >>$GITHUB_ENV
echo "TF_VAR_REGISTRY_CONTRACT_ADDRESS=$TF_VAR_REGISTRY_CONTRACT_ADDRESS" >>$GITHUB_ENV
echo "TF_VAR_INBOX_CONTRACT_ADDRESS=$TF_VAR_INBOX_CONTRACT_ADDRESS" >>$GITHUB_ENV
echo "TF_VAR_OUTBOX_CONTRACT_ADDRESS=$TF_VAR_OUTBOX_CONTRACT_ADDRESS" >>$GITHUB_ENV
echo "TF_VAR_AVAILABILITY_ORACLE_CONTRACT_ADDRESS=$TF_VAR_AVAILABILITY_ORACLE_CONTRACT_ADDRESS" >>$GITHUB_ENV
echo "TF_VAR_GAS_TOKEN_CONTRACT_ADDRESS=$TF_VAR_GAS_TOKEN_CONTRACT_ADDRESS" >>$GITHUB_ENV
echo "TF_VAR_GAS_PORTAL_CONTRACT_ADDRESS=$TF_VAR_GAS_PORTAL_CONTRACT_ADDRESS" >>$GITHUB_ENV

# Output to JSON file
echo $JSON_OUTPUT >./l1-contracts.json

elif [[ $TO_EXTRACT == "account" ]]; then
# Extract aztec account private key
OUTPUT=$(cat $FILE_PATH)

AZTEC_PRIVATE_KEY=$(echo "$OUTPUT" | grep "Private key:" | awk '{print $NF}')
AZTEC_ADDRESS=$(echo "$OUTPUT" | grep "Address:" | awk '{print $NF}')

# Print the private key and address into github env
echo "AZTEC_PRIVATE_KEY=$AZTEC_PRIVATE_KEY" >>$GITHUB_ENV
echo "AZTEC_ADDRESS=$AZTEC_ADDRESS" >>$GITHUB_ENV

# Export
export AZTEC_PRIVATE_KEY=$AZTEC_PRIVATE_KEY
export AZTEC_ADDRESS=$AZTEC_ADDRESS

elif [[ $TO_EXTRACT == "l2-bootstrap" ]]; then
# Extract l2 bootstrap contract addresses

# Read the log output from a file
OUTPUT=$(cat $FILE_PATH)

KEY_REGISTRY_ADDRESS=$(echo "$OUTPUT" | grep "Deployed Key Registry on L2 at" | awk '{print $NF}')

AUTH_REGISTRY_ADDRESS=$(echo "$OUTPUT" | grep "Deployed Auth Registry on L2 at" | awk '{print $NF}')

FEE_JUICE_ADDRESS=$(echo "$OUTPUT" | grep "Deployed Gas Token on L2 at" | awk '{print $NF}')

# Print the extracted into github env
echo "KEY_REGISTRY_ADDRESS=$KEY_REGISTRY_ADDRESS" >>$GITHUB_ENV
echo "AUTH_REGISTRY_ADDRESS=$AUTH_REGISTRY_ADDRESS" >>$GITHUB_ENV
echo "FEE_JUICE_ADDRESS=$FEE_JUICE_ADDRESS" >>$GITHUB_ENV

# Export
export KEY_REGISTRY_ADDRESS=$KEY_REGISTRY_ADDRESS
export AUTH_REGISTRY_ADDRESS=$AUTH_REGISTRY_ADDRESS
export FEE_JUICE_ADDRESS=$FEE_JUICE_ADDRESS

elif [[ $TO_EXTRACT == "l2-contract" ]]; then
# Extract l2 contract addresses

TOKEN_CONTRACT_NAME=$3

OUTPUT=$(cat $FILE_PATH)

CONTRACT_ADDRESS=$(echo "$OUTPUT" | grep "Contract deployed at" | awk '{print $NF}')

echo "$TOKEN_CONTRACT_NAME=$CONTRACT_ADDRESS" >>$GITHUB_ENV

# Export
export $TOKEN_CONTRACT_NAME=$CONTRACT_ADDRESS
fi
17 changes: 0 additions & 17 deletions .github/scripts/wait_for_fork.sh

This file was deleted.

30 changes: 30 additions & 0 deletions .github/scripts/wait_for_infra.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/bin/bash
set -e

INFRA=$1
DEPLOY_TAG=$2
API_KEY=$3

# When destroying and applying terraforms, they may not be
# ready for a while, as it must register with DNS etc.
# This script waits on a healthy status from the infra - a valid response to a request
# We retry every 20 seconds, and wait for a total of 5 minutes (15 times)

if [ "$INFRA" == "mainnet-fork" ]; then
export ETHEREUM_HOST="https://$DEPLOY_TAG-mainnet-fork.aztec.network:8545/$API_KEY"
curl -H "Content-Type: application/json" -X POST --data '{"method":"eth_chainId","params":[],"id":49,"jsonrpc":"2.0"}' \
--connect-timeout 30 \
--retry 15 \
--retry-delay 20 \
$ETHEREUM_HOST
elif [ "$INFRA" == "pxe" ]; then
export PXE_URL="https://api.aztec.network/$DEPLOY_TAG/aztec-pxe/$API_KEY/status"
curl \
--connect-timeout 30 \
--retry 15 \
--retry-delay 20 \
$PXE_URL
else
echo "Invalid infra type"
exit 1
fi
122 changes: 87 additions & 35 deletions .github/workflows/devnet-deploys.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ env:
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
GIT_COMMIT: ${{ github.sha }}
DEPLOY_TAG: devnet
FILE_PATH: ./l1-contracts/addresses.txt
L1_CHAIN_ID: 677692
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
Expand All @@ -34,13 +33,9 @@ jobs:
username: master
runner_type: builder-x86
secrets: inherit

build:
needs: setup
runs-on: ${{ github.actor }}-x86
outputs:
l1_contracts_changed: ${{ steps.check_l1_changes.outputs.result }}
mainnet_fork_changed: ${{ steps.check_fork_changes.outputs.result }}
steps:
- uses: actions/checkout@v4
with:
Expand All @@ -52,21 +47,10 @@ jobs:
dockerhub_password: "${{ secrets.DOCKERHUB_PASSWORD }}"
- name: "Build & Push aztec images"
timeout-minutes: 40
# Run the build steps for each image with version and arch, push to dockerhub
run: |
earthly-ci \
--no-output --push ./yarn-project+export-aztec-arch --DIST_TAG=${{ env.DEPLOY_TAG }}

- name: Check if L1 contracts need deployment
id: check_l1_changes
uses: actions/github-script@v7
with:
script: |
const { execSync } = require('child_process');
const changedFiles = execSync('git diff --name-only ${{ github.event.before }} ${{ github.sha }}').toString().split('\n');
const fileChanged = changedFiles.some(file => file.startsWith('l1-contracts'));
return fileChanged

- name: Check if mainnet fork needs deployment
id: check_fork_changes
uses: actions/github-script@v7
Expand Down Expand Up @@ -104,59 +88,127 @@ jobs:
aws-region: eu-west-2

- name: Deploy mainnet fork
if: needs.build.outputs.mainnet_fork_changed == 'true'
working-directory: ./iac/mainnet-fork/terraform
run: |
terraform init -input=false -backend-config="key=${{ env.DEPLOY_TAG }}/mainnet-fork"
terraform apply -input=false -auto-approve -replace="aws_ecs_service.aztec_mainnet_fork" -replace="aws_efs_file_system.aztec_mainnet_fork_data_store"
terraform apply -input=false -auto-approve -replace="aws_efs_file_system.aztec_mainnet_fork_data_store"

- name: Wait for mainnet fork deployment
if: needs.build.outputs.mainnet_fork_changed == 'true'
run: |
./.github/scripts/wait_for_fork.sh ${{ env.DEPLOY_TAG }} ${{ secrets.FORK_API_KEY }}
./.github/scripts/wait_for_infra.sh mainnet-fork ${{ env.DEPLOY_TAG }} ${{ secrets.FORK_API_KEY }}

- name: Deploy L1 Contracts
if: needs.build.outputs.l1_contracts_changed == 'true' || needs.build.outputs.mainnet_fork_changed == 'true'
run: |
docker pull aztecprotocol/aztec:${{ env.DEPLOY_TAG }}
docker run aztecprotocol/aztec:${{ env.DEPLOY_TAG }} deploy-l1-contracts \
--private-key ${{ secrets.SEQ_1_PUBLISHER_PRIVATE_KEY }} \
--rpc-url https://${{ env.DEPLOY_TAG }}-mainnet-fork.aztec.network:8545/${{ secrets.FORK_API_KEY }} \
--l1-chain-id ${{ env.L1_CHAIN_ID }} \
| tee ${{ env.FILE_PATH }}
./.github/scripts/extract_l1_addresses.sh ${{ env.FILE_PATH }}
| tee ./l1-contracts/addresses.txt
./.github/scripts/extract_output.sh l1-contracts ./l1-contracts/addresses.txt

- name: Apply l1-contracts Terraform
if: needs.build.outputs.l1_contracts_changed == 'true' || needs.build.outputs.mainnet_fork_changed == 'true'
working-directory: ./l1-contracts/terraform
run: |
terraform init -input=false -backend-config="key=${{ env.DEPLOY_TAG }}/l1-contracts"
terraform apply -input=false -auto-approve

- name: Deploy P2P Bootstrap Nodes
working-directory: ./yarn-project/p2p-bootstrap/terraform
- name: Upload L1 contract addresses to S3
run: |
terraform init -input=false -backend-config="key=${{ env.DEPLOY_TAG }}/p2p-bootstrap"
terraform apply -input=false -auto-approve
aws s3 cp ./l1-contracts.json s3://aztec-${{ env.DEPLOY_TAG }}-deployments/l1_contract_addresses.json

- name: Init Aztec Node Terraform
working-directory: ./yarn-project/aztec/terraform/node
run: |
terraform init -input=false -backend-config="key=${{ env.DEPLOY_TAG }}/aztec-node"

- name: Taint node filesystem if L1 contracts are redeployed
if: needs.build.outputs.l1_contracts_changed == 'true'
working-directory: ./yarn-project/aztec/terraform/node
run: |
terraform taint aws_efs_file_system.node_data_store

- name: Deploy Aztec Nodes
working-directory: ./yarn-project/aztec/terraform/node
run: |
terraform apply -input=false -auto-approve
terraform apply -input=false -auto-approve -replace="aws_efs_file_system.node_data_store"

- name: Deploy Provers
working-directory: ./yarn-project/aztec/terraform/prover
run: |
terraform init -input=false -backend-config="key=${{ env.DEPLOY_TAG }}/prover"
terraform apply -input=false -auto-approve

- name: Deploy PXE
working-directory: ./yarn-project/aztec/terraform/pxe
run: |
terraform init -input=false -backend-config="key=${{ env.DEPLOY_TAG }}/pxe"
terraform apply -input=false -auto-approve

- name: Deploy P2P Bootstrap Nodes
working-directory: ./yarn-project/p2p-bootstrap/terraform
run: |
terraform init -input=false -backend-config="key=${{ env.DEPLOY_TAG }}/p2p-bootstrap"
terraform apply -input=false -auto-approve

bootstrap:
runs-on: ubuntu-latest
needs: terraform_deploy
steps:
- uses: actions/checkout@v4
with:
ref: "${{ env.GIT_COMMIT }}"

- uses: ./.github/ci-setup-action

- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: eu-west-2

- name: Wait for PXE to be available
run: |
./.github/scripts/wait_for_infra.sh pxe ${{ env.DEPLOY_TAG }} ${{ secrets.FORK_API_KEY }}

- name: Bootstrap devnet
run: |
docker pull aztecprotocol/aztec:${{ env.DEPLOY_TAG }}
docker run aztecprotocol/aztec:${{ env.DEPLOY_TAG }} bootstrap \
--rpc-url https://api.aztec.network/${{ env.DEPLOY_TAG }}/aztec-pxe/${{ secrets.FORK_API_KEY }} \
--l1-chain-id ${{ env.L1_CHAIN_ID }} \
| tee ./bootstrap_addresses.txt
source ./.github/scripts/extract_output.sh l2-bootstrap ./bootstrap_addresses.txt

- name: Deploy contracts
run: |
docker run aztecprotocol/aztec:${{ env.DEPLOY_TAG }} create-account \
--rpc-url https://api.aztec.network/${{ env.DEPLOY_TAG }}/aztec-pxe/${{ secrets.FORK_API_KEY }} \
| tee ./account.txt
source ./.github/scripts/extract_output.sh account ./account.txt
echo "PK: $AZTEC_PRIVATE_KEY"
echo "CA: $AZTEC_ADDRESS"
docker run aztecprotocol/aztec:${{ env.DEPLOY_TAG }} deploy TokenContract \
--rpc-url https://api.aztec.network/${{ env.DEPLOY_TAG }}/aztec-pxe/${{ secrets.FORK_API_KEY }} \
--args $AZTEC_ADDRESS DevCoin DEV 18 \
--private-key $AZTEC_PRIVATE_KEY \
--public-deployment \
--class-registration \
| tee ./token_contract.txt
source ./.github/scripts/extract_output.sh l2-contract ./token_contract.txt TOKEN_CONTRACT_ADDRESS

docker run aztecprotocol/aztec:${{ env.DEPLOY_TAG }} deploy FPCContract \
--rpc-url https://api.aztec.network/${{ env.DEPLOY_TAG }}/aztec-pxe/${{ secrets.FORK_API_KEY }} \
--args $TOKEN_CONTRACT_ADDRESS $FEE_JUICE_ADDRESS \
--private-key $AZTEC_PRIVATE_KEY \
--public-deployment \
--class-registration \
| tee ./fpc_contract.txt
source ./.github/scripts/extract_output.sh l2-contract ./fpc_contract.txt FPC_CONTRACT_ADDRESS

- name: Upload addreses to S3
run: |
echo '{
"fee_juice_address": "'$FEE_JUICE_ADDRESS'",
"key_registry_address": "'$KEY_REGISTRY_ADDRESS'",
"auth_registry_address": "'$AUTH_REGISTRY_ADDRESS'",
"token_contract_address": "'$TOKEN_CONTRACT_ADDRESS'",
"fpc_contract_address": "'$FPC_CONTRACT_ADDRESS'
}' > ./l2_addresses.json

aws s3 cp ./l2_addresses.json s3://aztec-${{ env.DEPLOY_TAG }}-deployments/l2_contract_addresses.json
Loading