feat: add spec references, a mapping of spec to implementation #16069
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: Benchmark | |
| # Actions access a common cache entry and may corrupt it. | |
| concurrency: | |
| # If PR, cancel prev commits. head_ref = source branch name on pull_request, null if push | |
| # if push, default to github.run_id so retries of the same commit do not overwrite each other | |
| group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| on: | |
| push: | |
| branches: | |
| - stable | |
| - unstable | |
| - benchmark # For debugging | |
| pull_request: | |
| branches: | |
| - stable | |
| - unstable | |
| workflow_dispatch: | |
| jobs: | |
| run: | |
| runs-on: buildjet-4vcpu-ubuntu-2204 | |
| # Skip for dependabot PRs, secrets are not made available and will fail | |
| # Don't run on forks. Forks don't have access to the S3 credentials and the workflow will fail | |
| if: | | |
| github.actor != 'dependabot[bot]' && | |
| ( github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository ) | |
| steps: | |
| # <common-build> - Uses YAML anchors in the future | |
| - uses: actions/checkout@v4 | |
| - uses: "./.github/actions/setup-and-build" | |
| with: | |
| node: 24 | |
| # </common-build> | |
| # Restore performance downloaded states | |
| - name: Restore performance state cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: packages/state-transition/test-cache | |
| key: perf-states-${{ hashFiles('packages/state-transition/test/perf/params.ts') }} | |
| - name: Run benchmarks | |
| run: pnpm benchmark | |
| env: | |
| # To download content for tests | |
| INFURA_ETH2_CREDENTIALS: ${{ secrets.INFURA_ETH2_CREDENTIALS }} | |
| # To write to PRs and commits | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| # benchmark options | |
| BENCHMARK_S3: true | |
| # S3 credentials | |
| S3_ACCESS_KEY: ${{ secrets.S3_BENCH_LODESTAR_ACCESS_KEY }} | |
| S3_SECRET_KEY: ${{ secrets.S3_BENCH_LODESTAR_SECRET_KEY }} | |
| S3_REGION: ${{ secrets.S3_BENCH_LODESTAR_REGION }} | |
| S3_BUCKET: ${{ secrets.S3_BENCH_LODESTAR_BUCKET }} | |
| S3_ENDPOINT: ${{ secrets.S3_BENCH_LODESTAR_ENDPOINT }} | |
| # Key prefix to separate benchmark data from multiple repositories | |
| S3_KEY_PREFIX: ${{ github.repository }}/${{ runner.os }} |