-
Notifications
You must be signed in to change notification settings - Fork 312
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 project governance! #679
base: main
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for aya-rs-docs ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
@aya-rs/aya-maintainers This PR is aimed to solve some open issues around process. I borrowed a lot of this from bpfd 😏 which in turn was borrowed from some CNCF project or template or something.
The other important part is in
Since this is techincally a governance change, this PR will not merge until we have a 2/3 majority (that 6 of the 8 listed maintainers). Feel free to discuss here or in Discord. |
5961b66
to
c7ed48f
Compare
@@ -0,0 +1,16 @@ | |||
# Maintainers |
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.
do we need this file? https://github.com/orgs/aya-rs/people is the source of truth (though we should make everyone's membership public)
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.
Yes. There's no transparency around changes to GitHub teams.
Having changes happen via MAINTAINERS.md
forces us to codify our decisions and leaves an audit trail.
Also, I'm not sure it's possible to force org membership to be public - same with team membership.
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.
Consider writing that down as well please.
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.
Done.
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 doing this, just a couple nits/comments!
The one thing I don't see mentioned is the fact of joining the org WITHOUT becoming a maintainer. For contributors who just want to be able to manually assign issues and stuff it's nice to be made an org member I think. Something along the lines of what K8s calls a "member"
@dave-tucker, this pull request is now in conflict and requires a rebase. |
@dave-tucker, this pull request is now in conflict and requires a rebase. |
@dave-tucker, this pull request is now in conflict and requires a rebase. |
This PR has now been updated based on previous comments.
Things to do in a follow up:
I'll open issues for these soon. |
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.
Reviewed 6 of 7 files at r2, 2 of 2 files at r3, all commit messages.
Reviewable status: all files reviewed, 18 unresolved discussions (waiting on @astoycos, @dave-tucker, and @vadorovsky)
.mergify.yml
line 7 at r2 (raw file):
actions: comment: message: "@dependabot merge"
btw this doesn't work since mergify doesn't have a commit bit. not for this PR but we should nuke it
Code quote:
pull_request_rules:
- name: automatic merge for Dependabot pull request that pass CI
conditions:
- author=dependabot[bot]
actions:
comment:
message: "@dependabot merge"
.github/PULL_REQUEST_TEMPLATE.md
line 40 at r3 (raw file):
- [ ] Rust code has been formatted with `cargo +nightly fmt` - [ ] All clippy lints have been fixed. You can find failing lints with `cargo +nightly clippy`
technically not true, there's a ./clippy.sh at the root for this reason
i don't think we need to include things CI will do for us in this list
Code quote:
- [ ] All clippy lints have been fixed.
You can find failing lints with `cargo +nightly clippy`
.github/PULL_REQUEST_TEMPLATE.md
line 7 at r2 (raw file):
Before submitting a Pull Request, please ensure you've done the following: - 📖 Read the Forem Contributing Guide: https://github.com/aya-rs/aya/blob/main/CONTRIBUTING.md
Forem was the inspo, I take it? I think we can drop the proper noun for this and the next line
.github/PULL_REQUEST_TEMPLATE.md
line 11 at r2 (raw file):
- 👷♀️ Create small PRs. In most cases this will be possible. - ✅ Provide tests for your changes. - 📝 Use descriptive commit messages.
it might be good to be more specific e.g. by linking to https://cbea.ms/git-commit/
.github/PULL_REQUEST_TEMPLATE.md
line 16 at r2 (raw file):
--> # Description
i don't love this. the detailed information should be in the commit messages rather than the github-only PR text
@@ -0,0 +1,16 @@ | |||
# Maintainers |
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.
Consider writing that down as well please.
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.
Reviewable status: all files reviewed, 15 unresolved discussions (waiting on @alessandrod, @astoycos, @tamird, and @vadorovsky)
.github/PULL_REQUEST_TEMPLATE.md
line 7 at r2 (raw file):
Previously, tamird (Tamir Duberstein) wrote…
Forem was the inspo, I take it? I think we can drop the proper noun for this and the next line
gah i've been found out! Yes it was. Fixed thanks.
.github/PULL_REQUEST_TEMPLATE.md
line 11 at r2 (raw file):
Previously, tamird (Tamir Duberstein) wrote…
it might be good to be more specific e.g. by linking to https://cbea.ms/git-commit/
Good suggestion. Done.
.github/PULL_REQUEST_TEMPLATE.md
line 16 at r2 (raw file):
Previously, tamird (Tamir Duberstein) wrote…
i don't love this. the detailed information should be in the commit messages rather than the github-only PR text
Changed to "Summary"
.github/PULL_REQUEST_TEMPLATE.md
line 40 at r3 (raw file):
Previously, tamird (Tamir Duberstein) wrote…
technically not true, there's a ./clippy.sh at the root for this reason
i don't think we need to include things CI will do for us in this list
I know this feels repetitive of what CI is testing, however I have 2 counter points:
-
I do find it irritating when we receive PRs that fail the basic formatting and lint checks. These are fairly trivial to resolve pre-PR and we don't need to spend our CI minutes to solve this. I'm guilty of this on occasion too.
-
New contributor experience. It's pretty demotivating to open a PR here, have to wait for one of us to "Approve" the PR to run on CI, and then see everything turn red immediately. The loop to fix this requires us to hit "Approve" each time IIRC. I feel it's better to be able to set expectations ahead of time (before PR is opened) for contributors to follow.
@@ -0,0 +1,16 @@ | |||
# Maintainers |
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.
Done.
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.
Reviewed 2 of 2 files at r4, all commit messages.
Dismissed @astoycos and @vadorovsky from 5 discussions.
Reviewable status: all files reviewed, 7 unresolved discussions (waiting on @astoycos, @dave-tucker, and @vadorovsky)
.github/PULL_REQUEST_TEMPLATE.md
line 40 at r3 (raw file):
Previously, dave-tucker (Dave Tucker) wrote…
I know this feels repetitive of what CI is testing, however I have 2 counter points:
I do find it irritating when we receive PRs that fail the basic formatting and lint checks. These are fairly trivial to resolve pre-PR and we don't need to spend our CI minutes to solve this. I'm guilty of this on occasion too.
New contributor experience. It's pretty demotivating to open a PR here, have to wait for one of us to "Approve" the PR to run on CI, and then see everything turn red immediately. The loop to fix this requires us to hit "Approve" each time IIRC. I feel it's better to be able to set expectations ahead of time (before PR is opened) for contributors to follow.
I've removed the need to hit approve FWIW. CI now runs for all PRs regardless of author.
If you really want to improve the new contributor experience you might also include the API blessing incantation.
.github/PULL_REQUEST_TEMPLATE.md
line 20 at r4 (raw file):
Summarize the changes you're making here. Detailed information belongs in the Git Commit messages. Feel free to flag anything you thing needs a reviewers attention.
missing apostrophe
.github/PULL_REQUEST_TEMPLATE.md
line 46 at r4 (raw file):
You can find failing lints with `./clippy.sh` - [ ] Unit tests are passing locally with `cargo test` - [ ] Integration tests are passing locally
doesn't say how to do it, unlike the other bullets
Explains how Maintainers are selected and their responsibilities. Explains the Pull Request review workflow. Adds config for Mergify to enforce this workflow. Signed-off-by: Dave Tucker <[email protected]>
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.
Reviewable status: 6 of 7 files reviewed, 7 unresolved discussions (waiting on @astoycos, @tamird, and @vadorovsky)
.github/PULL_REQUEST_TEMPLATE.md
line 40 at r3 (raw file):
Previously, tamird (Tamir Duberstein) wrote…
I've removed the need to hit approve FWIW. CI now runs for all PRs regardless of author.
If you really want to improve the new contributor experience you might also include the API blessing incantation.
Oh wonderful thank you! And yes, I just tripped up on public-api and having a reminder in the PR template would have indeed been helpful. Done.
.github/PULL_REQUEST_TEMPLATE.md
line 20 at r4 (raw file):
Previously, tamird (Tamir Duberstein) wrote…
missing apostrophe
Done
.github/PULL_REQUEST_TEMPLATE.md
line 46 at r4 (raw file):
Previously, tamird (Tamir Duberstein) wrote…
doesn't say how to do it, unlike the other bullets
Done
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.
Reviewed 2 of 2 files at r5, all commit messages.
Dismissed @astoycos and @vadorovsky from 3 discussions.
Reviewable status: all files reviewed, 1 unresolved discussion (waiting on @astoycos and @vadorovsky)
Adds documentation to explain:
This change is