Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
26 changes: 26 additions & 0 deletions .github/workflows/integration-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,32 @@ jobs:
"./integration_test/contracts/verify_cross_validator_flatkv_digest.sh"
]
},
{
# Trimmed subset of Chain Operation Test: only the validator-side
# checks. Under Autobahn a non-validator full-node (sei-rpc-node)
# has no way to keep up with the chain — there's no
# subscriber/observer mode for non-validators in the Autobahn
# P2P protocol, and the CometBFT statesync reactor is gated by
# !gigaEnabled in sei-tendermint/node/node.go. So everything
# that asserts on the rpc-node syncing (statesync_operation.yaml,
# verify_statesync_flatkv_digest.sh, the rpc-node `seid status`
# readiness loop) is skipped here. The cross-validator FlatKV
# digest check is kept because validators commit blocks normally
# under Autobahn, so the comparison is still meaningful and
# catches silent FlatKV drift.
#
# TODO(CON-256): once Autobahn supports non-validator
# subscribers (block/QC streaming from validators) and the
# statesync reactor is unblocked under giga, re-add the
# rpc-node readiness loop, statesync_operation.yaml, and
# verify_statesync_flatkv_digest.sh to this entry.
name: "Autobahn Chain Operation Test",
env: "AUTOBAHN=true GIGA_EXECUTOR=true GIGA_STORAGE=true GIGA_OCC=true",
scripts: [
"python3 integration_test/scripts/runner.py integration_test/chain_operation/snapshot_operation.yaml",
"./integration_test/contracts/verify_cross_validator_flatkv_digest.sh"
]
},
{
name: "Distribution Module",
scripts: [
Expand Down
13 changes: 11 additions & 2 deletions integration_test/contracts/verify_cross_validator_flatkv_digest.sh
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,18 @@ ensure_seidb() {
}

node_height() {
# Read last_block_height from /abci_info, the canonical "app committed
# height" source (env.App.Info() returns the cosmos-sdk BaseApp's
# cms.LastCommitID().Version), which is populated identically under
# both CometBFT and Autobahn consensus.
#
# Tendermint's REST-style GET endpoints return the bare result struct
# ({"response": {...}}), NOT the JSON-RPC envelope ({"result": {...}})
# that POST / to the root would yield — hence the path is .response,
# not .result.response.
local node=$1
docker exec "$node" build/seid status 2>/dev/null \
| jq -r '.SyncInfo.latest_block_height // "0"' 2>/dev/null \
docker exec "$node" curl -s http://localhost:26657/abci_info 2>/dev/null \
| jq -r '.response.last_block_height // "0"' 2>/dev/null \
|| echo 0
}

Expand Down
Loading