Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 738712 - p.g.o: Add a visible "Deals with Github pull requests" note on maintainer page
Summary: p.g.o: Add a visible "Deals with Github pull requests" note on maintainer page
Status: CONFIRMED
Alias: None
Product: Websites
Classification: Unclassified
Component: Packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Packages Website
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-08-23 12:49 UTC by Joonas Niilola
Modified: 2020-09-14 14:37 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Joonas Niilola gentoo-dev 2020-08-23 12:49:59 UTC
Hey,

a while back I asked other devs what they'd think about adding a "Accepts/Deals with Github pull requests" metadata flag. The discussion can be seen here: 
  https://archives.gentoo.org/gentoo-dev/message/dc9b63e831b529388c6730e73b698e46

No one was against the idea, and even our contributors seem to like it (got multiple messages in IRC). I've been thinking how to best implement this, and here's my proposal:

First of all, add some sort of "Accept Github pull requests" metadata flag in everyone's *personal* Wiki page. 
  https://wiki.gentoo.org/wiki/User:Juippis

This is somehow linked to dev accounts, and every (active) dev probably has a wiki page. I don't remember if it's mandatory or not. This flag can be invisible in the web page, but it doesn't have to if you believe it'd be wise to show it off in the wiki page as well. I don't believe it's necessary, as long as the metadata is somehow crawl'able. I don't know whether you can get it from LDAP or something, but a hidden div with "Yes" or "No" is probably enough. 
The flag can default to "No", unless you wish to add "This maintainer hasn't specified whether they deal with Github contributions or not." message on the maintainer page. If wiki page isn't found, default to "No".

On personal maintainer pages, https://packages.gentoo.org/maintainer/juippis@gentoo.org/pull-requests, it could simply state "This maintainer does deal with Github pull requests". But for projects my final conclusion for implementation is as follows: 

Count the amount of devs within a project, who do accept Github PRs, then add a text: 
"This project has a x|y|z|s|c probability of dealing with Github pull requests."
Where as 
 - 0 % -> "Nonexistent", 
 - 1-25 % -> "Very low", 
 - 26-50 % -> "Low", 
 - 51-75 % -> "High", 
 - 75-100 % -> "Very high".

Say there are 10 devs in a project, whom amongst 8 do have the metadata flag turned on. It'd account to 80 % probability. Similarily 3/10 -> 30 %, "Low" chance. For nonexistent projects, and maintainers who have turned it off, maybe the whole "help with doing Github pull requests" text can be hidden.

I'd also like this to show similar graphs as the staffing needs page does, 
  https://wiki.gentoo.org/wiki/Project:Gentoo/Staffing_Needs
although colors need to be inverted. 

Here's the finalized idea, then, with implementation instructions! I don't know whether infra and wiki projects need to be CCd here, but I trust you know how to continue. Discussion welcome!
Comment 1 Joonas Niilola gentoo-dev 2020-08-23 12:55:57 UTC
Forgot to add: For packages with multiple maintainers, this could work:

If it has a specified "person" with metadata flag turned on, just state "Github pull requests are welcome for this package!", and if it has say a maintainer with metadata flag turned off, and two projects listed, take the first (main) project and calculate probability off that.
Comment 2 Alec Warner (RETIRED) archtester gentoo-dev Security 2020-08-23 19:05:37 UTC
(In reply to Joonas Niilola from comment #1)
> Forgot to add: For packages with multiple maintainers, this could work:
> 
> If it has a specified "person" with metadata flag turned on, just state
> "Github pull requests are welcome for this package!", and if it has say a
> maintainer with metadata flag turned off, and two projects listed, take the
> first (main) project and calculate probability off that.

I think we should:
 - store this data in LDAP.
 - Export it with userinfo.xml like we do for other dev data.
 - consume this data in p.g.o.

no wiki deps then. The problem is then do we need to support this metadata for non-devs? They don't have LDAP accounts today.

-A
Comment 3 Joonas Niilola gentoo-dev 2020-08-24 06:05:37 UTC
(In reply to Alec Warner from comment #2)
> 
> no wiki deps then. The problem is then do we need to support this metadata
> for non-devs? They don't have LDAP accounts today.

I don't think so, they'll need someone with @gentoo.org address (person, project) to commit for them so this could be mirrored from that @gentoo.org maintainer. And chances are they're working through Github already.
Comment 4 Max Magorsch (RETIRED) Gentoo Infrastructure gentoo-dev 2020-08-24 10:14:11 UTC
Different idea here: How about creating a repository (pgo-metadata or the like) which is writeable by all devs (and proxied maintainers) which contains this kind of data. Like a plain file containing a list of devs that don't accept pull requests. 


I'm suggesting this approach, as we might also use it for other data as well (as packages / categories that should be excluded from the repology check). That is, there seem to be certain packages / categories whereas the repology check fails nearly always.

This way we would bundle all relevant metadata in one place, that is writeable by all devs/proxied maintainers as well as version controlled.
Comment 5 Joonas Niilola gentoo-dev 2020-08-24 10:33:01 UTC
(In reply to Max Magorsch from comment #4)
> Different idea here: How about creating a repository (pgo-metadata or the
> like) which is writeable by all devs (and proxied maintainers) which
> contains this kind of data. Like a plain file containing a list of devs that
> don't accept pull requests. 
> 
> 
> I'm suggesting this approach, as we might also use it for other data as well
> (as packages / categories that should be excluded from the repology check).
> That is, there seem to be certain packages / categories whereas the repology
> check fails nearly always.
> 
> This way we would bundle all relevant metadata in one place, that is
> writeable by all devs/proxied maintainers as well as version controlled.

I'd like to make this as easy, simple and as intuitive as possible for the devs. I'd imagine the wiki setting would be fastest and easiest, changing your LDAP preferences by logging to dev.gentoo.org not that bad... but having to clone a repo, search and browse through other metadata to toggle a flag, edit files... I can see it become a bit of a chore, and at this time I don't like the idea.

I also believe we're currently trying to overcomplicate things bringing non-dev maintainers into this, as they can't commit anyway, and the @gentoo.org maintainer is in the end responsible what happens to the package. 

I'm sure it'd make your life a lot easier, but can the flag be gotten somehow from LDAP to your metadata repo?
Comment 6 Joonas Niilola gentoo-dev 2020-09-01 18:56:57 UTC
(In reply to Joonas Niilola from comment #5)
> 
> I'd like to make this as easy, simple and as intuitive as possible for the
> devs. I'd imagine the wiki setting would be fastest and easiest, changing
> your LDAP preferences by logging to dev.gentoo.org not that bad... but
> having to clone a repo, search and browse through other metadata to toggle a
> flag, edit files... I can see it become a bit of a chore, and at this time I
> don't like the idea.

Seeing how repology is growing, maybe it's not that uncommon to think people will have it synced after all. 

Would there be a way to hide a public list of people who'd enabled/disabled it? Ie not show the file contents in gitweb or mirrors?
Comment 7 Max Magorsch (RETIRED) Gentoo Infrastructure gentoo-dev 2020-09-02 18:40:43 UTC
(In reply to Joonas Niilola from comment #6)
> (In reply to Joonas Niilola from comment #5)
> > 
> > I'd like to make this as easy, simple and as intuitive as possible for the
> > devs. I'd imagine the wiki setting would be fastest and easiest, changing
> > your LDAP preferences by logging to dev.gentoo.org not that bad... but
> > having to clone a repo, search and browse through other metadata to toggle a
> > flag, edit files... I can see it become a bit of a chore, and at this time I
> > don't like the idea.
> 
> Seeing how repology is growing, maybe it's not that uncommon to think people
> will have it synced after all. 
> 
> Would there be a way to hide a public list of people who'd enabled/disabled
> it? Ie not show the file contents in gitweb or mirrors?

Which information would you especially like to hide here? I mean - correct me if I am mistaking - but after all the information are public on packages.g.o anyway, aren't they?
Comment 8 Joonas Niilola gentoo-dev 2020-09-03 05:27:45 UTC
(In reply to Max Magorsch from comment #7)
> 
> Which information would you especially like to hide here? I mean - correct
> me if I am mistaking - but after all the information are public on
> packages.g.o anyway, aren't they?

Yes they are. I can imagine a public list to have benefits and harm to it, but as you said, it's public info anyway...