Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
099b918
op-chain-ops/genesis: thread EspressoTime + BatchAuthenticatorAddress…
QuentinI Jun 19, 2026
135a76f
op-deployer: add Espresso BatchAuthenticator deploy step
QuentinI Jun 19, 2026
7daa36d
op-e2e: add Espresso system support to the e2e harness
QuentinI Jun 19, 2026
f748f52
espresso/bindings: add EspressoTEEVerifier Go binding
QuentinI Jun 19, 2026
555efb7
espresso/environment: port Espresso e2e (op-e2e) tests
QuentinI Jun 19, 2026
22f21d8
op-batcher: allow injecting the Espresso client via the SDK interface
QuentinI Jun 19, 2026
a74d3bd
espresso: add in-memory mock Espresso client
QuentinI Jun 19, 2026
c31eeb4
op-e2e/espresso: run Espresso e2e tests against the in-memory mock de…
QuentinI Jun 19, 2026
b3c6dbb
op-e2e/espresso: drop Docker-only verifier tests and dead Docker helpers
QuentinI Jun 21, 2026
0aee0c9
op-e2e/espresso: fix caffeination height on batcher restart
QuentinI Jun 21, 2026
be57b59
op-e2e/espresso: honour caller timeout for L2 burn verifier wait
QuentinI Jun 22, 2026
2b1a10d
op-e2e/espresso: stabilize batcher-switch/fallback tests
QuentinI Jun 22, 2026
1163452
op-e2e/espresso: fix and unskip TestValidEspressoTransactionCreation
QuentinI Jun 22, 2026
560e7ee
fixes
lukeiannucci Jul 21, 2026
244f399
lint
lukeiannucci Jul 21, 2026
88f5f51
espreso e2e on free runners
lukeiannucci Jul 21, 2026
92c832c
fix panic in test
lukeiannucci Jul 21, 2026
354865d
fix test
lukeiannucci Jul 31, 2026
76e8598
add mock fetchheadersbyrange for espresso e2e
lukeiannucci Jul 31, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 80 additions & 0 deletions .github/workflows/espresso-e2e-tests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: Espresso E2E tests

# In-memory Espresso e2e suite (espresso/environment/...): mock Espresso client
# + op-e2e in-process L1/L2, no docker devnet, so it runs on free runners.
on:
pull_request:
paths:
- "espresso/**"
- "op-batcher/**"
- "op-e2e/**"
- "op-node/**"
- "packages/contracts-bedrock/**"
- ".github/workflows/espresso-e2e-tests.yaml"
workflow_dispatch:

# Cancel superseded runs on the same ref.
concurrency:
group: espresso-e2e-${{ github.ref }}
cancel-in-progress: true

jobs:
espresso-e2e:
runs-on: ubuntu-latest
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
include:
# In-memory groups (contracts only).
- group: core
needs_prestate: false
tests: "TestE2eDevnetWithEspressoSimpleTransactions|TestE2eDevnetWithEspressoAndAltDaSimpleTransactions|TestE2eDevnetWithoutEspressoSimpleTransaction|TestE2eDevnetWithoutAuthenticatingBatches|TestStatelessBatcher"
- group: integrity
needs_prestate: false
tests: "TestSequencerFeedConsistency|TestSequencerFeedConsistencyWithAttackOnEspresso|TestDeterministicDerivationExecutionStateWithInvalidTransaction|TestValidEspressoTransactionCreation|TestConfirmationIntegrityWithReorgs"
- group: fallback
needs_prestate: false
tests: "TestBatcherSwitching|TestFallbackMechanismIntegrationTestChannelNotClosed|TestEspressoEnforcementHardfork|TestE2eDevnetWithEspressoDegradedLiveness"
- group: forced-reorg
needs_prestate: false
tests: "TestForcedTransaction|TestBatcherWaitForFinality|TestE2eDevnetWithL1Reorg|TestPipelineEnhancement|TestEnforceMajorityRule"
# Needs cannon prestate + op-challenger; disabled until the prestate
# build works on free runners.
# - group: dispute
# needs_prestate: true
# tests: "TestOutputAlphabetGameWithEspresso_ChallengerWins"
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive

- name: Set up mise (forge, go, just, ...)
uses: jdx/mise-action@v2

- name: Restore forge-artifacts cache
id: forge-cache
uses: actions/cache@v4
with:
path: packages/contracts-bedrock/forge-artifacts
key: forge-artifacts-${{ hashFiles('packages/contracts-bedrock/foundry.toml', 'packages/contracts-bedrock/src/**/*.sol', 'packages/contracts-bedrock/interfaces/**/*.sol', 'packages/contracts-bedrock/scripts/**/*.sol', '.gitmodules') }}

- name: Compile contracts
if: steps.forge-cache.outputs.cache-hit != 'true'
run: mise exec -- just build-contracts

# Only the dispute group needs prestates.
- name: Build cannon prestates
if: matrix.needs_prestate
run: mise exec -- just cannon-prestates

- name: Install gotestsum
run: go install gotest.tools/gotestsum@latest

- name: Run ${{ matrix.group }} tests
run: |
gotestsum --format github-actions -- \
-timeout 45m -p 1 -count 1 \
-run '${{ matrix.tests }}' \
./espresso/environment/...
1,797 changes: 1,797 additions & 0 deletions espresso/bindings/espresso_tee_verifier.go

Large diffs are not rendered by default.

Loading
Loading