From 8405dcd62891580c4e0a5c12d7b261564d142948 Mon Sep 17 00:00:00 2001 From: Charlie Lye <5764343+charlielye@users.noreply.github.com> Date: Wed, 2 Apr 2025 17:18:46 +0000 Subject: [PATCH 01/11] fail fast matrix things, ensure machine gets killed. needs checking --- .github/workflows/ci3.yml | 4 ++-- ci3/bootstrap_ec2 | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci3.yml b/.github/workflows/ci3.yml index 59ea28cd0959..f71b6e43a512 100644 --- a/.github/workflows/ci3.yml +++ b/.github/workflows/ci3.yml @@ -36,7 +36,7 @@ jobs: if: github.event.pull_request.head.repo.fork != true environment: ${{ startsWith(github.ref, 'refs/tags/v') && 'master' || '' }} strategy: - fail-fast: false + fail-fast: true matrix: # Only run arm64 build with arm64-ci label or on master. # The way to do conditions here is to parse full strings as JSON. @@ -183,7 +183,7 @@ jobs: strategy: matrix: number: [1, 2, 3, 4, 5] - fail-fast: false + fail-fast: true steps: ############# # Prepare Env diff --git a/ci3/bootstrap_ec2 b/ci3/bootstrap_ec2 index 294674a84654..1884289fd5c9 100755 --- a/ci3/bootstrap_ec2 +++ b/ci3/bootstrap_ec2 @@ -184,6 +184,9 @@ EOF # We raise the default pid limit to 32k. set +e ssh ${ssh_args:-} -F $ci3/aws/build_instance_ssh_config ubuntu@$ip " + # If the ssh connection is closed, we want to shut down the instance. + trap "sudo shutdown -h now" SIGHUP + # TODO: This should *not* be needed in a CI run. Remove "watching" code, e.g. in boxes. sudo sysctl fs.inotify.max_user_watches=1048576 &>/dev/null sudo sysctl fs.inotify.max_user_instances=1048576 &>/dev/null From 91f011b7944e21ffe0bd600c6618044293f78a31 Mon Sep 17 00:00:00 2001 From: Charlie Lye <5764343+charlielye@users.noreply.github.com> Date: Thu, 3 Apr 2025 10:12:25 +0000 Subject: [PATCH 02/11] wip --- ci3/parallelise | 3 +-- ci3/run_test_cmd | 5 +++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ci3/parallelise b/ci3/parallelise index 8554aff54d1a..33a2ed5185d5 100755 --- a/ci3/parallelise +++ b/ci3/parallelise @@ -7,8 +7,7 @@ cd $root jobs=$(get_num_cpus_max ${1:-}) parallel_args="-j$jobs --memsuspend $(memsuspend_limit) --line-buffer --joblog joblog.txt" -# If not in CI, fail fast. -if [ "$CI" -eq 0 ]; then +if [ "${NO_FAIL_FAST:-0}" -eq 0 ]; then parallel_args+=" --halt now,fail=1" fi diff --git a/ci3/run_test_cmd b/ci3/run_test_cmd index 9103e9188fab..f2d739c860ea 100755 --- a/ci3/run_test_cmd +++ b/ci3/run_test_cmd @@ -85,6 +85,11 @@ trap "kill -- -$timeout_pid &>/dev/null; exit" SIGTERM SIGINT wait $timeout_pid code=$? +# If the test received a SIGTERM or SIGINT, we don't want to track or print anything. +if [ "$code" -eq 143 ] || [ "$code" -eq 130 ]; then + exit $code +fi + if [ "$CI_REDIS_AVAILABLE" -eq 1 ]; then # If the test succeeded and we're using the test cache, set success flag for test. This key is unique to the test. # If the test succeeded and we're in CI, save the test log. From bd65d2ab69e60898dff0536bbd0c9c485ddfb275 Mon Sep 17 00:00:00 2001 From: Charlie Lye <5764343+charlielye@users.noreply.github.com> Date: Thu, 3 Apr 2025 17:05:24 +0000 Subject: [PATCH 03/11] wip --- ci3/bootstrap_ec2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci3/bootstrap_ec2 b/ci3/bootstrap_ec2 index 0736c4a71c41..1c2bc075b600 100755 --- a/ci3/bootstrap_ec2 +++ b/ci3/bootstrap_ec2 @@ -184,7 +184,7 @@ EOF set +e ssh ${ssh_args:-} -F $ci3/aws/build_instance_ssh_config ubuntu@$ip " # If the ssh connection is closed, we want to shut down the instance. - trap "sudo shutdown -h now" SIGHUP + trap 'sudo shutdown -h now' SIGHUP # TODO: This should *not* be needed in a CI run. Remove "watching" code, e.g. in boxes. sudo sysctl fs.inotify.max_user_watches=1048576 &>/dev/null From 14b50cd6b6f21b1ea1ec8adf639e358595632acd Mon Sep 17 00:00:00 2001 From: Charlie Lye <5764343+charlielye@users.noreply.github.com> Date: Thu, 3 Apr 2025 17:21:00 +0000 Subject: [PATCH 04/11] wip --- ci3/bootstrap_ec2 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ci3/bootstrap_ec2 b/ci3/bootstrap_ec2 index 1c2bc075b600..1e9534fe176a 100755 --- a/ci3/bootstrap_ec2 +++ b/ci3/bootstrap_ec2 @@ -248,7 +248,8 @@ ssh ${ssh_args:-} -F $ci3/aws/build_instance_ssh_config ubuntu@$ip " -e REF_NAME=${REF_NAME:-} \ -e AWS_TOKEN=\$(curl -sX PUT http://169.254.169.254/latest/api/token -H 'X-aws-ec2-metadata-token-ttl-seconds: 21600') \ --pids-limit=32768 \ - aztecprotocol/devbox:3.0 bash -c $(printf '%q' "$container_script") + aztecprotocol/devbox:3.0 bash -c $(printf '%q' "$container_script") & + wait \$! " code=$? set -e From edd8c15ec05835d9c8b62b1dd482d3125cd8efcb Mon Sep 17 00:00:00 2001 From: Charlie Lye <5764343+charlielye@users.noreply.github.com> Date: Thu, 3 Apr 2025 17:41:49 +0000 Subject: [PATCH 05/11] wip --- ci3/bootstrap_ec2 | 134 ++++++++++++++++++++++++---------------------- 1 file changed, 71 insertions(+), 63 deletions(-) diff --git a/ci3/bootstrap_ec2 b/ci3/bootstrap_ec2 index 1e9534fe176a..1ad1788edfda 100755 --- a/ci3/bootstrap_ec2 +++ b/ci3/bootstrap_ec2 @@ -183,73 +183,81 @@ EOF # We raise the default pid limit to 32k. set +e ssh ${ssh_args:-} -F $ci3/aws/build_instance_ssh_config ubuntu@$ip " - # If the ssh connection is closed, we want to shut down the instance. - trap 'sudo shutdown -h now' SIGHUP + function start { + # TODO: This should *not* be needed in a CI run. Remove "watching" code, e.g. in boxes. + sudo sysctl fs.inotify.max_user_watches=1048576 &>/dev/null + sudo sysctl fs.inotify.max_user_instances=1048576 &>/dev/null - # TODO: This should *not* be needed in a CI run. Remove "watching" code, e.g. in boxes. - sudo sysctl fs.inotify.max_user_watches=1048576 &>/dev/null - sudo sysctl fs.inotify.max_user_instances=1048576 &>/dev/null + echo Loading CRS into tmpfs... + sudo mkdir /mnt/bb-crs + sudo mount -t tmpfs -o size=3G tmpfs /mnt/bb-crs + sudo cp -r \$HOME/.bb-crs/* /mnt/bb-crs + echo Done in \$SECONDS seconds. - echo Loading CRS into tmpfs... - sudo mkdir /mnt/bb-crs - sudo mount -t tmpfs -o size=3G tmpfs /mnt/bb-crs - sudo cp -r \$HOME/.bb-crs/* /mnt/bb-crs - echo Done in \$SECONDS seconds. + echo Installing and starting sysdig... + sudo apt-get update &>/dev/null + sudo apt-get install -y sysdig &>/dev/null + sudo sysdig -p '%evt.time (cid: %container.id) (event: %evt.dir %evt.type) (args: %evt.args): %proc.cmdline' 'evt.type=bind or evt.type=listen' > /tmp/netfile & + netfile_pid=\$! + # Capture cpu load. + mpstat 2 &> /tmp/cpufile & + cpufile_pid=\$! + # Capture mem load. + vmstat -w -S M 2 &> /tmp/memfile & + memfile_pid=\$! + trap 'sudo kill \$netfile_pid \$cpufile_pid \$memfile_pid' EXIT - echo Installing and starting sysdig... - sudo apt-get update &>/dev/null - sudo apt-get install -y sysdig &>/dev/null - sudo sysdig -p '%evt.time (cid: %container.id) (event: %evt.dir %evt.type) (args: %evt.args): %proc.cmdline' 'evt.type=bind or evt.type=listen' > /tmp/netfile & - netfile_pid=\$! - # Capture cpu load. - mpstat 2 &> /tmp/cpufile & - cpufile_pid=\$! - # Capture mem load. - vmstat -w -S M 2 &> /tmp/memfile & - memfile_pid=\$! - trap 'sudo kill \$netfile_pid \$cpufile_pid \$memfile_pid' EXIT + echo Starting devbox... + docker run --privileged ${docker_args:-} \ + --name aztec_build \ + --hostname $instance_name \ + -v bootstrap_ci_local_docker:/var/lib/docker \ + -v bootstrap_ci_repo:/home/aztec-dev/aztec-packages \ + -v \$HOME/.aws:/home/aztec-dev/.aws:ro \ + -v /mnt/bb-crs:/home/aztec-dev/.bb-crs:ro \ + -v /tmp:/tmp \ + -v /dev/kmsg:/dev/kmsg \ + -e RUN_ID=${RUN_ID:-} \ + -e JOB_ID=${JOB_ID:-} \ + -e NO_CACHE=${NO_CACHE:-} \ + -e USE_TEST_CACHE=${USE_TEST_CACHE:-1} \ + -e CI_REDIS='ci-redis-tiered.lzka0i.ng.0001.use2.cache.amazonaws.com' \ + -e SSH_CONNECTION=' ' \ + -e LOCAL_USER_ID=\$(id -u) \ + -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:-} \ + -e AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-} \ + -e BUILD_SYSTEM_DEBUG=${BUILD_SYSTEM_DEBUG:-} \ + -e GITHUB_TOKEN=${GITHUB_TOKEN:-} \ + -e NETLIFY_SITE_ID=${NETLIFY_SITE_ID:-} \ + -e NETLIFY_AUTH_TOKEN=${NETLIFY_AUTH_TOKEN:-} \ + -e NPM_TOKEN=${NPM_TOKEN:-} \ + -e SLACK_BOT_TOKEN=${SLACK_BOT_TOKEN:-} \ + -e REF_NAME=${REF_NAME:-} \ + -e AWS_TOKEN=\$(curl -sX PUT http://169.254.169.254/latest/api/token -H 'X-aws-ec2-metadata-token-ttl-seconds: 21600') \ + --pids-limit=32768 \ + aztecprotocol/devbox:3.0 bash -c $(printf '%q' "$container_script") + } - echo Starting devbox... - docker run --privileged ${docker_args:-} \ - --name aztec_build \ - --hostname $instance_name \ - -v bootstrap_ci_local_docker:/var/lib/docker \ - -v bootstrap_ci_repo:/home/aztec-dev/aztec-packages \ - -v \$HOME/.aws:/home/aztec-dev/.aws:ro \ - -v /mnt/bb-crs:/home/aztec-dev/.bb-crs:ro \ - -v /tmp:/tmp \ - -v /dev/kmsg:/dev/kmsg \ - -e RUN_ID=${RUN_ID:-} \ - -e JOB_ID=${JOB_ID:-} \ - -e NO_CACHE=${NO_CACHE:-} \ - -e USE_TEST_CACHE=${USE_TEST_CACHE:-1} \ - -e CI_REDIS='ci-redis-tiered.lzka0i.ng.0001.use2.cache.amazonaws.com' \ - -e SSH_CONNECTION=' ' \ - -e LOCAL_USER_ID=\$(id -u) \ - -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:-} \ - -e AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-} \ - -e BUILD_SYSTEM_DEBUG=${BUILD_SYSTEM_DEBUG:-} \ - -e GITHUB_TOKEN=${GITHUB_TOKEN:-} \ - -e NETLIFY_SITE_ID=${NETLIFY_SITE_ID:-} \ - -e NETLIFY_AUTH_TOKEN=${NETLIFY_AUTH_TOKEN:-} \ - -e NPM_TOKEN=${NPM_TOKEN:-} \ - -e SLACK_BOT_TOKEN=${SLACK_BOT_TOKEN:-} \ - -e REF_NAME=${REF_NAME:-} \ - -e AWS_TOKEN=\$(curl -sX PUT http://169.254.169.254/latest/api/token -H 'X-aws-ec2-metadata-token-ttl-seconds: 21600') \ - --pids-limit=32768 \ - aztecprotocol/devbox:3.0 bash -c $(printf '%q' "$container_script") & - wait \$! + if [ -t 0 ]; then + # If stdin is a terminal, start in foreground. + start + else + # If stdin is not a terminal, register shutdown handler, start in background and wait. + trap 'sudo shutdown -h now' SIGHUP + start & + wait \$! + fi " code=$? set -e From adc8d69123e42754a29f9ae9b8f464d5da9bf65e Mon Sep 17 00:00:00 2001 From: Charlie Lye <5764343+charlielye@users.noreply.github.com> Date: Thu, 3 Apr 2025 18:04:08 +0000 Subject: [PATCH 06/11] wip --- ci3/bootstrap_ec2 | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ci3/bootstrap_ec2 b/ci3/bootstrap_ec2 index 1ad1788edfda..8fff0a59bfa9 100755 --- a/ci3/bootstrap_ec2 +++ b/ci3/bootstrap_ec2 @@ -249,12 +249,13 @@ ssh ${ssh_args:-} -F $ci3/aws/build_instance_ssh_config ubuntu@$ip " aztecprotocol/devbox:3.0 bash -c $(printf '%q' "$container_script") } + # On SIGHUP, shutdown the instance. + trap 'sudo shutdown -h now' SIGHUP SIGTERM SIGINT + if [ -t 0 ]; then - # If stdin is a terminal, start in foreground. start else - # If stdin is not a terminal, register shutdown handler, start in background and wait. - trap 'sudo shutdown -h now' SIGHUP + # If not in terminal, start in background and wait, to allow SIGHUP handler to execute. start & wait \$! fi From 990b4cf492b691eecc48804deb16950ba07cad37 Mon Sep 17 00:00:00 2001 From: Charlie Lye <5764343+charlielye@users.noreply.github.com> Date: Thu, 3 Apr 2025 21:32:34 +0000 Subject: [PATCH 07/11] wip --- .test_patterns.yml | 4 ++++ ci.sh | 8 ++++---- ci3/bootstrap_ec2 | 43 +++++++++++++++++++++++-------------------- 3 files changed, 31 insertions(+), 24 deletions(-) diff --git a/.test_patterns.yml b/.test_patterns.yml index c1563e5bc8a2..6732910fc3f3 100644 --- a/.test_patterns.yml +++ b/.test_patterns.yml @@ -53,6 +53,10 @@ tests: skip: true owners: - *tom + - regex: "tests::execution_success::test_ram_blowup_regression" + error_regex: "assertion `left == right` failed" + owners: + - *tom # noir # Something to do with how I run the tests now. Think these are fine in nextest. diff --git a/ci.sh b/ci.sh index 0bee34465d40..43608550e96b 100755 --- a/ci.sh +++ b/ci.sh @@ -72,23 +72,23 @@ case "$cmd" in "ec2") # Spin up ec2 instance and ci bootstrap with shell on failure. export USE_TEST_CACHE=1 - bootstrap_ec2 + exec bootstrap_ec2 ;; "ec2-no-cache") # Disable the build and test cache. export NO_CACHE=1 export USE_TEST_CACHE=0 - bootstrap_ec2 + exec bootstrap_ec2 ;; "ec2-test") # Can use the build cache, but don't use the test cache. export USE_TEST_CACHE=0 - bootstrap_ec2 + exec bootstrap_ec2 ;; "ec2-shell") # Spin up ec2 instance, clone, and drop into shell. # False triggers the shell on fail. - bootstrap_ec2 "false" + exec bootstrap_ec2 "false" ;; "ec2-grind") # Same as ec2-test but repeat it over arg1 instances. diff --git a/ci3/bootstrap_ec2 b/ci3/bootstrap_ec2 index 8fff0a59bfa9..8e6456c5b817 100755 --- a/ci3/bootstrap_ec2 +++ b/ci3/bootstrap_ec2 @@ -15,7 +15,8 @@ if [ "$arch" == "arm64" ]; then export AWS_SHUTDOWN_TIME=90 else if [ "$CI_FULL" -eq 1 ]; then - cores=192,128,64 + # cores=192,128,64 + cores=128,64 else cores=128,64 fi @@ -27,12 +28,16 @@ cores=${CPUS:-$cores} # Trap function to terminate our running instance when the script exits. function on_exit { set +e - if [ "$NO_TERMINATE" -eq 0 ]; then - aws_terminate_instance $iid $sir - else - echo "Remote machine not terminated, connect with: ARCH=$arch ./ci.sh shell" + if [ -n "$iid" ]; then + if [ "$NO_TERMINATE" -eq 0 ]; then + aws_terminate_instance $iid $sir + else + echo "Remote machine not terminated, connect with: ARCH=$arch ./ci.sh shell" + fi + iid="" fi } +trap on_exit SIGINT SIGTERM EXIT # Verify that the commit exists on the remote. It will be the remote tip of itself if so. current_commit=$(git rev-parse HEAD) @@ -76,7 +81,6 @@ IFS=':' read -r -a parts <<< "$ip_sir" ip="${parts[0]}" sir="${parts[1]}" iid="${parts[2]}" -trap on_exit EXIT # If AWS credentials are not set, try to load them from ~/.aws/build_instance_credentials. if [ -z "${AWS_ACCESS_KEY_ID:-}" ] || [ -z "${AWS_SECRET_ACCESS_KEY:-}" ]; then @@ -181,9 +185,8 @@ EOF # We set SSH_CONNECTION to something to ensure the hostname is shown in the lean prompt. # We provide the host user and group ids to the entrypoint script to ensure alignment. # We raise the default pid limit to 32k. -set +e -ssh ${ssh_args:-} -F $ci3/aws/build_instance_ssh_config ubuntu@$ip " - function start { +function run { + ssh ${ssh_args:-} -F $ci3/aws/build_instance_ssh_config ubuntu@$ip " # TODO: This should *not* be needed in a CI run. Remove "watching" code, e.g. in boxes. sudo sysctl fs.inotify.max_user_watches=1048576 &>/dev/null sudo sysctl fs.inotify.max_user_instances=1048576 &>/dev/null @@ -247,19 +250,19 @@ ssh ${ssh_args:-} -F $ci3/aws/build_instance_ssh_config ubuntu@$ip " -e AWS_TOKEN=\$(curl -sX PUT http://169.254.169.254/latest/api/token -H 'X-aws-ec2-metadata-token-ttl-seconds: 21600') \ --pids-limit=32768 \ aztecprotocol/devbox:3.0 bash -c $(printf '%q' "$container_script") - } + " +} - # On SIGHUP, shutdown the instance. - trap 'sudo shutdown -h now' SIGHUP SIGTERM SIGINT +set +e +# If in terminal run in foreground. +# If not, run in background so we can handle the signals in a timely fashion, and wait for it to finish. +if [ -t 0 ]; then + run +else + run & + wait $! +fi - if [ -t 0 ]; then - start - else - # If not in terminal, start in background and wait, to allow SIGHUP handler to execute. - start & - wait \$! - fi -" code=$? set -e echo "SSH exited with code: $code" From 32b1b4a5ebceb9212dd1bf182aedc5ade78800c8 Mon Sep 17 00:00:00 2001 From: Charlie Lye <5764343+charlielye@users.noreply.github.com> Date: Thu, 3 Apr 2025 21:44:01 +0000 Subject: [PATCH 08/11] wip --- ci3/bootstrap_ec2 | 1 + 1 file changed, 1 insertion(+) diff --git a/ci3/bootstrap_ec2 b/ci3/bootstrap_ec2 index 8e6456c5b817..3b2b2341f3b8 100755 --- a/ci3/bootstrap_ec2 +++ b/ci3/bootstrap_ec2 @@ -259,6 +259,7 @@ set +e if [ -t 0 ]; then run else + echo "To tty, running in background..." run & wait $! fi From 31c7b2c3837ebf347e7e11f24a1c0e98760e1b68 Mon Sep 17 00:00:00 2001 From: Charlie Lye <5764343+charlielye@users.noreply.github.com> Date: Thu, 3 Apr 2025 22:06:00 +0000 Subject: [PATCH 09/11] wip --- .github/workflows/ci3.yml | 3 +-- .test_patterns.yml | 8 ++++++++ ci3/bootstrap_ec2 | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci3.yml b/.github/workflows/ci3.yml index 87d1ef55bd4c..e98d54f5b7db 100644 --- a/.github/workflows/ci3.yml +++ b/.github/workflows/ci3.yml @@ -104,8 +104,7 @@ jobs: 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 + run: bash -c "trap 'echo TRAPPED && exit' SIGINT SIGTERM; ./ci.sh ec2 & wait $!" - name: Download benchmarks if: matrix.settings.arch == 'amd64' && github.event_name == 'push' && github.ref_name == 'master' diff --git a/.test_patterns.yml b/.test_patterns.yml index 6732910fc3f3..d0c21d936fc1 100644 --- a/.test_patterns.yml +++ b/.test_patterns.yml @@ -128,6 +128,10 @@ tests: error_regex: "BlockOutOfRangeError" owners: - *palla + - regex: "simple e2e_sequencer_config" + error_regex: "Anvil failed to stop in time" + owners: + - *palla # yarn-project tests - regex: "p2p/src/services/discv5/discv5_service.test.ts" @@ -138,6 +142,10 @@ tests: error_regex: "Exceeded timeout of 120000" owners: - *sean + - regex: "p2p/src/services/reqresp/reqresp.test.ts" + error_regex: "✕ should stop after max retry attempts" + owners: + - *sean - regex: "p2p/src/testbench/port_change.test.ts" error_regex: "Timeout waiting for worker" owners: diff --git a/ci3/bootstrap_ec2 b/ci3/bootstrap_ec2 index 3b2b2341f3b8..b46e6e0ce7bf 100755 --- a/ci3/bootstrap_ec2 +++ b/ci3/bootstrap_ec2 @@ -259,7 +259,7 @@ set +e if [ -t 0 ]; then run else - echo "To tty, running in background..." + echo "No tty, running in background..." run & wait $! fi From 92a3768dd9666fb479ca458f3cd03932df45fe84 Mon Sep 17 00:00:00 2001 From: Charlie Lye <5764343+charlielye@users.noreply.github.com> Date: Thu, 3 Apr 2025 22:18:40 +0000 Subject: [PATCH 10/11] wip --- .github/workflows/ci3.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci3.yml b/.github/workflows/ci3.yml index e98d54f5b7db..e4768026b746 100644 --- a/.github/workflows/ci3.yml +++ b/.github/workflows/ci3.yml @@ -104,7 +104,7 @@ jobs: 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: bash -c "trap 'echo TRAPPED && exit' SIGINT SIGTERM; ./ci.sh ec2 & wait $!" + run: exec bash -c "trap 'echo TRAPPED && exit' SIGINT SIGTERM; ./ci.sh ec2 & wait $!" - name: Download benchmarks if: matrix.settings.arch == 'amd64' && github.event_name == 'push' && github.ref_name == 'master' From 001a129593f59e07afa92b5c1c243c311b203b3e Mon Sep 17 00:00:00 2001 From: Charlie Lye <5764343+charlielye@users.noreply.github.com> Date: Thu, 3 Apr 2025 22:22:51 +0000 Subject: [PATCH 11/11] wip --- .github/workflows/ci3.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci3.yml b/.github/workflows/ci3.yml index e4768026b746..901dab2ec488 100644 --- a/.github/workflows/ci3.yml +++ b/.github/workflows/ci3.yml @@ -104,7 +104,7 @@ jobs: 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: exec bash -c "trap 'echo TRAPPED && exit' SIGINT SIGTERM; ./ci.sh ec2 & wait $!" + run: exec ./ci.sh ec2 - name: Download benchmarks if: matrix.settings.arch == 'amd64' && github.event_name == 'push' && github.ref_name == 'master' @@ -216,8 +216,7 @@ jobs: SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} CI: 1 CI_FULL: 1 - run: | - ./ci.sh ec2-test + run: exec ./ci.sh ec2-test # Necessary as github actions won't allow checks on matrix builds. merge-check: