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

Check for project existence in Project Maintainers list #131

Open
jeefy opened this issue Mar 3, 2022 · 2 comments
Open

Check for project existence in Project Maintainers list #131

jeefy opened this issue Mar 3, 2022 · 2 comments

Comments

@jeefy
Copy link
Member

jeefy commented Mar 3, 2022

https://github.com/cncf/foundation/blob/main/project-maintainers.csv houses all the top-level maintainers for all CNCF projects. This is used to do things like allow access to CNCF's Service Desk.

We should validate that a project exists in this list and has at least one maintainer listed.

@tegioz
Copy link
Contributor

tegioz commented Mar 16, 2022

Hi @jeefy 👋

A few thoughts about this check:

At the moment, checks are performed at the repository level, not at the project level. Everything has been built around this idea so far. This also fits when using the clomonitor-linter CLI (locally or from CI workflows), where the project entity does not exist.

I've been thinking a bit if we could make it work at the repository level. The CSV file has a field that contains a link to the project's maintainers file. We could try to match them by that url, but the problem is that sometimes it won't match the url of the primary repository setup in CLOMonitor (because the url listed is not related to the Github repo, like in the K8S or Prometheus cases, or because we use a different repo as primary). So this would work partially, but it wouldn't be very solid. If we could add an extra field to the CSV file with the project's primary repository it'd be much more reliable, but not sure if that's an option.

Another approach would be to relay on the project name even though the check would happen at the repository level. This can work for the tracking we do ourselves from our servers. However, when running the tool locally or from CI jobs, users would need to provide the project name manually, which isn't nice and error prone (they may not use exactly the same name, for example).

We'll keep thinking about this in case a better approach comes up.

On a different topic, I was thinking that it might be cool if we could make this work the other way around: generate the CSV from all the maintainers information collected from CLOMonitor. That way there would only be a single source of truth and the project-maintainer.csv file would always be up to date without requiring manual maintenance. The main problem to achieve this is that maintainers files are not using a standard format. But if this were to change, we could consider it 🙂

@jeefy
Copy link
Member Author

jeefy commented Mar 16, 2022

The original idea of this is a check to validate we (CNCF) have added them to that Maintainers CSV, so I figured it would be an easy check to knock out.

That said, I love the direction you're thinking. There are some instances where we have to hand-massage the data to add in people, but overall I think we can try to automate the creation of this CSV. :)

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

No branches or pull requests

2 participants