fix: align Gloas aggregation timing with Lighthouse #1147
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: local testnet | |
| on: | |
| push: | |
| branches: | |
| - stable | |
| - 'pr/*' | |
| pull_request: | |
| types: [opened, synchronize, reopened, ready_for_review] | |
| merge_group: | |
| jobs: | |
| build-docker-image: | |
| runs-on: warp-ubuntu-latest-x64-16x | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Build Docker Image | |
| # has to be Dockerfile.devnet as spec-minimal is necessary | |
| run: | | |
| docker build -f Dockerfile.devnet -t node/anchor:latest . | |
| docker save node/anchor:latest -o anchor-docker.tar | |
| - name: Upload Docker Image Artifact | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: anchor-docker | |
| path: anchor-docker.tar | |
| retention-days: 1 | |
| run-local-testnet: | |
| runs-on: warp-ubuntu-latest-x64-16x | |
| needs: build-docker-image | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| # TEMPORARY: pinned to the fork branch behind ssvlabs/ssv-mini#37, which adds the | |
| # pre_register_validators flag (main.star Step 4) + the v2.0.0 payable registration fix. | |
| # Swap back to ssvlabs/ssv-mini at the merged SHA once #37 lands. | |
| repository: shane-moore/ssv-mini | |
| ref: a940244a1627257ecf2c6043fd87b594eb0faa8c | |
| path: ssv-mini | |
| - uses: actions/checkout@v6 | |
| with: | |
| path: anchor | |
| - name: Install Kurtosis | |
| run: | | |
| set -euo pipefail | |
| # Resolve the latest tag from the github.com redirect rather than api.github.com. | |
| # The REST API allows 60 unauthenticated requests/hour per IP and the shared runner | |
| # egress IPs exhaust it, which silently yielded an empty version and broke the job. | |
| KURTOSIS_VERSION=$(curl -fsSLI -o /dev/null -w '%{url_effective}' --retry 3 --retry-all-errors \ | |
| https://github.com/kurtosis-tech/kurtosis-cli-release-artifacts/releases/latest | sed 's#.*/tag/##') | |
| case "${KURTOSIS_VERSION}" in | |
| ''|*/*) echo "::error::Could not resolve latest Kurtosis version (got '${KURTOSIS_VERSION}')"; exit 1 ;; | |
| esac | |
| echo "Installing Kurtosis version: ${KURTOSIS_VERSION}" | |
| curl -fL --retry 3 --retry-all-errors "https://github.com/kurtosis-tech/kurtosis-cli-release-artifacts/releases/download/${KURTOSIS_VERSION}/kurtosis-cli_${KURTOSIS_VERSION}_linux_amd64.tar.gz" -o kurtosis.tar.gz | |
| tar -xzf kurtosis.tar.gz | |
| sudo mv kurtosis /usr/local/bin/ | |
| sudo chmod +x /usr/local/bin/kurtosis | |
| kurtosis analytics disable | |
| - name: Download Docker Image Artifact | |
| uses: actions/download-artifact@v7 | |
| with: | |
| name: anchor-docker | |
| path: . | |
| - name: Load Docker Image | |
| run: docker load -i anchor-docker.tar | |
| - name: Replace Commit placeholder in params.yaml | |
| run: sed -i "s/<<COMMIT>>/${{ github.sha }}/g" anchor/.github/custom/local-testnet/params.yaml | |
| - name: Start Local Testnet with Assertoor | |
| timeout-minutes: 30 | |
| run: | | |
| kurtosis clean -a || true | |
| kurtosis run --verbosity DETAILED --enclave localnet ssv-mini --args-file anchor/.github/custom/local-testnet/params.yaml | |
| - name: Await Assertoor Test Result | |
| id: assertoor_test_result | |
| uses: ethpandaops/assertoor-github-action@v1 | |
| with: | |
| kurtosis_enclave_name: localnet | |
| - name: Return Assertoor Test Result | |
| shell: bash | |
| run: | | |
| test_result="${{ steps.assertoor_test_result.outputs.result }}" | |
| test_status=$( | |
| cat <<"EOF" | |
| ${{ steps.assertoor_test_result.outputs.test_overview }} | |
| EOF | |
| ) | |
| failed_test_status=$( | |
| cat <<"EOF" | |
| ${{ steps.assertoor_test_result.outputs.failed_test_details }} | |
| EOF | |
| ) | |
| echo "Test Result: $test_result" | |
| echo "$test_status" | |
| if ! [ "$test_result" == "success" ]; then | |
| echo "Failed Test Task Status:" | |
| echo "$failed_test_status" | |
| exit 1 | |
| fi | |
| - name: Kurtosis Dump | |
| if: always() | |
| run: kurtosis enclave dump localnet anchor-localnet-test-logs | |
| - name: Upload Logs Artifact | |
| if: always() | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: anchor-localnet-test-logs | |
| path: anchor-localnet-test-logs/ | |
| retention-days: 3 |