chore(devnet): add upgrade rehearsal targets v1.11.0 / v1.11.1 / v1.12.0#133
Conversation
There was a problem hiding this comment.
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, anddevnet-upgrade-1120targets that invokedevnet/scripts/upgrade.shwith the corresponding release name and../bin-vX.Y.Zbinaries directory. - Normalize
devnet-upgrade-1101to use../bin-v1.10.1(previously../bin), aligning with the established rehearsal target pattern. - Update the
.PHONYlist to include the newly added targets.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
be1212c to
55a6eb1
Compare
|
Rebased onto current Conflict resolution analysis (not blind take-theirs/take-ours): Master refactored devnet upgrade rehearsals from explicit per-version targets into a parameterized framework (
Final diff vs master is now 4 lines: one
No regressions; no behavior changes to existing targets. |
Behavior change
Adds three Makefile.devnet targets for the missing devnet upgrade rehearsals, matching the existing pattern:
Also normalizes
devnet-upgrade-1101from../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.devnetwas 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-1120end-to-end on a clean devnet againstv1.11.1-hotfixFROM_TAG:v1.12.0bin-v1.12.0/lumerad✅lumerad query upgrade applied v1.12.0height: "116"✅Note: during rehearsal I hit a separate issue where v1.11.1-hotfix's
devnet/default-config/devnet-genesis.jsonis missing theapp_state.auditsection 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'slumerad+libwasmvm.x86_64.soand place them in the corresponding directory before invoking the target.