-
Notifications
You must be signed in to change notification settings - Fork 375
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add updated Git/Github release management process for Celo Core Contracts #5212
Conversation
|
||
Changes to core smart contracts are made via on-chain Governance, approximately four times a year. When a release is made, **all** smart contracts from the release branch that differ from the deployed smart contracts are released, and included in the **same** governance proposal. | ||
Every deployed Celo core contract has its current version number as a constant which is publicly accessible via the `getVersion()` function, which returns the storage, major, minor, and patch version. Version number is encoded in the Solidity source and updated as part of code changes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I moved this paragraph back up since it seemed closer related to the versioning paragraph above
|
||
### Github tags | ||
All release branches should be tagged as such, e.g. `celo-contracts-N`. Each should include a summary of the release contents. | ||
When a release is getting proposed on a Baklava/Alfajores/Mainnet, the commit that was used (which should be the latest release candidate) should be tagged with `celo-core-contracts-v${N}.(baklava | alfajores | mainnet)`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we're deploying the same upgrade, why do we need a branch for each network? How will the code differ between these branches?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So these wouldn't be branches, but tags. As you point out, they would likely point to the same commit. This would just be a way to people to look up which environment has which commit deployed.
…acts (celo-org#5212) * Add updated Git/Github release management process * Minor
Description
This PR contains an updated and more detailed process around Git branches/tags and Github releases