eth/sequencer: cap coalesced published records at the store message limit #2381
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: Kurtosis Stateless E2E Tests | |
| on: | |
| push: | |
| branches: | |
| - 'master' | |
| - 'develop' | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| concurrency: | |
| group: kurtosis-stateless-e2e-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| ENCLAVE_NAME: kurtosis-stateless-e2e | |
| POLYCLI_VERSION: v0.1.103 | |
| jobs: | |
| build-bor: | |
| permissions: | |
| contents: read | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout bor | |
| uses: actions/checkout@v7 | |
| with: | |
| persist-credentials: false | |
| - name: Build bor docker image | |
| run: docker build -t bor:local --file Dockerfile . | |
| - name: Save bor docker image | |
| run: docker save bor:local | gzip > bor-image.tar.gz | |
| - name: Upload bor docker image | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: bor-image | |
| path: bor-image.tar.gz | |
| retention-days: 1 | |
| build-heimdall-v2: | |
| permissions: | |
| contents: read | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout heimdall-v2 | |
| uses: actions/checkout@v7 | |
| with: | |
| repository: 0xPolygon/heimdall-v2 | |
| ref: develop | |
| persist-credentials: false | |
| - name: Build heimdall-v2 docker image | |
| run: docker build -t heimdall-v2:local --file Dockerfile . | |
| - name: Save heimdall-v2 docker image | |
| run: docker save heimdall-v2:local | gzip > heimdall-v2-image.tar.gz | |
| - name: Upload heimdall-v2 docker image | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: heimdall-v2-image | |
| path: heimdall-v2-image.tar.gz | |
| retention-days: 1 | |
| e2e-tests: | |
| needs: | |
| - build-bor | |
| - build-heimdall-v2 | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 45 | |
| # GitHub withholds OIDC and repository secrets from fork pull_request runs. | |
| # Trusted runs use OIDC only while preparing public dependency images. | |
| permissions: | |
| contents: read | |
| id-token: write | |
| steps: | |
| # Set up kurtosis | |
| - name: Checkout kurtosis-pos | |
| uses: actions/checkout@v7 | |
| with: | |
| repository: 0xPolygon/kurtosis-pos | |
| ref: v1.4.2 | |
| persist-credentials: false | |
| # This step will free disk space and thus remove any docker images previously built | |
| - name: Pre kurtosis run (trusted) | |
| if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository | |
| uses: ./.github/actions/kurtosis/setup | |
| with: | |
| main_branch: develop | |
| docker_username: ${{ secrets.DOCKERHUB }} | |
| docker_token: ${{ secrets.DOCKERHUB_KEY }} | |
| # Fork PRs deliberately avoid the authenticated registry setup above. | |
| # Kurtosis pulls the package's public image references directly instead. | |
| - name: Free disk space (fork) | |
| if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository | |
| uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1 | |
| with: | |
| tool-cache: false | |
| android: true | |
| dotnet: true | |
| haskell: true | |
| large-packages: false | |
| docker-images: true | |
| swap-storage: true | |
| - name: Install Kurtosis and yq (fork) | |
| if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository | |
| run: | | |
| KURTOSIS_DEB=/tmp/kurtosis-cli_1.18.2_linux_amd64.deb | |
| curl --proto '=https' --tlsv1.2 -fsSL \ | |
| https://github.com/kurtosis-tech/kurtosis-cli-release-artifacts/releases/download/1.18.2/kurtosis-cli_1.18.2_linux_amd64.deb \ | |
| -o "$KURTOSIS_DEB" | |
| echo "6522717e33ede4e08b5fd3f2a47689c016c045075777c938f43d4b94e17c760d $KURTOSIS_DEB" | sha256sum --check - | |
| sudo apt-get install -y "$KURTOSIS_DEB" | |
| kurtosis analytics disable | |
| python3 -m pip install --disable-pip-version-check yq==4.1.2 | |
| - name: Install Foundry (fork) | |
| if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository | |
| uses: foundry-rs/foundry-toolchain@908c540300062bd5a7e473851cdb4282204cee09 # v1.9.1 | |
| with: | |
| version: v1.5.1 | |
| cache: false | |
| - name: Checkout pos-workflows | |
| uses: actions/checkout@v7 | |
| with: | |
| repository: 0xPolygon/pos-workflows | |
| ref: main | |
| path: pos-workflows | |
| persist-credentials: false | |
| - name: Copy kurtosis config | |
| run: cp ./pos-workflows/configs/kurtosis-stateless-e2e.yml ./kurtosis-stateless-e2e.yml | |
| # Load images | |
| - name: Download bor docker image | |
| uses: actions/download-artifact@v8 | |
| with: | |
| name: bor-image | |
| - name: Download heimdall-v2 docker image | |
| uses: actions/download-artifact@v8 | |
| with: | |
| name: heimdall-v2-image | |
| - name: Load bor docker image | |
| run: | | |
| gunzip -c bor-image.tar.gz | docker load | |
| echo "Loaded bor docker image:" | |
| docker images bor:local --format "{{.ID}} {{.CreatedAt}}" | |
| - name: Load heimdall-v2 docker image | |
| run: | | |
| gunzip -c heimdall-v2-image.tar.gz | docker load | |
| echo "Loaded heimdall-v2 docker image:" | |
| docker images heimdall-v2:local --format "{{.ID}} {{.CreatedAt}}" | |
| # Deploy kurtosis enclave | |
| - name: Kurtosis run | |
| run: kurtosis run --args-file=kurtosis-stateless-e2e.yml --enclave ${{ env.ENCLAVE_NAME }} . | |
| - name: Inspect enclave | |
| run: kurtosis enclave inspect ${{ env.ENCLAVE_NAME }} | |
| # Run e2e tests | |
| - name: Install polycli | |
| run: | | |
| tmp_dir=$(mktemp -d) | |
| curl -L https://github.com/0xPolygon/polygon-cli/releases/download/${{ env.POLYCLI_VERSION }}/polycli_${{ env.POLYCLI_VERSION }}_linux_amd64.tar.gz | tar -xz -C "$tmp_dir" | |
| mv "$tmp_dir"/* /usr/local/bin/polycli | |
| rm -rf "$tmp_dir" | |
| sudo chmod +x /usr/local/bin/polycli | |
| polycli version | |
| - name: Run stateless e2e tests | |
| id: stateless-tests | |
| working-directory: pos-workflows/tests/stateless_tests | |
| run: bash kurtosis_stateless_test.sh | |
| # Collect diagnostics on failure | |
| - name: Collect network diagnostics and state dump | |
| if: always() && steps.stateless-tests.outcome == 'failure' | |
| uses: ./pos-workflows/.github/actions/network-diagnostics-and-state-dump | |
| with: | |
| enclave_name: ${{ env.ENCLAVE_NAME }} | |
| # Clean up | |
| - name: Post kurtosis run | |
| if: always() | |
| uses: ./.github/actions/kurtosis/cleanup | |
| with: | |
| main_branch: develop | |
| enclave_name: ${{ env.ENCLAVE_NAME }} |