This project uses Hypertrons for workflow management, it uses several default components of Hypertrons and some customized components to manage the project, read .github/hypertrons.json
to find out all the components enabled for now and the customized components are under folder .github/hypretrons-components
.
The automatic procedure of this project is executed by open-digger-bot
(bot) and this document will go through the workflow by introducing the components.
Component role is used to define the roles and their authorities in the community. We have committer
, replier
in this project and details about their authorities will be introduced in each component.
Component lable setup is used to manage the labels of this project and change the config will add new label to the project along with its description and color(deletion not supported in case false operation, can delete label from GitHub web interface). Besides the customized labels, the component also includes all the default labels from Hypertrons.
Component weekly report is used to send digital report by issue and the time is every Monday 12:00 UTC+8.
Component auto update contribution will give a statistics of all developers in the project and create a pull request with a new branch to update CONTRIBUTORS file. This file contains all the roles in the community and contributor
(developers with commit), participant
(developers participate in discussion) and follower
(developers who star or fork the project), if an account appears in a prior role then it will not included in other roles.
The sequence of the roles is committer
, replier
, contributor
, participant
and follower
, we use activity score to sort within a role and the score is appended to the account. For activity calculation, please refer to GitHub Analysis Report 2019.
Component auto label allows the bot to add label to issue or PR automatically, the config details are under label_setup
component in the keywords
field of each label which supports multiple keyword to match.
Component issue reminder are used to remind replier
to reply issues. For now, if an issue is not replied in 24 hours and the author is not a replier
, the bot will @ all accounts in replier
roles to remind them.
Component self assign allows anyone to clain an issue task. Any developer can use /self-assign
command to claim the issue and the bot will assign the issue to him or her.
Component approve allows committer
to use /approve
command to add pull/approved
label to PR for later use.
Component auto merge will check all open PR with pull/approved
label and merge them automatically, the check interval is 5 minutes for now.