Skip to content

feat(contribs): add gnoupgrade chain upgrade testing toolkit#5369

Draft
moul wants to merge 4 commits into
masterfrom
feat/chain-upgrade-tools
Draft

feat(contribs): add gnoupgrade chain upgrade testing toolkit#5369
moul wants to merge 4 commits into
masterfrom
feat/chain-upgrade-tools

Conversation

@moul
Copy link
Copy Markdown
Member

@moul moul commented Mar 26, 2026

Summary

Adds gnoupgrade, a CLI toolkit for safe chain upgrade testing and verification.

Subcommands

  • replay — Smoke test: verify new binary can replay all blocks from existing data dir without panic
  • statediff — Capture chain state (chain ID, height, app hash, realm/package listing) in canonical JSON format
  • healthcheck — Post-upgrade verification: connectivity, block production, ABCI queries

Usage

gnoupgrade replay --data-dir /path/to/gnoland-data --timeout 30m
gnoupgrade statediff --remote http://node:26657 --output before.json
gnoupgrade healthcheck --remote http://node:26657

Part of the chain upgrade tooling for gnoland1 → gnoland-1.

Add a new contribs tool for testing and verifying gno.land chain upgrades.
The toolkit provides three subcommands:

- replay: starts a node against existing chain data to verify the new
  binary can successfully replay all committed blocks (smoke test)
- statediff: captures chain state in a canonical, sorted JSON format
  for before/after comparison across upgrades
- healthcheck: runs connectivity, block production, and ABCI query
  checks against a running node post-upgrade

This is the first step toward a CI pipeline for chain upgrade confidence
(Tools 1-3 from the chain-upgrade task plan).

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
@Gno2D2
Copy link
Copy Markdown
Collaborator

Gno2D2 commented Mar 26, 2026

🛠 PR Checks Summary

All Automated Checks passed. ✅

Manual Checks (for Reviewers):
  • IGNORE the bot requirements for this PR (force green CI check)
Read More

🤖 This bot helps streamline PR reviews by verifying automated checks and providing guidance for contributors and reviewers.

✅ Automated Checks (for Contributors):

No automated checks match this pull request.

☑️ Contributor Actions:
  1. Fix any issues flagged by automated checks.
  2. Follow the Contributor Checklist to ensure your PR is ready for review.
    • Add new tests, or document why they are unnecessary.
    • Provide clear examples/screenshots, if necessary.
    • Update documentation, if required.
    • Ensure no breaking changes, or include BREAKING CHANGE notes.
    • Link related issues/PRs, where applicable.
☑️ Reviewer Actions:
  1. Complete manual checks for the PR, including the guidelines and additional checks if applicable.
📚 Resources:
Debug
Manual Checks
**IGNORE** the bot requirements for this PR (force green CI check)

If

🟢 Condition met
└── 🟢 On every pull request

Can be checked by

  • Any user with comment edit permission

@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 26, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions github-actions Bot added 📦 🤖 gnovm Issues or PRs gnovm related 📦 ⛰️ gno.land Issues or PRs gno.land package related 🐳 devops 🚀 ci labels Apr 1, 2026
@moul moul changed the title feat(contribs): add gnoupgrade chain upgrade testing toolkit feat(gnoland): chain upgrade genesis replay with original chain ID Apr 1, 2026
@moul moul force-pushed the feat/chain-upgrade-tools branch from 08299a2 to ab60d97 Compare April 1, 2026 15:24
@moul moul changed the title feat(gnoland): chain upgrade genesis replay with original chain ID feat(contribs): add gnoupgrade chain upgrade testing toolkit Apr 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🚀 ci 🤝 contribs 🐳 devops 🐹 golang Pull requests that update Go code 📦 ⛰️ gno.land Issues or PRs gno.land package related 📦 🤖 gnovm Issues or PRs gnovm related

Projects

Status: 📥 Inbox
Status: No status

Development

Successfully merging this pull request may close these issues.

3 participants