Skip to content

chore(devnet): add upgrade rehearsal targets v1.11.0 / v1.11.1 / v1.12.0#133

Open
mateeullahmalik wants to merge 1 commit intomasterfrom
chore/devnet-upgrade-targets-1110-1120
Open

chore(devnet): add upgrade rehearsal targets v1.11.0 / v1.11.1 / v1.12.0#133
mateeullahmalik wants to merge 1 commit intomasterfrom
chore/devnet-upgrade-targets-1110-1120

Conversation

@mateeullahmalik
Copy link
Copy Markdown
Contributor

Behavior change

Adds three Makefile.devnet targets for the missing devnet upgrade rehearsals, matching the existing pattern:

devnet-upgrade-1110  → ./upgrade.sh v1.11.0 auto-height ../bin-v1.11.0
devnet-upgrade-1111  → ./upgrade.sh v1.11.1 auto-height ../bin-v1.11.1
devnet-upgrade-1120  → ./upgrade.sh v1.12.0 auto-height ../bin-v1.12.0

Also normalizes devnet-upgrade-1101 from ../bin (no version suffix, inconsistent) to ../bin-v1.10.1 (matches every other target).

Rationale

Per the rule that every devnet rehearsal must have a local devnet test, the framework already wired in Makefile.devnet was missing targets for v1.11.0, v1.11.1, and v1.12.0 — even though the upgrade handlers for all three exist in-tree (app/upgrades/v1_11_0, v1_11_1, v1_12_0).

Local rehearsal evidence

Ran devnet-upgrade-1120 end-to-end on a clean devnet against v1.11.1-hotfix FROM_TAG:

Step Result
Booted devnet on v1.11.1-hotfix 5 validators producing blocks ✅
Submitted gov upgrade proposal v1.12.0 Plan height 116 ✅
All validators voted YES Proposal PASSED at height 80 ✅
Chain reached height 116 Halt + binary swap to bin-v1.12.0 ✅
Containers restarted on new binary Container lumerad sha matches bin-v1.12.0/lumerad
Block production resumed Reached height 122+ on v1.12.0 binary ✅
lumerad query upgrade applied v1.12.0 Returns height: "116"

Note: during rehearsal I hit a separate issue where v1.11.1-hotfix's devnet/default-config/devnet-genesis.json is missing the app_state.audit section that the v1.11.1-hotfix binary expects (the audit module was wired in v1.11.1-hotfix but the genesis template was only updated on master/Everlight). That is not in scope for this PR — it only affects rehearsals starting from v1.11.1-hotfix; new rehearsals starting from v1.12.0+ won't hit it because master genesis already has the audit section.

Risks

None. Pure additive Makefile change. The 1101 normalization fixes a stale pre-existing inconsistency and only affects what binary directory is required to exist when that target is invoked.

Rollback

git revert — Makefile-only.

Operator notes

bin-v1.X.Y/ directories are not shipped in the repo (matching existing convention for all prior targets). Operators must build the target version's lumerad + libwasmvm.x86_64.so and place them in the corresponding directory before invoking the target.

Add Makefile.devnet targets for the 3 missing rehearsal versions, matching
the existing pattern (devnet-upgrade-180/191/1100/1101).

Also normalize devnet-upgrade-1101 binaries-dir from ../bin to ../bin-v1.10.1
to match the per-version convention used by every other target.

Verified locally: ran devnet-upgrade-1120 end-to-end against v1.11.1-hotfix
FROM_TAG. Chain halted at upgrade height 116, swapped binaries, and resumed
block production on the v1.12.0 binary. 'lumerad query upgrade applied
v1.12.0' returns height 116 confirming the upgrade handler ran.

Note: bin-v1.X.Y/ directories are operator-staged (not shipped in repo),
matching the existing convention for all 4 prior targets.
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds missing devnet upgrade rehearsal make targets so operators can run local end-to-end upgrade tests for recently added in-tree upgrade handlers, and normalizes the existing v1.10.1 target to use a versioned binaries directory consistent with the other rehearsal targets.

Changes:

  • Add devnet-upgrade-1110, devnet-upgrade-1111, and devnet-upgrade-1120 targets that invoke devnet/scripts/upgrade.sh with the corresponding release name and ../bin-vX.Y.Z binaries directory.
  • Normalize devnet-upgrade-1101 to use ../bin-v1.10.1 (previously ../bin), aligning with the established rehearsal target pattern.
  • Update the .PHONY list to include the newly added targets.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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