ansibullbot
ansibullbot copied to clipboard
[Documentation] How does bot identify maintainers?
I've got some ansibullbot
questions:
- Who is the maintainer?
- Am I a maintainer?
- Where is the list of maintainers for specific modules?
Overview could link to appropriate explanation.
It's identified from config: https://github.com/ansible/ansible/blob/devel/.github/BOTMETA.yml
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
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.
It is a "compute" operation because the authors of the file are also considered.
Authors are from source code history?
@techtonik no, from module metadata history. There's a variable with YAML in it, in each module.
Where is it? https://github.com/ansible/ansible/tree/devel/lib/ansible/modules/files
I mean how is it called and what is the key?
https://github.com/ansible/ansible/blob/905acd7c9ebf151b19d3f48186ad758b93ec97a0/lib/ansible/modules/files/blockinfile.py#L11-L13
https://github.com/ansible/ansible/blob/devel/lib/ansible/modules/files/file.py#L30
https://github.com/ansible/ansible/blob/905acd7c9ebf151b19d3f48186ad758b93ec97a0/lib/ansible/modules/files/blockinfile.py#L19-L20
I've got some ansibullbot questions:
Just in case, there is some info here.
- 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 ofDOCUMENTATION
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 usingPublic 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
- 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.
How can I check my status?
How can I list all maintainers for blockinfile
including namespace maintainers and core members?
@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.
Re-opening this issue as a documentation request.