Skip to content

Commit

Permalink
Merge branch 'master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
rebustron authored Jan 24, 2025
2 parents 8b4ff93 + e995c0f commit dfa0111
Show file tree
Hide file tree
Showing 2,997 changed files with 83,240 additions and 137,917 deletions.
2 changes: 1 addition & 1 deletion .devcontainer/dev/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Development",
"image": "aztecprotocol/devbox:1.2",
"image": "aztecprotocol/devbox:3.0",
"features": {
// Use custom fork with noble added to list of supported distros.
"./docker-in-docker": {}
Expand Down
2 changes: 1 addition & 1 deletion .github/ensure-builder/install
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,4 @@ export -f install_parallel
if ! command -v parallel >/dev/null; then
DENOISE=1 ci3/denoise ci3/retry install_parallel
fi
[ -x /usr/local/bin/earthly ] || ci3/dump_fail ci3/earthly_install
[ -x /usr/local/bin/earthly ] || ci3/dump_fail ci3/earthly_install
2 changes: 1 addition & 1 deletion .github/ensure-builder/run
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,4 @@ fi
echo "exit_code=$exit_code" >> $GITHUB_OUTPUT
if [ $exit_code = 155 ]; then
echo "Spot eviction detected - retrying with on-demand."
fi
fi
1 change: 1 addition & 0 deletions .github/ensure-tester/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ inputs:
default: BestEffort
runs:
# define an action, runs in OS of caller
# ami-052a1e16394277fdf is an ubuntu 22.04.4 jammy
using: composite
steps:
- name: Select Instance Type and AMI
Expand Down
6 changes: 6 additions & 0 deletions .github/ensure-tester/run
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@ scripts/run_on_tester "
}
export RUN_ID GIT_COMMIT
export -f clone
# update fs limits for k8s
sudo sysctl -w fs.inotify.max_user_watches=65536
sudo sysctl -w fs.inotify.max_user_instances=65536
ulimit -n 32768
flock /var/lock/clone.lock bash -c clone
cd ~/run-$RUN_ID
# reuse script from ensure-builder, but don't set up chron
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/ci-arm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,8 @@ jobs:
./bootstrap.sh image-e2e
- name: "Test"
timeout-minutes: 40
continue-on-error: true
run: |
./bootstrap.sh e2e-test uniswap_trade_on_l1_from_l2
./bootstrap.sh test-e2e uniswap_trade_on_l1_from_l2
rerun-check:
runs-on: ubuntu-20.04
Expand Down
19 changes: 14 additions & 5 deletions .github/workflows/ci-mac.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,25 @@
name: CI (Mac)

on:
push:
branches:
- master
- '*/*mac-build'
pull_request:
types: [synchronize, labeled]

jobs:
build-mac-intel:
name: Build on Mac x86_64-apple-darwin
# Run this job if it's a direct push OR if a PR is labeled with "macos-ci".
if: >
github.event_name == 'push' ||
(github.event_name == 'pull_request' &&
contains(github.event.pull_request.labels.*.name, 'macos-ci'))
runs-on: macos-13
steps:
- name: Checkout
uses: actions/checkout@v3
with:
ref: ${{ inputs.tag || env.GITHUB_REF }}

- name: Create Mac Build Environment
run: brew install cmake ninja llvm@16
Expand All @@ -29,12 +35,15 @@ jobs:
build-mac-m1:
name: Build on Mac aarch64-apple-darwin
# Run this job if it's a direct push OR if a PR is labeled with "macos-ci".
if: >
github.event_name == 'push' ||
(github.event_name == 'pull_request' &&
contains(github.event.pull_request.labels.*.name, 'macos-ci'))
runs-on: macos-14
steps:
- name: Checkout
uses: actions/checkout@v3
with:
ref: ${{ inputs.tag || env.GITHUB_REF }}

- name: Create Mac Build Environment
run: brew install cmake ninja
Expand All @@ -48,7 +57,7 @@ jobs:
build-check:
name: Check builds are successful
needs: [build-mac-intel, build-mac-m1]
if: ${{ always() }}
if: always()
runs-on: ubuntu-latest
steps:
- name: Report overall success
Expand Down
152 changes: 74 additions & 78 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,8 @@ jobs:
id: filter
with:
filters: |
base-images:
- 'build-images/**'
noir:
- 'noir/noir-repo/**'
bb:
Expand Down Expand Up @@ -127,6 +129,8 @@ jobs:
runner_type: builder-x86
username: ${{ needs.configure.outputs.username }}
run: |
sudo apt install unzip
curl "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip" -o "awscliv2.zip" && unzip awscliv2.zip && sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update && rm -rf aws awscliv2.zip
echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u aztecprotocolci --password-stdin
./build-images/bootstrap.sh ci
Expand Down Expand Up @@ -225,6 +229,7 @@ jobs:
- name: Test
timeout-minutes: 40
run: |
until docker info &>/dev/null; do sleep 1; done
echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u aztecprotocolci --password-stdin
export CI=1 USE_CACHE=1
artifact="e2e-${{matrix.test}}-$(./yarn-project/bootstrap.sh hash)"
Expand All @@ -235,7 +240,7 @@ jobs:
ci3/cache_upload_flag "$artifact"
fi
# all the benchmarking end-to-end integration tests for aztec (not required to merge)
# All the benchmarking end-to-end integration tests for aztec (not required to merge)
bench-e2e:
needs: [images-e2e, configure]
if: needs.configure.outputs.e2e-all == 'true' || needs.configure.outputs.bench-list != '[]'
Expand All @@ -250,21 +255,35 @@ jobs:
- name: Test
timeout-minutes: 40
run: |
until docker info &>/dev/null; do sleep 1; done
echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u aztecprotocolci --password-stdin
export CI=1 USE_CACHE=1
artifact="bench-${{matrix.test}}-$(./yarn-project/bootstrap.sh hash)"
if ci3/test_should_run "$artifact"; then
docker pull aztecprotocol/aztec:${{ env.GIT_COMMIT }}
docker pull aztecprotocol/end-to-end:${{ env.GIT_COMMIT }}
export FORCE_COLOR=1
export EARTHLY_BUILD_ARGS="${{ env.EARTHLY_BUILD_ARGS }}"
./yarn-project/end-to-end/scripts/e2e_test.sh ${{ matrix.test }}
export COMMIT_HASH=${{ env.GIT_COMMIT }}
export PULL_REQUEST=${{ github.event.pull_request.number }}
export BRANCH=${{ github.ref_name }}
scripts/logs/upload_logs_to_s3.sh /usr/var/log
FORCE_COLOR=1 ./yarn-project/end-to-end/scripts/e2e_test.sh ${{ matrix.test }}
ci3/cache_upload_flag "$artifact"
fi
- name: Inspect data folder
continue-on-error: true
run: tree ./yarn-project/end-to-end/out
- name: Store benchmark result
if: github.ref == 'refs/heads/master'
continue-on-error: true
uses: benchmark-action/github-action-benchmark@4de1bed97a47495fc4c5404952da0499e31f5c29
with:
name: "End-to-end Benchmark"
benchmark-data-dir-path: "dev/e2e-bench"
tool: "customSmallerIsBetter"
output-file-path: ./yarn-project/end-to-end/out/bench.json
github-token: ${{ secrets.AZTEC_BOT_GITHUB_TOKEN }}
auto-push: true
alert-threshold: "150%"
comment-on-alert: true
fail-on-alert: false
alert-comment-cc-users: "@philwindle @spalladino"
max-items-in-chart: 50

# Only e2e test that can't run on standard github runner
e2e-prover-full:
Expand Down Expand Up @@ -309,56 +328,14 @@ jobs:
with:
runner_type: 16core-tester-x86
run: |
until docker info &>/dev/null; do sleep 1; done
echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u aztecprotocolci --password-stdin
export CI=1 USE_CACHE=1
if ci3/test_should_run acir-bench-$(./barretenberg/acir_tests/bootstrap.sh hash); then
scripts/earthly-ci ./barretenberg/acir_tests+bench-publish
ci3/cache_upload_flag acir-bench-$(./barretenberg/acir_tests/bootstrap.sh hash)
fi
# TODO(ci3) fix and reinstate
# bench-summary:
# if: needs.configure.outputs.e2e-all == 'true'
# needs:
# - acir-bench
# - bench-e2e
# - configure
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# with:
# fetch-depth: 100 # Downloading base benchmark from master requires access to history
# ref: "${{ github.event.pull_request.head.sha }}"
# - uses: ./.github/ci-setup-action
# - name: "Build and upload bench aggregate file"
# uses: ./.github/ensure-builder
# with:
# runner_type: builder-x86
# username: ${{ needs.configure.outputs.username }}
# run: scripts/earthly-ci ./yarn-project/scripts/+bench-aggregate
# - name: "Download base benchmark and package into earthly"
# if: github.event_name == 'pull_request'
# uses: ./.github/run-on-builder
# env:
# AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
# AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
# BENCH_FOLDER: "./scripts/logs/tmp/bench"
# PULL_REQUEST: "${{ github.event.pull_request.number }}"
# with:
# run: |
# # Download the base benchmark locally (requires AWS creds and .git history)
# mkdir -p $BENCH_FOLDER
# ./scripts/logs/download_base_benchmark_from_s3.sh
# # Package it into an earthly artifact to read from bench-comment
# scripts/earthly-ci ./scripts/logs+pack-base-benchmark
# - name: "Generate summary comment if pull request"
# if: github.event_name == 'pull_request'
# uses: ./.github/run-on-builder
# env:
# AZTEC_BOT_GITHUB_TOKEN: ${{ secrets.AZTEC_BOT_GITHUB_TOKEN }}
# with:
# run: scripts/earthly-ci ./yarn-project/scripts/+bench-comment

# barretenberg (prover) native, AVM (public VM) and Merkle tree (world state) tests
# ran on own runner for resource reasons (memory x cpu intensive)
bb-native-tests:
Expand All @@ -373,7 +350,6 @@ jobs:
mkdir -p ~/.ssh
echo ${{ secrets.BUILD_INSTANCE_SSH_KEY }} | base64 --decode > ~/.ssh/build_instance_key
chmod 600 ~/.ssh/build_instance_key
echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u aztecprotocolci --password-stdin
- name: "Native Prover Tests"
env:
GITHUB_LOG: 1
Expand All @@ -397,14 +373,31 @@ jobs:
uses: ./.github/ensure-tester
with:
username: ${{ needs.configure.outputs.username }}
runner_type: 8core-tester-x86
runner_type: 16core-tester-x86
ttl: 60
run: |
until docker info &>/dev/null; do sleep 1; done
docker pull aztecprotocol/aztec:${{ env.GIT_COMMIT }}
docker pull aztecprotocol/end-to-end:${{ env.GIT_COMMIT }}
echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u aztecprotocolci --password-stdin
cd yarn-project/end-to-end
NAMESPACE=smoke FRESH_INSTALL=true VALUES_FILE=ci-smoke.yaml ./scripts/network_test.sh ./src/spartan/smoke.test.ts
export INSTALL_CHAOS_MESH=false
export INSTALL_METRICS=false
export NAMESPACE=smoke
export FRESH_INSTALL=true
export VALUES_FILE=ci-smoke.yaml
./scripts/network_test.sh ./src/spartan/smoke.test.ts
- name: Copy Network Logs
if: always()
run: scripts/copy_from_tester yarn-project/end-to-end/scripts/network-test.log network-test.log || true
- name: Upload Network Logs
if: always()
uses: actions/upload-artifact@v4
with:
name: kind-network-smoke.log
path: network-test.log

kind-network-test:
needs: [images-e2e, configure]
Expand All @@ -414,10 +407,10 @@ jobs:
fail-fast: false
matrix:
config:
- test: reorg.test.ts
values: ci
runner_type: 16core-tester-x86-high-memory
timeout: 60
# - test: reorg.test.ts
# values: ci
# runner_type: 16core-tester-x86-high-memory
# timeout: 60
- test: 4epochs.test.ts
values: ci
runner_type: 16core-tester-x86
Expand All @@ -438,6 +431,7 @@ jobs:
spot_strategy: None # use on-demand machines
ttl: ${{ matrix.config.timeout }}
run: |
until docker info &>/dev/null; do sleep 1; done
export CI=1 USE_CACHE=1
artifact="kind-network-${{matrix.config.test}}-$(./yarn-project/bootstrap.sh hash)"
if ci3/test_should_run "$artifact"; then
Expand Down Expand Up @@ -507,24 +501,26 @@ jobs:
alert-comment-cc-users: "@ludamad @codygunton"
max-items-in-chart: 50

boxes-test:
needs: [ci-rest, configure]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with: { ref: "${{ github.event.pull_request.head.sha }}" }
- uses: ./.github/ci-setup-action
- name: Build Boxes
uses: ./.github/ensure-builder
timeout-minutes: 40
with:
username: ${{ needs.configure.outputs.username }}
runner_type: builder-x86
run: |
export CI=1 USE_CACHE=1
if ci3/test_should_run "boxes-test-$(./boxes/bootstrap.sh hash)"; then
./bootstrap.sh test-boxes
fi
# TODO(https://github.com/AztecProtocol/aztec-packages/issues/11471) reenable
# boxes-test:
# needs: [ci-rest, configure]
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# with: { ref: "${{ github.event.pull_request.head.sha }}" }
# - uses: ./.github/ci-setup-action

# - name: Build Boxes
# uses: ./.github/ensure-builder
# timeout-minutes: 40
# with:
# username: ${{ needs.configure.outputs.username }}
# runner_type: builder-x86
# run: |
# export CI=1 USE_CACHE=1
# if ci3/test_should_run "boxes-test-$(./boxes/bootstrap.sh hash)"; then
# ./bootstrap.sh test-boxes
# fi

prover-client-test:
needs: [ci-rest, configure]
Expand Down Expand Up @@ -600,7 +596,7 @@ jobs:

public-functions-size-report:
needs: [ci-rest, configure]
if: github.ref_name == 'master' || needs.configure.outputs.non-docs == 'true'
if: github.ref_name == 'master' || needs.configure.outputs.non-docs == 'true'
runs-on: ubuntu-latest
permissions:
pull-requests: write
Expand Down Expand Up @@ -656,7 +652,7 @@ jobs:
- bb-native-tests
- kind-network-smoke
- kind-network-test
- boxes-test
# - boxes-test
# - testnet-installer
if: always()
outputs:
Expand Down
Loading

0 comments on commit dfa0111

Please sign in to comment.