Skip to content
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: Add Committer Expectations document #52731

Merged

Conversation

keith-zephyr
Copy link
Contributor

Collect up all the committer expectations and PR requirements into a single place. Add additional guidelines about creating small PRs and how to break up PRs into multiple commits.

Signed-off-by: Keith Short keithshort@google.com

@keith-zephyr
Copy link
Contributor Author

keith-zephyr commented Dec 1, 2022

Marked as a draft, but this is ready for feedback. Once the content of this doc has consensus, I'll also update the guidlines.rst to remove redundant/obsolete info and link to this doc.

@keith-zephyr
Copy link
Contributor Author

keith-zephyr commented Dec 1, 2022

Process group issue: #50836

@keith-zephyr keith-zephyr added the Process Tracked by the process WG label Dec 1, 2022
@alevkoy alevkoy self-requested a review December 6, 2022 18:18
Copy link
Contributor

@mbolivar-nordic mbolivar-nordic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall seems reasonable. I know this is draft, but I'll leave some nitpicks alongside substantive points just in case.

Are you planning on reorganizing other documents too to make them easier to find? Or when you take this out of draft, will it still be mainly building on top of existing docs?

Thanks for this!

doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
is not enforced by the CI system, so it is the PR author’s responsibility to
verify.

- When major new functionality is added, tests for the new functionality MUST be
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wording nit: This draft contains a fair amount of passive voice, and you could probably improve it by changing some to active voice.

doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
Copy link
Collaborator

@teburd teburd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I generally love that we are trying to write this down. There needs to some compromise though I think given many contributions and contributors come from using zephyr to finding a bug and submitting a small update. These contributors should be encouraged with easy to submit and contribute changes with as few barriers to entry as possible.

doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
Comment on lines 88 to 98
- PRs must pass all CI checks. This is a requirement to merge the PR, but you
may mark a PR as draft and explicitly request reviewers to provide early
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One edge case that you may want to consider here is that first-time contributors require an org member to approve the CI run for their PRs. This is relevant to this situation because people tend to ignore drafts. This creates a possibility for a PR to never exit draft because it never gets CI results because maintainers won't approve the run because it's a draft. Catch 22.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

first-time contributors require an org member to approve the CI run for their PRs.

While a little documentation never hurts, does the "user-interface" make this and the next step(s) clear? It really should.

Comment on lines 107 to 121
- Incompatible changes to APIs must also update the release notes for the
next release detailing the change. APIs marked as experimental are excluded
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will be worth highlighting to maintainers; we don't do this now.

doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
@keith-zephyr
Copy link
Contributor Author

Note - commit 299ded4 only renames the filename committer_expectations to contributor_expectations. I have another revision to push that will include resolution to the open change requests.

doc/contribute/committer_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/contributor_expectations.rst Outdated Show resolved Hide resolved
doc/contribute/contributor_expectations.rst Show resolved Hide resolved
doc/contribute/contributor_expectations.rst Outdated Show resolved Hide resolved
alevkoy
alevkoy previously approved these changes Mar 6, 2023
doc/contribute/contributor_expectations.rst Show resolved Hide resolved
Collect up all the contributor expectations and PR requirements into a
single place. Add additional guidelines about creating small PRs and how
to break up PRs into multiple commits.

Signed-off-by: Keith Short <keithshort@google.com>
The RFC proposal documentation better belongs with the other
documentation related to contributing to the Zephyr project.

Signed-off-by: Keith Short <keithshort@google.com>
@carlescufi carlescufi merged commit 942e4a3 into zephyrproject-rtos:main Mar 6, 2023
14 checks passed
@keith-zephyr keith-zephyr deleted the committer-expectation branch March 6, 2023 21:16
reviewers.

- As GitHub does not implement |git range-diff|_, try to minimize rebases in the
middle of a review. If a rebase is required, push this as a separate update
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As GitHub does not implement |git range-diff|_, try to minimize rebases in the middle of a review.

Could an admin please disable the "Update branch" button that shows up in every PR?

It's apparently just one checkbox:
https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-suggestions-to-update-pull-request-branches

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could an admin please disable the "Update branch" button that shows up in every PR?

Done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Documentation Process Tracked by the process WG
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet