Skip to content
This repository has been archived by the owner on May 20, 2024. It is now read-only.

[Documentation] How does bot identify maintainers? #1039

Open
techtonik opened this issue Sep 20, 2018 · 14 comments
Open

[Documentation] How does bot identify maintainers? #1039

techtonik opened this issue Sep 20, 2018 · 14 comments

Comments

@techtonik
Copy link
Contributor

I've got some ansibullbot questions:

  1. Who is the maintainer?
  2. Am I a maintainer?
  3. Where is the list of maintainers for specific modules?

Overview could link to appropriate explanation.

@webknjaz
Copy link
Member

It's identified from config: https://github.com/ansible/ansible/blob/devel/.github/BOTMETA.yml

@jctanner
Copy link
Contributor

This is the entry point for fetching metadata about any given file, which also computes the maintainers...

https://github.com/ansible/ansibullbot/blob/master/ansibullbot/utils/component_tools.py#L995

@techtonik
Copy link
Contributor Author

Just to make it absolutely clear - maintainers are not computed, but fetched from BOTMETA.yml. I mean that no source code history is processed, all processing is just matching filenames to modules and to maintainers.

@jctanner
Copy link
Contributor

It is a "compute" operation because the authors of the file are also considered.

@techtonik
Copy link
Contributor Author

Authors are from source code history?

@webknjaz
Copy link
Member

@techtonik no, from module metadata history. There's a variable with YAML in it, in each module.

@techtonik
Copy link
Contributor Author

@techtonik
Copy link
Contributor Author

techtonik commented Sep 22, 2018

@webknjaz
Copy link
Member

https://github.com/ansible/ansible/blob/devel/lib/ansible/modules/files/file.py#L30

@webknjaz
Copy link
Member

@pilou-
Copy link
Contributor

pilou- commented Oct 10, 2018

I've got some ansibullbot questions:

Just in case, there is some info here.

  1. Who is the maintainer?

There are three groups of people which are able to approve a pull-request:

  • module maintainers: composed of module authors (listed in author key of DOCUMENTATION in source code of the module) and people mentioned in .github/BOTMETA.yml
  • namespace maintainers: composed of all module maintainers of all modules located in the same directory than the updated module is
  • core team members

Note that:

  • Usually maintainers means module maintainers.

  • Namespace maintainers can be asked to review a particular PR, usually when module maintainers are unresponsive.

  • as a last resort, ask the core team (on IRC (#ansible-devel channel) or using Public Ansible Project Meeting)

  • some pull-requests updating community supported modules (see here and here) can be automerged but a majority is manually merged by the core team

  1. Where is the list of maintainers for specific modules?

Module maintainers should be notified when a new PR/issue is created (example).
Namespace maintainers are listed here.
Core team members are listed in the documentation.

@techtonik
Copy link
Contributor Author

How can I check my status?
How can I list all maintainers for blockinfile including namespace maintainers and core members?

@webknjaz
Copy link
Member

webknjaz commented Feb 1, 2019

@techtonik you can only check botmeta config for entries where you're a maintainer + it takes into account module authors.
You can only use bot_status command in issues or PRs. I don't recall anything else we expose.

@mkrizek
Copy link
Collaborator

mkrizek commented May 6, 2020

Re-opening this issue as a documentation request.

@mkrizek mkrizek reopened this May 6, 2020
@mkrizek mkrizek changed the title How does it identifies maintainers? [Documentation] How does it identifies maintainers? May 6, 2020
@mkrizek mkrizek changed the title [Documentation] How does it identifies maintainers? [Documentation] How does bot identify maintainers? May 6, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants