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

Add CODEOWNERS and fix missing PKG_MAINTAINER #6830

Closed
wants to merge 1 commit into from

Conversation

stokito
Copy link
Contributor

@stokito stokito commented Jan 13, 2024

The CODEOWNERS will request for a reviewer automatically by a path.

https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners

The luci-app-bcp38 had a maintainer from luci-app-acme and that looks like a copy-paste error. So it's maintainer was changed to an author @danrl

Daniel F. Dickinson changed email address to dfdpublic@wildtechgarden.ca

luci-all-lxl has a maintainer Petar Koretic petar.koretic@sartura.hr but there is no corresponding GitHub account. So Dirk Brenken was added as a second maintainer: he answered on an issue of the app.

When maintainer wasn't set the initial author was used, or most contributor or Jo-Philipp Wich as a default.

If anyone can't be a maintainer he or she should create an issue and the CODEOWNERS file will be updated with a new one.

@stokito
Copy link
Contributor Author

stokito commented Jan 13, 2024

In order to make it working the users needs to have a write access:

applications/luci-app-alist @1715173329
applications/luci-app-apinger @jempatel
applications/luci-app-aria2 @kuoruan
applications/luci-app-bcp38 @danrl
…ons/luci-app-bmx7 @rogerpueyo @p4u
applications/luci-app-clamav @ratkaj @lperkov
…app-crowdsec-firewall-bouncer @ne20002
applications/luci-app-dcwapd @csonsino
…plications/luci-app-dockerman @lisaac @feckert
…plications/luci-app-dynapoint @ascob
applications/luci-app-email @stokito
applications/luci-app-eoip @bogdik
…s/luci-app-example @andibraeu @cricalix
applications/luci-app-example @andibraeu @cricalix
applications/luci-app-frpc @ysc3839
applications/luci-app-frps @ysc3839
applications/luci-app-fwknopd @jp-bennett
…lications/luci-app-irqbalance @ElaineR02
…lications/luci-app-keepalived @jempatel
applications/luci-app-ksmbd @ysc3839
…plications/luci-app-libreswan @jempatel
…luci-app-lorawan-basicstation @mars642
…plications/luci-app-mosquitto @karlp
applications/luci-app-natmap @ysc3839
applications/luci-app-nextdns @rs
applications/luci-app-nft-qos @rosysong
applications/luci-app-nut @danielfdickinson
applications/luci-app-ocserv @nmav
…ations/luci-app-olsr-services @andibraeu
…ons/luci-app-olsr-viz @znerol @Ayushmanwebdeveloper
…pplications/luci-app-olsr-viz @znerol @Ayushmanwebdeveloper
…pplications/luci-app-omcproxy @riverscn
…pplications/luci-app-openwisp @mips171
…plications/luci-app-pagekitec @karlp
applications/luci-app-polipo @alekkrs
applications/luci-app-privoxy @chris5560
…pplications/luci-app-radicale @chris5560
…plications/luci-app-radicale2 @danielfdickinson
…ions/luci-app-rp-pppoe-server @danielfdickinson
applications/luci-app-samba4 @Andy2244
applications/luci-app-ser2net @michyprima
…pp-shadowsocks-libev @yousong @aa65535
…pplications/luci-app-smartdns @pymumu
applications/luci-app-snmpd @karlp
applications/luci-app-squid @ratkaj
…plications/luci-app-sshtunnel @stokito
…s/luci-app-strongswan-swanctl @mips171 @lvoegl
…p-strongswan-swanctl @mips171 @lvoegl
applications/luci-app-tor @stokito
…cations/luci-app-transmission @ysc3839
applications/luci-app-udpxy @1715173329
applications/luci-app-uhttpd @danielfdickinson
applications/luci-app-unbound @EricLuehrsen
applications/luci-app-usteer @Ramon00
applications/luci-app-vnstat2 @janh
…tions/luci-app-watchcat @jow- @mips171
…cations/luci-app-wifischedule @newkit
applications/luci-app-xfrpc @liudf0716
applications/luci-app-xinetd @he-ma
…otocols/luci-proto-batman-adv @onemarcfifty
protocols/luci-proto-bonding @he-ma
protocols/luci-proto-external @oskarirauta
protocols/luci-proto-gre @mbargo23
protocols/luci-proto-mbim @hyc
…ocols/luci-proto-modemmanager @mips171
protocols/luci-proto-ncm @lucize
…ocols/luci-proto-openfortivpn @aaronjg
protocols/luci-proto-qmi @thornley-touchstar
protocols/luci-proto-sstp @rkkoszewski
protocols/luci-proto-vpnc @danielfdickinson
protocols/luci-proto-vti @jempatel
protocols/luci-proto-vxlan @wjowsa
…rotocols/luci-proto-wireguard @danrl
protocols/luci-proto-xfrm @hgl
…rotocols/luci-proto-yggdrasil @wfleurant

You can open the file directly and GitHub will show a warning for the missing perms:
https://github.com/openwrt/luci/blob/a2cb9b8f50c97c219379a133cbb31d8e8d71914d/.github/CODEOWNERS

@stangri
Copy link
Member

stangri commented Jan 13, 2024

Probably treewide: Add CODEOWNERS and fix missing PKG_MAINTAINER would be a commit subject which can pass CI checks.

@systemcrash
Copy link
Contributor

systemcrash commented Jan 13, 2024 via email

@stokito
Copy link
Contributor Author

stokito commented Jan 20, 2024

The PR can be merged and start working today.
All who already have the write perm will start to receive notifications. Others won't.
Still this will make it easier to find a maintainer of a package and tag it manually.

Please note that the PR also adds missing maintainers for packages when not specified.

@aparcar friendly reminder on this.

@stokito
Copy link
Contributor Author

stokito commented Feb 1, 2024

I added owners for the new luci-app-cloudflared.

Can we merge the PR before it stalled? :)

@stokito
Copy link
Contributor Author

stokito commented Feb 23, 2024

Please merge the PR. It will help to find a maintainer and tag it on PRs.

@stangri
Copy link
Member

stangri commented Feb 23, 2024

@stokito Thanks for doing all this legwork, I believe it's a welcome update.

@hnyman @dibdot @aparcar @jow- can we get a blessing on this and have this merged?

@jow-
Copy link
Contributor

jow- commented Feb 23, 2024

Undecided. My hunch is that this will simply rot, it already contains quite a number of contributors who have not been active for a very long time. I'm not keen on handing everyone on this list above write access either.

@stokito
Copy link
Contributor Author

stokito commented Feb 24, 2024

Currently when creating a PR a contributor needs to check a history of a Makefile to find a username of author to ask him for a review. Even just having a text file with list would simplify this step significantly.
The write access will be a good thing to add to enable auto assignment. Most of maintainers already have the access.

I agree that the list may become outdated but fortunately it's not that fast and easy to fix.

As a more advanced solution we can make a github workflow that will lookup a github username by a PKG_MAINTAINER and assign a reviewer. The the only source of thuth will be the Makefile itself. Still it would be just easier to edit the GITHUBOWNERS.

@stangri
Copy link
Member

stangri commented Feb 24, 2024

Undecided. My hunch is that this will simply rot, it already contains quite a number of contributors who have not been active for a very long time.

Can we limit this to only active contributors with existing write access?

@stokito
Copy link
Contributor Author

stokito commented Feb 24, 2024

yes, this is how it works. The CODEOWNERS doesn't grant perms by itself.

The CODEOWNERS will request for a reviewer automatically by a path.

https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners

The luci-app-bcp38 had a maintainer from luci-app-acme and that looks like a copy-paste error.
So it's maintainer was changed to an author @danrl

Daniel F. Dickinson changed email address to <dfdpublic@wildtechgarden.ca>

luci-all-lxl has a maintainer Petar Koretic <petar.koretic@sartura.hr> but there is no corresponding GitHub account.
So Dirk Brenken was added as a second maintainer: he answered on an issue of the app.

When maintainer wasn't set the initial author was used, or most contributor or Jo-Philipp Wich as a default.

If anyone can't be a maintainer it should create an issue and the CODEOWNERS file will be updated with a new one.

Signed-off-by: Sergey Ponomarev <stokito@gmail.com>
@systemcrash
Copy link
Contributor

@jow-

I'm not keen on handing everyone on this list above write access either.

Let's dare to move forward. Each openwrt repo needs more reviewers and maintainers who have flexibility to make changes. Perhaps start with a handful, and augment as necessary. Pick ten names from that list who have committed in the last few years. Start with @stokito for the apps he's brought in.

Another thing I noticed on re-reading the help text: In most cases, you can also refer to a user by an email address that has been added to their account on github.com, for example user@example.com. So those original email addresses in the Makefiles could also be present in the CO file.

@aparcar
Copy link
Member

aparcar commented Mar 13, 2024

giving more people commit access somewhat means one evil maintainer could hijack all packages since the build process isn't separating between package builds. Therefore I'm strongly against a more relaxed commit policy until we have either sandboxed or incremental builds. @jow- what do you think which solution is more feasible?

@systemcrash
Copy link
Contributor

giving more people commit access somewhat means one evil maintainer could hijack all packages since the build process isn't separating between package builds. Therefore I'm strongly against a more relaxed commit policy until we have either sandboxed or incremental builds. @jow- what do you think which solution is more feasible?

Code owners limits any committer to specified folders.

@jow-
Copy link
Contributor

jow- commented Mar 13, 2024

Wrt. @aparcar objections, the single folder restriction does not help as each app folder can inject arbitrary build logic through makefiles.

@systemcrash
Copy link
Contributor

Wrt. @aparcar objections, the single folder restriction does not help as each app folder can inject arbitrary build logic through makefiles.

I could fire a laser through space and slowly evaporate the moon. But I don't think I'm going to be doing that today.

This topic will be revisited in the future. Closing...

@stokito
Copy link
Contributor Author

stokito commented Mar 14, 2024

We need to create a luci-dev team. It should be public (Visibility: visible) and have core devs as members. The team must be added as collaborator to the repo with write (or higher) permissions.

Then go to the repo Settings / Rules/ Rulesets
https://github.com/openwrt/luci/settings/settings/rules

Create a Ruleset

Ruleset Name: main
Enforcement: active
Bypass list: set a luci-dev team. This will allow them to push directly to master.
Branch targeting criteria: default (e.g. master)
Rules:
Check Require a pull request before merging
Check Require review from Code Owners.
Save

Now a code owner e.g. an app maintainer can merge PRs into master only for parts that owns.

Here I made a demo (sorry for echo, didn't noticed but have work now)
https://www.youtube.com/watch?v=Ci1YLRieq7Y

Once you decide to use the feature you can grab the commits from the branch
https://github.com/stokito/luci/tree/codeowners

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants