Skip to content

feat: use binary diff to persist finalized states #20547

feat: use binary diff to persist finalized states

feat: use binary diff to persist finalized states #20547

Workflow file for this run

name: Sim tests
concurrency:
# If PR, cancel prev commits. head_ref = source branch name on pull_request, null if push
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
on:
push:
# We intentionally don't run push on feature branches. See PR for rational.
branches: [unstable, stable]
pull_request:
workflow_dispatch:
inputs:
debug:
description: Runtime DEBUG value
required: false
default: ""
genesisDelaySlots:
description: "Number of slots delay before genesis"
required: true
type: number
default: 40
jobs:
build:
name: Build
runs-on: buildjet-4vcpu-ubuntu-2204
steps:
# <common-build> - Uses YAML anchors in the future
- uses: actions/checkout@v4
- uses: "./.github/actions/setup-and-build"
with:
node: 22.4
sim-test-multifork:
name: Multifork sim test
needs: build
runs-on: buildjet-4vcpu-ubuntu-2204
steps:
# <common-build> - Uses YAML anchors in the future
- uses: actions/checkout@v4
- uses: "./.github/actions/setup-and-build"
with:
node: 22.4
- name: Load env variables
uses: ./.github/actions/dotenv
- name: Download required docker images before running tests
run: |
docker pull ${{env.GETH_DOCKER_IMAGE}}
docker pull ${{env.LIGHTHOUSE_DOCKER_IMAGE}}
docker pull ${{env.NETHERMIND_DOCKER_IMAGE}}
- name: Sim tests multifork
run: DEBUG='${{github.event.inputs.debug}}' yarn test:sim:multifork
working-directory: packages/cli
env:
GENESIS_DELAY_SLOTS: ${{github.event.inputs.genesisDelaySlots}}
- name: Upload debug log test files for "packages/cli"
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: sim-test-multifork-logs
path: packages/cli/test-logs
sim-test-endpoints:
name: Endpoint sim tests
needs: build
runs-on: buildjet-4vcpu-ubuntu-2204
steps:
# <common-build> - Uses YAML anchors in the future
- uses: actions/checkout@v4
- uses: "./.github/actions/setup-and-build"
with:
node: 22.4
- name: Load env variables
uses: ./.github/actions/dotenv
- name: Download required docker images before running tests
run: |
docker pull ${{env.GETH_DOCKER_IMAGE}}
docker pull ${{env.LIGHTHOUSE_DOCKER_IMAGE}}
docker pull ${{env.NETHERMIND_DOCKER_IMAGE}}
- name: Sim tests endpoints
run: DEBUG='${{github.event.inputs.debug}}' yarn test:sim:endpoints
working-directory: packages/cli
env:
GENESIS_DELAY_SLOTS: ${{github.event.inputs.genesisDelaySlots}}
- name: Upload debug log test files for "packages/cli"
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: sim-test-endpoints-logs
path: packages/cli/test-logs
sim-test-deneb:
name: Deneb sim tests
needs: build
runs-on: buildjet-4vcpu-ubuntu-2204
steps:
# <common-build> - Uses YAML anchors in the future
- uses: actions/checkout@v4
- uses: "./.github/actions/setup-and-build"
with:
node: 22.4
- name: Load env variables
uses: ./.github/actions/dotenv
- name: Download required docker images before running tests
run: |
docker pull ${{env.GETH_DOCKER_IMAGE}}
docker pull ${{env.LIGHTHOUSE_DOCKER_IMAGE}}
docker pull ${{env.NETHERMIND_DOCKER_IMAGE}}
- name: Sim tests deneb
run: DEBUG='${{github.event.inputs.debug}}' yarn test:sim:deneb
working-directory: packages/cli
env:
GENESIS_DELAY_SLOTS: ${{github.event.inputs.genesisDelaySlots}}
- name: Upload debug log test files for "packages/cli"
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: sim-test-deneb-logs
path: packages/cli/test-logs
sim-test-eth-backup-provider:
name: Eth backup provider sim tests
needs: build
runs-on: buildjet-4vcpu-ubuntu-2204
steps:
# <common-build> - Uses YAML anchors in the future
- uses: actions/checkout@v4
- uses: "./.github/actions/setup-and-build"
with:
node: 22.4
- name: Load env variables
uses: ./.github/actions/dotenv
- name: Download required docker images before running tests
run: |
docker pull ${{env.GETH_DOCKER_IMAGE}}
docker pull ${{env.LIGHTHOUSE_DOCKER_IMAGE}}
docker pull ${{env.NETHERMIND_DOCKER_IMAGE}}
- name: Sim tests backup eth provider
run: DEBUG='${{github.event.inputs.debug}}' yarn test:sim:backup_eth_provider
working-directory: packages/cli
env:
GENESIS_DELAY_SLOTS: ${{github.event.inputs.genesisDelaySlots}}
- name: Upload debug log test files for "packages/cli"
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: sim-test-eth-backup-provider-logs
path: packages/cli/test-logs
sim-test-mixed-clients:
name: Mixed clients sim tests
needs: build
runs-on: buildjet-4vcpu-ubuntu-2204
steps:
# <common-build> - Uses YAML anchors in the future
- uses: actions/checkout@v4
- uses: "./.github/actions/setup-and-build"
with:
node: 22.4
- name: Load env variables
uses: ./.github/actions/dotenv
- name: Download required docker images before running tests
run: |
docker pull ${{env.GETH_DOCKER_IMAGE}}
docker pull ${{env.LIGHTHOUSE_DOCKER_IMAGE}}
# docker pull ${{env.NETHERMIND_DOCKER_IMAGE}}
- name: Sim tests mixed client
run: DEBUG='${{github.event.inputs.debug}}' yarn test:sim:mixedclient
working-directory: packages/cli
env:
GENESIS_DELAY_SLOTS: ${{github.event.inputs.genesisDelaySlots}}
- name: Upload debug log test files for "packages/cli"
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: sim-test-mixed-clients-logs
path: packages/cli/test-logs