-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
docs: update contributing guidelines #10223
Conversation
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 might win an award for the most granular review of words and grammar in this most important release resource! In a past life in a different job, I was heavily invested in the release cycles. I absolutely applaud this important information and clarity regarding releases. thank you Cosmos SDK code owners!! I appreciate you. lmk if this feedback is helpful.
CONTRIBUTING.md
Outdated
Patch release must not break API nor consensus. | ||
Before `v1.0`, point release can break both point API and consensus. | ||
|
||
Updates to the release branch should come from `master` by backporting PRs (usually done by automatic cherry pick followed by a PRs to the release branch). The backports must be marked using `backport/Y` label in PR for master. |
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.
Updates to the release branch should come from `master` by backporting PRs (usually done by automatic cherry pick followed by a PRs to the release branch). The backports must be marked using `backport/Y` label in PR for master. | |
Updates to the release branch come only from `master` by backporting PRs (usually done by automatic cherry-pick followed by PRs to the release branch). The backports must be marked using `backport/Y` label in PR for master. |
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.
In fact the original text is correct. "Should" has to be used. Updates which are not related to the upstream, must be created as PR to the release branch.
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.
okay, not critical for me... although should is ambiguous... I think we're saying that
Updates to the release branch can be made only from master by...
(isn't this fun? I can talk word choice all day long, love this stuff!)
Co-authored-by: Barrie Byron <barrie.byron@tendermint.com> Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Barrie Byron <barrie.byron@tendermint.com>
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.
approving, some seriously important content here!
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.
Thanks for taking the time to work on this @robert-zaremba !
After reading through it, I think the new contributing-guidelines.md doc is actually pretty valuable. Maybe there could be a better name, but I think for now its fine.
When talking about release process, I feel like there's a lot of overlap w/ the Stable Releases document (which in general should maybe be renamed?). And there's also some content in CONTRIBUTING.md that I feel should go in CONTRIBUTING-GUIDELINES.md.
Can you provide a bit of context as to how you see the high level distinction between these different pages? I think that would make reviewing this PR easier, so I could give more concrete suggestions about how some sections might be better in other .md pages.
CONTRIBUTING-GUIDELINES.md
Outdated
+ gas usage | ||
+ transaction verification and signatures | ||
+ malleability | ||
+ code must be always deterministic |
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.
+ code must be always deterministic | |
+ code must be always deterministic |
Is this a type of exploit? Or a more general security concern.
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.
both, if we have a nondetermism trap, which could be exploited, then the network can potentially halt.
Do you suggest to "shift it to the left'?
CONTRIBUTING-GUIDELINES.md
Outdated
|
||
|
||
|
||
## Quality Assurance |
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 think this is great to outline and document in the Repo, but I'm not sure it belongs in the CONTRIBUTING-GUIDELINES.md
doc. Maybe its better in its own doc around QA practices and scope & team members & outcomes?
Or maybe a pinned issue similar to what we have for working groups?
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.
Why a pinned issue? Do you think it will have a better visibility? For me issues are something that will have it's own life and will be closed eventually.
CONTRIBUTING-GUIDELINES.md
Outdated
- QA reports. Goal is to guide with new tasks and be one of the QA measures. | ||
|
||
|
||
As a developer, you must help the QA team by leaving instructions for user experience and functional testing. |
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.
We should probably add a note to the "Testing" section above and be a bit more clear about what functional / acceptance testing folks should be doing, and also provide an example (both in SDK and resource for how to write acceptance tests).
Then again, since we don't have any acceptance tests in the SDK yet, I'm wondering if its better for us to implement some for existing modules first so we can point to those as examples?
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 reorganize this section.
Re adding acceptance tests: this should be iterative process and I hope we will soon have them.
Co-authored-by: Cory <cjlevinson@gmail.com>
@clevinson , the idea is that:
When thinking about better name for the latter document, I decided to rename it to CODING-GUIDELINES. What do you think? |
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.
LGTM, thanks @robert-zaremba for writing this.
IMO a lot of release procedure stuff can probably go in another doc (maybe STABLE_RELEASES.md, maybe even a new .md), so that CONTRIBUTING.md is cleaner and targetted at a general public.
But okay to merge it as-is, the release process is finally documented, thanks!
Co-authored-by: Amaury <1293565+amaurym@users.noreply.github.com>
@clevinson , @AmauryM - merged STABLE_RELEASES.md with Release process from CONTRIBUTING into RELEASE_PROCESS.md. Let me know if you want to have another look. |
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.
this lgtm!
Description
Closes: #9814
NOTE:
This is based on the discussion we had 2 months ago and recent chats.
Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...
!
to the type prefix if API or client breaking changeCHANGELOG.md
Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...
!
in the type prefix if API or client breaking change