From 90bd954eba9227a25c8fb3d9fc8ccef932e4482c Mon Sep 17 00:00:00 2001 From: ludamad Date: Mon, 4 Nov 2024 11:09:21 -0500 Subject: [PATCH] fix: reenable kind 4epochs (#9699) The problem with 4epochs turned out to be the mainframe spot reaper. Added a keepalive tag. --- .github/ensure-tester/action.yml | 2 +- .github/workflows/ci.yml | 40 +++++++++++++++++++++++++++----- 2 files changed, 35 insertions(+), 7 deletions(-) diff --git a/.github/ensure-tester/action.yml b/.github/ensure-tester/action.yml index ec6b1c27542..6f788aad80c 100644 --- a/.github/ensure-tester/action.yml +++ b/.github/ensure-tester/action.yml @@ -67,7 +67,7 @@ runs: ec2_subnet_id: subnet-4cfabd25 ec2_security_group_id: sg-0ccd4e5df0dcca0c9 ec2_key_name: "build-instance" - ec2_instance_tags: "[]" + ec2_instance_tags: '[{"Key": "Keep-Alive", "Value": "true"}]' - name: Print Startup Log shell: bash diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 86e416e0560..58e36d13da7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -657,16 +657,45 @@ jobs: if: matrix.test == 'test-transfer.sh' || github.ref_name == 'master' || contains(github.event.pull_request.labels.*.name, 'network-all') run: sudo shutdown -P 60 ; earthly-ci --no-output ./yarn-project/+network-test --test=./${{ matrix.test }} + kind-smoke-test: + needs: [build, configure] + if: needs.configure.outputs.yarn-project == 'true' || github.ref_name == 'master' + runs-on: ${{ needs.configure.outputs.username }}-x86 + steps: + - uses: actions/checkout@v4 + with: { ref: "${{ env.GIT_COMMIT }}" } + - uses: ./.github/ci-setup-action + with: + concurrency_key: kind-network-test-${{ matrix.test }} + - name: Setup and KIND Network Test + timeout-minutes: 60 + uses: ./.github/ensure-tester-with-images + env: + USERNAME: ${{ needs.configure.outputs.username }} + with: + runner_type: 8core-tester-x86 + spot_strategy: None # use on-demand machines + builder_type: builder-x86 + # these are copied to the tester and expected by the earthly command below + # if they fail to copy, it will try to build them on the tester and fail + builder_images_to_copy: aztecprotocol/aztec:${{ env.GIT_COMMIT }} aztecprotocol/end-to-end:${{ env.GIT_COMMIT }} + # command to produce the images in case they don't exist + builder_command: scripts/earthly-ci ./yarn-project+export-e2e-test-images + tester_ttl: 60 + run: | + cd yarn-project/end-to-end + echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u aztecprotocolci --password-stdin + NAMESPACE=smoke FRESH_INSTALL=true VALUES_FILE=default.yaml ./scripts/network_test.sh ./src/spartan/smoke.test.ts + # note: proving disabled kind-network-test: needs: [build, configure] - if: needs.configure.outputs.yarn-project == 'true' || github.ref_name == 'master' + if: contains(github.event.pull_request.labels.*.name, 'network-all') || github.ref_name == 'master' runs-on: ${{ needs.configure.outputs.username }}-x86 strategy: fail-fast: false matrix: - # TODO(#9640): add transfer.test.ts and reorg.test.ts - test: [smoke.test.ts] + test: [transfer.test.ts, reorg.test.ts, 4epochs.test.ts] steps: - uses: actions/checkout@v4 with: { ref: "${{ env.GIT_COMMIT }}" } @@ -676,7 +705,6 @@ jobs: - name: Setup and KIND Network Test timeout-minutes: 60 uses: ./.github/ensure-tester-with-images - if: contains(github.event.pull_request.labels.*.name, 'kind-network-all') env: USERNAME: ${{ needs.configure.outputs.username }} with: @@ -689,12 +717,12 @@ jobs: # command to produce the images in case they don't exist builder_command: scripts/earthly-ci ./yarn-project+export-e2e-test-images tester_ttl: 60 - # TODO(#9640): remove `|| true` and use 16-validators.yaml + # TODO(#9640): use 16-validators.yaml run: | cd yarn-project/end-to-end echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u aztecprotocolci --password-stdin test=${{ matrix.test }} - NAMESPACE="${test%.test.ts}" FRESH_INSTALL=true VALUES_FILE=default.yaml ./scripts/network_test.sh ./src/spartan/$test || true + NAMESPACE="${test%.test.ts}" FRESH_INSTALL=true VALUES_FILE=default.yaml ./scripts/network_test.sh ./src/spartan/$test l1-contracts-test: needs: [build, configure]