Skip to content

ci: verify every local-env validator reaches finality#1452

Merged
justinfrevert merged 5 commits into
mainfrom
ozgb-ci-verify-local-env-finality
May 11, 2026
Merged

ci: verify every local-env validator reaches finality#1452
justinfrevert merged 5 commits into
mainfrom
ozgb-ci-verify-local-env-finality

Conversation

@ozgb
Copy link
Copy Markdown
Contributor

@ozgb ozgb commented May 1, 2026

Overview

Recently, a PR was merged that broke finality for nodes 4 and 5 on local-env - but CI passed without issue.

This PR adds finality checks for all nodes on local env:

Add a verify-finality <network> ts-node command that polls
chain_getFinalizedHead on every validator's RPC and fails if any node
hasn't finalized within the timeout. Wire it into the local-environment
GitHub action between deploying the stack and running e2e tests.

GRANDPA needs 2/3 quorum; if any validator is stuck or panicking
finality stalls. Probing every node up-front surfaces that
deterministically rather than letting downstream tests time out further
along, and in particular catches regressions in the unified-storage
nodes (4 and 5) which currently don't have dedicated coverage.

Also extends check-health.sh with an optional -f|--finalized flag
for shell parity; default behaviour unchanged.

🗹 TODO before merging

  • Ready

📌 Submission Checklist

  • All commits are signed off (git commit -s) for the DCO
  • Changes are backward-compatible (or flagged if breaking)
  • Pull request description explains why the change is needed
  • Self-reviewed the diff
  • I have included a change file, or skipped for this reason: Internal testing change
  • If the changes introduce a new feature, I have bumped the node minor version
  • Update documentation (if relevant)
  • Updated AGENTS.md if build commands, architecture, or workflows changed
  • No new todos introduced

🧪 Testing Evidence

Please describe any additional testing aside from CI:

  • Additional tests are provided (if possible)

🔱 Fork Strategy

  • Node Runtime Update
  • Node Client Update
  • Other:
  • N/A

Links

Add a `verify-finality <network>` ts-node command that polls
`chain_getFinalizedHead` on every validator's RPC and fails if any node
hasn't finalized within the timeout. Wire it into the local-environment
GitHub action between deploying the stack and running e2e tests.

GRANDPA needs 2/3 quorum; if any validator is stuck or panicking
finality stalls. Probing every node up-front surfaces that
deterministically rather than letting downstream tests time out further
along, and in particular catches regressions in the unified-storage
nodes (4 and 5) which currently don't have dedicated coverage.

Also extends `check-health.sh` with an optional `-f|--finalized` flag
for shell parity; default behaviour unchanged.

Signed-off-by: Oscar Bailey <79094698+ozgb@users.noreply.github.com>
@ozgb ozgb requested a review from a team as a code owner May 1, 2026 15:03
@ozgb ozgb marked this pull request as draft May 1, 2026 15:04
Avoids hard-coding, and adds support for non-local-env networks

Signed-off-by: Oscar Bailey <79094698+ozgb@users.noreply.github.com>
@ozgb ozgb marked this pull request as ready for review May 1, 2026 15:56
ozgb added 2 commits May 1, 2026 17:59
Signed-off-by: Oscar Bailey <79094698+ozgb@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

@justinfrevert justinfrevert left a comment

Choose a reason for hiding this comment

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

Nice. Might be nice to have the finality checks on other local env runs as well.

@justinfrevert justinfrevert added this pull request to the merge queue May 11, 2026
Merged via the queue into main with commit 83b767a May 11, 2026
35 checks passed
@justinfrevert justinfrevert deleted the ozgb-ci-verify-local-env-finality branch May 11, 2026 22:12
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.

2 participants