check-meta: add a teams attribute#394797
Conversation
3d36bad to
229979f
Compare
This comment was marked as outdated.
This comment was marked as outdated.
There was a problem hiding this comment.
Nevermind, I did miss something obvious, sorry! This seems like a good change. I'm wondering if we can also add the members of a team to meta.maintainers automatically so team-maintained packages don't appear as unmaintained to consumers of meta.maintainers in a follow-up PR.
|
That's all good heh. Yeah, this is going to be rolled out slowly. Once this lands, there'll be communication to the consumers of |
60c4ada to
3e2bde5
Compare
3e2bde5 to
b22ed52
Compare
That is more of with #400458 rather than this PR. I did mention this PR several times in the NixOS Stdenv Matrix chat, though nobody objected to it. I did see that over 14 people saw it on that chat several days before this merged so it's not like this was going to happen without prior knowledge. |
|
It applies to @mweinelt specifically, though, as |
|
Huh, though the bot could've pinged 5 more people right? There's a cap of 15 reviewers, at least through the web UI, and there was 10 people in total pinged. At least philiptaron was pinged so that brings down the number of people who needed to be pinged. Not sure why touching |
|
@winterqt That is a good point, and strange that didn't happen. I'd have thought codeowner pings would have handled it, but alas. ci is listed in the owners file, so I was under the assumption that the right people had been pinged. That aside, I am up for doing whatever we think is best as a project. This change was meant to reduce boilerplate and ultimately ping @NixOS/* down the line. If we didn't pull in the right people, well, we should just make sure everyone is aware next time. |
|
I did notice a PR that also should've pinged codeowners, #400408, but it didn't. Not sure what happened there, but it looks like maybe the ping bot or GitHub itself is flaky with pings? |
|
I think I may have figured it out: see OWNERS and the docs. It's subtle: ci was listed without a trailing slash, so it doesn't apply recursively. @NixOS/stdenv was pinged since /pkgs/stdenv/generic/check-meta.nix was touched, that's why @philiptaron got pinged, but changing something in a subdirectory of ci didn't ping the people on the list for ci.
Note the difference between this and:
So it may be a matter of adding a trailing / or a |
This is a work-around that resolves the issues that spawned from #400458 by adding the team members from teams declared in `meta.teams` to `meta.maintainers`, effectively restoring the original behaviour of the `maintainers` attribute, and thus allowing downstreams to keep consuming `meta.maintainers` without any extra changes to support `meta.teams`. Follow-up to #394797. Signed-off-by: Fernando Rodrigues <[email protected]>
No, that's unrelated. The codeowners file works as expected. The reason is, because changes to this PR were added incrementally. In the beginning, not so many files were touched, yet, so the codeowners ping worked. After a while, there were too many codeowners to ping, thus the last run of CodeOwners / Request has this output: The limit is set to 10 btw. - this limit is not a hard limit by GitHub, but one imposed by us. The idea is that once you touch as many files, it doesn't make sense to ping a ton of code owners, but the authors should explicitly select their reviewers instead. It's unfortunate that the "request code owner reviews" job is still showing "green / succeed" in the checklist in this case. We had it failing before, but it was changed to succeed in #375354. Neither is perfect. Ideally, we'd have a "skipped" appearance, but that's not easily possible - I tried, but failed, so far.
What's the state here, will this be kept or reverted? |
|
For completeness-sake, I now pinged the code owners of |
See [0] for context. Before this change, @NixOS/Security et al. would only get pinged if a change was done one level deep in the `ci` subdirectory, but adding a trailing `/` should make it recursive [1] [2]. [0]: NixOS#394797 (comment) [1]: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners#codeowners-syntax [2]: NixOS#394797 (comment)
|
Oh, what lovely timing. lol.
See #402991, the change is effectively unnoticeable now, as |
|
It seems this broke more, see #412184. |
|
Seems like that check was already broken, and this simply brought it to light by making the check more explicitly broken. |
The check wasn't super broken. The check only listed things as unmaintained if explicit (attrs ? meta.maintainers || attrs ? meta.teams) && (attrs.meta.maintainers or [] == []) && (attrs.meta.teams or [] == []) |
…w meta.teams attribute Follow-up to NixOS#394797. Signed-off-by: Fernando Rodrigues <[email protected]> partial cherry-pick of 05580f4
…to the new meta.teams attribute Follow-up to NixOS#394797. Signed-off-by: Fernando Rodrigues <[email protected]>
Things done
This is something I've had in mind for some time. It'd be great for
metato be aware of teams so if a package is only owned by a team or set of teams, the maintainers could be pulled from the members list of each team. This could go onto the package search and make it possible to see which team owns a package.nix.conf? (See Nix manual)sandbox = relaxedsandbox = truenix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)Add a 👍 reaction to pull requests you find important.