docs: add MAINTAINERS.md with versioning and branching strategy#5275
docs: add MAINTAINERS.md with versioning and branching strategy#5275moul wants to merge 1 commit intognolang:masterfrom
Conversation
🛠 PR Checks SummaryAll Automated Checks passed. ✅ Manual Checks (for Reviewers):
Read More🤖 This bot helps streamline PR reviews by verifying automated checks and providing guidance for contributors and reviewers. ✅ Automated Checks (for Contributors):🟢 Maintainers must be able to edit this pull request (more info) ☑️ Contributor Actions:
☑️ Reviewer Actions:
📚 Resources:Debug
|
| **Chain upgrade (minor bump, e.g. v1.0.0 → v1.1.0):** Any | ||
| change requiring a coordinated network upgrade — state | ||
| migrations, new built-in modules, consensus parameter changes. | ||
| Cherry-pick or merge the relevant commits from `master` into |
There was a problem hiding this comment.
If we cherry-pick and merge from master, we may have conflict and branch history will diverge. Should we have a preproduction branch for testing? master --> chain/test-gnoland1 --> chain/gnoland1
There was a problem hiding this comment.
If we never diverge, the master is limited by production, or production is misleading.
There was a problem hiding this comment.
Can we agree that the official release in on git tag, whereas the release RC / preview is on branch chain/gnolandX.
This way production remains aligned to git tag, but other (production) staging environments can preview / experiment changes to production just aligning to the branch
the flow should be:
- master branch -> continuous deployment on staging
- chain/gnolandX -> RC on production staging environment (
Cherry-pick or merge the relevant commits from master) - v1.x.x -> official release to be deployed in production and reflecting mainnet (once RC is validated on branch
chain/gnolandX)
| Gno uses a versioning scheme that reflects both the **client | ||
| state** and the **network state**. Releases are cut when they | ||
| provide meaningful value for users to install/upgrade or when the | ||
| network needs to coordinate an upgrade — not on every commit. |
There was a problem hiding this comment.
There's no mention of changelog / release note
There was a problem hiding this comment.
I don't care about this topic for now. I can't see it becoming a problem. I'll allow others to discuss it if they wish.
My focus is on the ongoing debate about Git tagging.
| `master` into `chain/gnoland1` and tag. No validator | ||
| coordination needed. | ||
|
|
||
| **Hotfix:** Critical fix that cannot wait for the normal |
There was a problem hiding this comment.
How hotfix are communicated to validators? Do we have a precise workflow (discord / telegram ping, RSS feed, ...) + gnops documentation like "how to be an effective validator"?
There was a problem hiding this comment.
Validators deploy Git tags from chain branches, which can be either normal releases or hotfixes.
This document is intended for Git maintainers only, not for valopers or valoper coordinators.
Please review this proposal for git tags.