Skip to content

feat(evm/firewood): flat state history for the Firewood state scheme #7112

feat(evm/firewood): flat state history for the Firewood state scheme

feat(evm/firewood): flat state history for the Firewood state scheme #7112

Workflow file for this run

name: Subnet-EVM
on:
push:
branches:
- master
pull_request:
merge_group:
types: [checks_requested]
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
subnet-evm-required:
if: ${{ always() }}
needs:
- lint_test
- unit_test
- e2e_warp
- e2e_load
- test_build_image
- test_build_antithesis_images
runs-on: ubuntu-24.04
steps:
- name: Fail unless all needed jobs succeeded
shell: bash
env:
NEEDS_JSON: ${{ toJSON(needs) }}
run: |
failed_jobs="$(
jq -r '
to_entries[]
| select(.value.result != "success")
| .key
' <<<"$NEEDS_JSON"
)"
if [[ -n "$failed_jobs" ]]; then
echo "Required jobs failed:"
printf '%s\n' "$failed_jobs"
exit 1
fi
lint_test:
name: Lint
runs-on: ubuntu-24.04
defaults:
run:
working-directory: ./graft/subnet-evm
steps:
- uses: actions/checkout@v5
- uses: ./.github/actions/install-nix
- name: Run all lint checks
run: ./scripts/run_task.sh lint-all-ci
- name: Check go.mod and go.sum are up-to-date
run: ./scripts/run_task.sh check-go-mod-tidy
unit_test:
name: Unit Tests (${{ matrix.os }})
runs-on: ${{ matrix.os }}
defaults:
run:
working-directory: ./graft/subnet-evm
strategy:
fail-fast: false
matrix:
os: [macos-26, ubuntu-22.04, ubuntu-24.04]
steps:
- uses: actions/checkout@v5
- uses: ./.github/actions/setup-go-for-project
- run: ./scripts/run_task.sh build-test
- run: ./scripts/run_task.sh coverage
e2e_warp:
name: e2e warp tests
runs-on: ubuntu-24.04
steps:
- name: Git checkout
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Run Warp E2E Tests
uses: ./.github/actions/run-monitored-tmpnet-cmd
with:
run: ./scripts/run_task.sh test-e2e-warp-ci
working_directory: ./graft/subnet-evm
artifact_prefix: warp
prometheus_url: ${{ secrets.PROMETHEUS_URL || '' }}
prometheus_push_url: ${{ secrets.PROMETHEUS_PUSH_URL || '' }}
prometheus_username: ${{ secrets.PROMETHEUS_USERNAME || '' }}
prometheus_password: ${{ secrets.PROMETHEUS_PASSWORD || '' }}
loki_url: ${{ secrets.LOKI_URL || '' }}
loki_push_url: ${{ secrets.LOKI_PUSH_URL || '' }}
loki_username: ${{ secrets.LOKI_USERNAME || '' }}
loki_password: ${{ secrets.LOKI_PASSWORD || '' }}
e2e_load:
name: e2e load tests
runs-on: ubuntu-24.04
steps:
- name: Git checkout
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Run E2E Load Tests
uses: ./.github/actions/run-monitored-tmpnet-cmd
with:
run: ./scripts/run_task.sh test-e2e-load-ci
working_directory: ./graft/subnet-evm
artifact_prefix: load
prometheus_url: ${{ secrets.PROMETHEUS_URL || '' }}
prometheus_push_url: ${{ secrets.PROMETHEUS_PUSH_URL || '' }}
prometheus_username: ${{ secrets.PROMETHEUS_USERNAME || '' }}
prometheus_password: ${{ secrets.PROMETHEUS_PASSWORD || '' }}
loki_url: ${{ secrets.LOKI_URL || '' }}
loki_push_url: ${{ secrets.LOKI_PUSH_URL || '' }}
loki_username: ${{ secrets.LOKI_USERNAME || '' }}
loki_password: ${{ secrets.LOKI_PASSWORD || '' }}
test_build_image:
name: Image build
runs-on: ubuntu-24.04
defaults:
run:
working-directory: ./graft/subnet-evm
steps:
- uses: actions/checkout@v5
- name: Set up QEMU (required for cross-platform builds)
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4
- name: Check image build
run: ./scripts/run_task.sh test-build-image
test_build_antithesis_images:
name: Build Antithesis images
runs-on: ubuntu-24.04
steps:
- uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
with:
tool-cache: true
docker-images: true
- uses: actions/checkout@v5
- uses: ./.github/actions/setup-go-for-project
- name: Check image build for subnet-evm test setup
shell: bash
run: ./scripts/run_task.sh test-build-antithesis-images-subnet-evm