Skip to content

feat(ci): migrate staging EEST to alpen-client with dummy OL#1509

Open
voidash wants to merge 4 commits intomainfrom
STR-2603-migrate-staging-eest-to-alpen-client
Open

feat(ci): migrate staging EEST to alpen-client with dummy OL#1509
voidash wants to merge 4 commits intomainfrom
STR-2603-migrate-staging-eest-to-alpen-client

Conversation

@voidash
Copy link
Contributor

@voidash voidash commented Mar 17, 2026

Summary

Fixes STR-2603

  • staging-eest.yml is broken. it pulled strata-client from ECR which had no images, causing docker pull ...:Noneinvalid reference format
  • Beyond the breakage, the old setup (strata-client + alpen-reth + strata-sequencer-client + prover) needs work
  • Replaced with alpen-client --dummy-ol-client --sequencer + a regtest bitcoind (needed for DA args that --sequencer requires via clap requires_all)
  • Added alpen-client to the CD build matrix so it gets pushed to ECR

Changes

  • cd.yml: add alpen-client to the build matrix
  • docker/docker-compose-eest.yml (new): minimal compose — alpen-client sequencer + regtest bitcoind with healthcheck
  • staging-eest.yml: rewritten to pull alpen-client from ECR, generate keys via init-alpen-client-keys.sh, use new compose

Deployment note

After merge, the CD workflow needs to run once to push the alpen-client image to ECR before the staging EEST daily run will work.

Test plan

  • Verified locally: docker-compose-eest.yml starts alpen-client, RPC responds on :8545, blocks progress
  • CD workflow pushes alpen-client image to ECR
  • Staging EEST workflow pulls image and runs EF tests successfully

Replace the old strata-client + alpen-reth + strata-sequencer-client
stack with alpen-client running in sequencer mode with --dummy-ol-client.

- Add alpen-client to CD build matrix so it gets pushed to ECR
- Add docker-compose-eest.yml: minimal alpen-client + regtest bitcoind
- Rewrite staging-eest.yml: pull alpen-client from ECR, generate keys
  via init-alpen-client-keys.sh, run EEST against port 8545
- Drop prover build and proof generation steps (separate concern)
- Add ECR tag validation to prevent docker pull failures on None tags
- Replace sleep-based readiness check with active RPC polling
@voidash voidash requested review from a team as code owners March 17, 2026 06:10
The prover step is essential — the point of the workflow is to verify
that EE blocks produced from EF spec tests can be proven.

- Add back prover-client Docker build step (native mode)
- Add prover-client service to docker-compose-eest.yml
- Restore "Generate a proof of EE blocks execution" step
- Restore continue-on-error on test step so proofs run even if some
  EF tests fail
- Bump timeout back to 120min to account for prover build
@github-actions
Copy link
Contributor

github-actions bot commented Mar 17, 2026

Commit: 83d24dd

SP1 Execution Results

program cycles success
EVM EE STF 1,320,914
Checkpoint 5,226
Checkpoint New 883,623

@codecov
Copy link

codecov bot commented Mar 17, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 65.03%. Comparing base (4f8f41c) to head (ca7685a).
⚠️ Report is 11 commits behind head on main.

❗ There is a different number of reports uploaded between BASE (4f8f41c) and HEAD (ca7685a). Click for more details.

HEAD has 2 uploads less than BASE
Flag BASE (4f8f41c) HEAD (ca7685a)
unit 2 1
functional 1 0
@@            Coverage Diff             @@
##             main    #1509      +/-   ##
==========================================
- Coverage   74.33%   65.03%   -9.31%     
==========================================
  Files         783      798      +15     
  Lines       73713    74794    +1081     
==========================================
- Hits        54795    48639    -6156     
- Misses      18918    26155    +7237     
Flag Coverage Δ
functional ?
unit 65.03% <ø> (+0.13%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 304 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

voidash added 2 commits March 17, 2026 15:24
The old prover-client binary is incompatible with the new alpen-client
setup — it requires --sequencer-rpc pointing to a real OL, which we
don't have with --dummy-ol-client.

EE proving is being redesigned to be internal to alpen-client via
AlpenProverHandle (currently NoopProver). Once that's wired up, EE
proof generation can be re-added to this workflow without a separate
prover-client container.
- --http.api
- eth,net,web3,txpool,admin,debug
- --ee-da-magic-bytes
- ${EE_DA_MAGIC_BYTES:-ALPT}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not again

Suggested change
- ${EE_DA_MAGIC_BYTES:-ALPT}
- ${EE_DA_MAGIC_BYTES:-ALPN}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants