Merge PR #4205: Mircea/update contributing md
* Update `CONTRIBUTING.md` branching strategy and release process * Delete PRIORITIES.md * Delete RELEASE_PROCESS.md * Remove RELEASE_TEST_SCRIPT.md * Update CONTRIBUTING.md Co-Authored-By: mircea-c <mircea@tendermint.com>
This commit is contained in:
parent
ec4a1e8f2a
commit
36dcd7b7ad
|
@ -143,8 +143,7 @@ for tcIndex, tc := range cases {
|
||||||
|
|
||||||
## Branching Model and Release
|
## Branching Model and Release
|
||||||
|
|
||||||
User-facing repos should adhere to the branching model: http://nvie.com/posts/a-successful-git-branching-model/.
|
User-facing repos should adhere to the trunk based development branching model: https://trunkbaseddevelopment.com/.
|
||||||
That is, these repos should be well versioned, and any merge to master requires a version bump and tagged release.
|
|
||||||
|
|
||||||
Libraries need not follow the model strictly, but would be wise to.
|
Libraries need not follow the model strictly, but would be wise to.
|
||||||
|
|
||||||
|
@ -152,37 +151,34 @@ The SDK utilizes [semantic versioning](https://semver.org/).
|
||||||
|
|
||||||
### PR Targeting
|
### PR Targeting
|
||||||
|
|
||||||
Ensure that you base and target your PR on the correct branch:
|
Ensure that you base and target your PR on the `master` branch.
|
||||||
- `release/vxx.yy.zz` for a merge into a release candidate
|
|
||||||
- `master` for a merge of a release
|
|
||||||
- `develop` in the usual case
|
|
||||||
|
|
||||||
All feature additions should be targeted against `develop`. Bug fixes for an outstanding release candidate
|
All feature additions should be targeted against `master`. Bug fixes for an outstanding release candidate
|
||||||
should be targeted against the release candidate branch. Release candidate branches themselves should be the
|
should be targeted against the release candidate branch. Release candidate branches themselves should be the
|
||||||
only pull requests targeted directly against master.
|
only pull requests targeted directly against master.
|
||||||
|
|
||||||
### Development Procedure:
|
### Development Procedure:
|
||||||
- the latest state of development is on `develop`
|
- the latest state of development is on `master`
|
||||||
- `develop` must never fail `make test` or `make test_cli`
|
- `master` must never fail `make test` or `make test_cli`
|
||||||
- `develop` should not fail `make lint`
|
- `master` should not fail `make lint`
|
||||||
- no --force onto `develop` (except when reverting a broken commit, which should seldom happen)
|
- no `--force` onto `master` (except when reverting a broken commit, which should seldom happen)
|
||||||
- create a development branch either on github.com/cosmos/cosmos-sdk, or your fork (using `git remote add origin`)
|
- create a development branch either on github.com/cosmos/cosmos-sdk, or your fork (using `git remote add origin`)
|
||||||
- before submitting a pull request, begin `git rebase` on top of `develop`
|
- before submitting a pull request, begin `git rebase` on top of `master`
|
||||||
|
|
||||||
### Pull Merge Procedure:
|
### Pull Merge Procedure:
|
||||||
- ensure pull branch is rebased on develop
|
- ensure pull branch is rebased on `master`
|
||||||
- run `make test` and `make test_cli` to ensure that all tests pass
|
- run `make test` and `make test_cli` to ensure that all tests pass
|
||||||
- merge pull request
|
- merge pull request
|
||||||
- push master may request that pull requests be rebased on top of `unstable`
|
|
||||||
|
|
||||||
### Release Procedure:
|
### Release Procedure:
|
||||||
- start on `develop`
|
- start on `master`
|
||||||
- prepare changelog/release issue
|
- create the release candidate branch `rcN/v*` (please start with `N=1`) (going forward known as **RC**) and ensure it's protected against pushing from anyone except the release manager/coordinator. **no PRs targeting this branch should be merged unless exceptional circumstances arise**
|
||||||
- bump versions
|
- on the `RC` branch, use `clog` to prepare the `CHANGELOG.md` and kick off a large round of simulation testing (e.g. 400 seeds for 2k blocks).
|
||||||
- push to release-vX.X.X to run CI
|
- if errors are found during the simulation testing, commit the fixes to `master` and create a new `RC` branch (making sure to increment the `rcN`)
|
||||||
- merge to master
|
- after simulation has successfully completed, create the release branch (`release/vX.XX.X`) from the `RC` branch
|
||||||
- merge master back to develop
|
- merge the release branch to `master` to incorporate the `CHANGELOG.md` updates
|
||||||
|
- delete the `RC` branches
|
||||||
|
|
||||||
### Hotfix Procedure:
|
### Hotfix Procedure:
|
||||||
- start on `master`
|
- start on `master`
|
||||||
- checkout a new branch named hotfix-vX.X.X
|
- checkout a new branch named hotfix-vX.X.X
|
||||||
|
@ -191,6 +187,5 @@ only pull requests targeted directly against master.
|
||||||
- add a note to CHANGELOG.md
|
- add a note to CHANGELOG.md
|
||||||
- bump versions
|
- bump versions
|
||||||
- push to hotfix-vX.X.X to run the extended integration tests on the CI
|
- push to hotfix-vX.X.X to run the extended integration tests on the CI
|
||||||
- merge hotfix-vX.X.X to master
|
- merge hotfix-vX.X.X to `master` and cherry pick the commit to any release branches this applies to
|
||||||
- merge hotfix-vX.X.X to develop
|
|
||||||
- delete the hotfix-vX.X.X branch
|
- delete the hotfix-vX.X.X branch
|
||||||
|
|
|
@ -1,48 +0,0 @@
|
||||||
# Post-0.25/GoS Pre-Release
|
|
||||||
|
|
||||||
## Staking / Slashing - Stability
|
|
||||||
|
|
||||||
- [Prelaunch Issues](https://github.com/cosmos/cosmos-sdk/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3Astaking+label%3Aprelaunch-2.0)
|
|
||||||
|
|
||||||
## Multisig
|
|
||||||
|
|
||||||
- Need to test changes in https://github.com/cosmos/cosmos-sdk/pull/2165
|
|
||||||
- Spam prevention - https://github.com/cosmos/cosmos-sdk/issues/2019
|
|
||||||
|
|
||||||
## ABCI Changes
|
|
||||||
|
|
||||||
- CheckEvidence/DeliverEvidence
|
|
||||||
- CheckTx/DeliverTx ordering semantics
|
|
||||||
- ABCI Error string update (only on the SDK side)
|
|
||||||
- Need to verify correct proposer reward semantics
|
|
||||||
|
|
||||||
## Gas
|
|
||||||
|
|
||||||
- Write specification and explainer document for Gas in Cosmos
|
|
||||||
* Charge for transaction size
|
|
||||||
* Decide what "one gas" corresponds to (standard hardware benchmarks?)
|
|
||||||
* Consider charging based on maximum depth of IAVL tree iteration
|
|
||||||
- Test out gas estimation in CLI and LCD and ensure the UX works
|
|
||||||
|
|
||||||
## LCD
|
|
||||||
|
|
||||||
- Bianje working with Voyager team (@fedekunze) to complete implementation and documentation.
|
|
||||||
|
|
||||||
## Documentation
|
|
||||||
|
|
||||||
- gaiad / gaiacli
|
|
||||||
- LCD
|
|
||||||
- Each module
|
|
||||||
- Tags [#1780](https://github.com/cosmos/cosmos-sdk/issues/1780)
|
|
||||||
# Lower priority
|
|
||||||
|
|
||||||
- Create some diagrams (see `docs/resources/diagrams/todo.md`)
|
|
||||||
|
|
||||||
## Governance v2
|
|
||||||
|
|
||||||
- Circuit breaker - https://github.com/cosmos/cosmos-sdk/issues/926
|
|
||||||
- Parameter change proposals (roughly the same implementation as circuit breaker)
|
|
||||||
|
|
||||||
## Staking / Slashing - Stability
|
|
||||||
|
|
||||||
- Consider "tombstone" / "prison" - double-sign and you can never validate again - https://github.com/cosmos/cosmos-sdk/issues/2363
|
|
|
@ -1,13 +0,0 @@
|
||||||
### `cosmos/cosmos-sdk` Release Process
|
|
||||||
|
|
||||||
Unless otherwise stated, all of the following tasks will be undertaken by the release manager/coordinator:
|
|
||||||
|
|
||||||
- [ ] 1. Decide on release designation (are we doing a patch, or minor version bump)
|
|
||||||
- [ ] 2. Ensure that all commits/PRs which are destined for this release are merged to the `master` branch
|
|
||||||
- [ ] 3. Create the release candidate branch `rcN` (please start with `N=1`) (going forward known as **RC**) and ensure it's protected against pushing from anyone except the release manager/coordinator. **no PRs targeting this branch should be merged unless exceptional circumstances arise**
|
|
||||||
- [ ] 4. On the `RC` branch, use `clog` to prepare the `CHANGELOG.md`.
|
|
||||||
- [ ] 5. Summarize breaking API changes section under “Breaking Changes” section to the `CHANGELOG.md` to bring attention to any breaking API changes that affect RPC consumers.
|
|
||||||
- [ ] 6. Kick off a large round of simulation testing (e.g. 400 seeds for 2k blocks)
|
|
||||||
- [ ] 7. If errors are found in either #6 or #7 go back to #2 (*NOTE*: be sure to increment the `rcN`)
|
|
||||||
- [ ] 8. After #6 and #7 have successfully completed create the release branch from the `RC` branch (this will trigger the automated relase process which will build binaries, tag the release and push to github)
|
|
||||||
- [ ] 9. Merge the release branch to `master` and delete the `RC` branch
|
|
|
@ -1,17 +0,0 @@
|
||||||
This document should contain plain english instructions for testing functionality on `gaiad`. This “Script” is supposed to be run by 2 people who will each spin up a `gaiad` node and run the series of prompts below.
|
|
||||||
|
|
||||||
- [Create a network of 2 nodes](./gaia/deploy-testnet.md)
|
|
||||||
- [Generate an account](./gaia/gaiacli.md)
|
|
||||||
- [Send funds from one account to the other](./gaia/gaiacli.md)
|
|
||||||
- [Create a validator](./gaia/validators/validator-setup.md)
|
|
||||||
- [Edit a validator](./gaia/alidators/validator-setup.md)
|
|
||||||
- [Delegate to validator](./gaia/gaiacli.md)
|
|
||||||
- [Unbond from a validator](./gaia/gaiacli.md)
|
|
||||||
- [View validators and verify output](./gaia/validators/validator-setup.md)
|
|
||||||
- [Query network status](./gaia/join-testnet.md#run-a-full-node)
|
|
||||||
- [Create a proposal](./gaia/validators/validator-setup.md)
|
|
||||||
- [Query a proposal](./gaia/validators/validator-setup.md)
|
|
||||||
- [Vote on a proposal](./gaia/validators/validator-setup.md)
|
|
||||||
- [Query status of a proposal](./gaia/validators/validator-setup.md)
|
|
||||||
- [Query the votes on a proposal](./gaia/validators/validator-setup.md)
|
|
||||||
- [Export state and reload](./gaia/join-testnet.md)
|
|
Loading…
Reference in New Issue