Skip to content

ci: probe Autobahn Chain Operation Test (CON-256)#3492

Draft
wen-coding wants to merge 4 commits into
mainfrom
wen/add_autobahn_chain_operation
Draft

ci: probe Autobahn Chain Operation Test (CON-256)#3492
wen-coding wants to merge 4 commits into
mainfrom
wen/add_autobahn_chain_operation

Conversation

@wen-coding
Copy link
Copy Markdown
Contributor

Summary

Dumb-enable an Autobahn Chain Operation Test matrix entry that mirrors the existing CometBFT Chain Operation Test, with the standard Autobahn env. Purpose: see which sub-step actually fails under Autobahn so we can decide what to keep, what to carve out, and what to wait on.

Expected

  • statesync_operation.yaml likely fails — Autobahn doesn't drive CometBFT-style state sync today
  • The snapshot + digest steps may or may not work depending on what state-sync the snapshot path internally exercises

Next step

Once CI tells us exactly what fails, follow-up PR can either:

  • Carve the script list down to the working subset, or
  • Drop the entry and revisit once Autobahn state sync lands

Test plan

  • CI: see which scripts pass/fail under Autobahn Chain Operation Test
  • Existing CometBFT Chain Operation Test stays green

Mirror the existing CometBFT "Chain Operation Test" matrix entry with
the standard Autobahn env (AUTOBAHN=true GIGA_EXECUTOR=true
GIGA_STORAGE=true GIGA_OCC=true) and the same script list. Goal is to
see which sub-step Autobahn breaks on:

  - snapshot_operation.yaml — exercises snapshot-based state import
  - statesync_operation.yaml — expected to fail (Autobahn doesn't drive
    CometBFT-style state sync today)
  - verify_statesync_flatkv_digest.sh
  - verify_cross_validator_flatkv_digest.sh

This is a draft probe; once CI tells us exactly which steps fail under
Autobahn, the script list can be carved down to the working subset (or
the entry deleted if nothing useful runs without Autobahn state sync).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 21, 2026

The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedMay 22, 2026, 4:05 AM

wen-coding and others added 3 commits May 21, 2026 14:21
…ster

The Chain Operation Test runs an extra `sei-rpc-node` container alongside
the 4-validator cluster. Validators read AUTOBAHN/GIGA_EXECUTOR/GIGA_OCC
from docker-compose, but `make run-rpc-node-skipbuild` only forwarded
GIGA_STORAGE and RECEIPT_BACKEND — so under AUTOBAHN=true the rpc node
came up in CometBFT mode, couldn't talk to the Autobahn validators, and
the CometBFT RPC server never bound (state sync hung on connection
refused).

Forward the four missing vars (AUTOBAHN, GIGA_EXECUTOR, GIGA_OCC,
CLUSTER_SIZE) in both run-rpc-node targets, and mirror the validator
step4_config_override.sh logic in the rpc node's step1: generate
autobahn.json with `seid tendermint gen-autobahn-config` against the
shared build/generated/node_* dirs (mounted in), inject
autobahn-config-file into config.toml, and apply giga_executor /
occ_enabled to app.toml when requested.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Autobahn doesn't run the CometBFT state-sync reactor (gated by
!gigaEnabled in sei-tendermint/node/node.go) and its BlockStore stays
empty, so /status's SyncInfo.latest_block_height is always 0 (per the
existing comment in integration_test/autobahn/autobahn_test.go). The
dumb-enabled Autobahn Chain Operation matrix entry hung on the
rpc-node `seid status` readiness loop and would have failed
statesync_operation.yaml / verify_statesync_flatkv_digest.sh
afterwards regardless.

Keep the two parts that work without state sync:
  - snapshot_operation.yaml: pure filesystem check on a validator
  - verify_cross_validator_flatkv_digest.sh: compares FlatKV across
    the 4 validators at a shared committed height; validators commit
    blocks normally under Autobahn so this is meaningful.

Patch verify_cross_validator_flatkv_digest.sh's node_height() to read
last_block_height from /abci_info instead of `seid status` so it works
under both consensus modes.

Skip the rpc-node-side scripts until upstream Autobahn supports state
sync; re-add then.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Validators are committing blocks (FlatKV version=2787 in logs) but my
/abci_info-based node_height() returned 0 for all 4 the entire 180s wait
window. Add a one-shot diagnostic that prints the raw responses from
/abci_info, /status, and `seid status` on sei-node-0 before entering the
wait loop, so we can see whether:
  - /abci_info is unreachable / 404 / returns different schema
  - last_block_height is omitted (proto3 zero-value omitempty)
  - my jq path is wrong
  - or something else entirely

Will be removed once node_height() is fixed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant