All,
I'm trying to investigate and experiment with a few things and new ideas around
our QA/automation and CI/CD. I want to build initial support around this and
ask if anybody has any feedback, objections on this;
Taking inspiration from kubernetes and other apache projects [2][3], I'm trying
to explore the following use-cases and requirements that are initiated by a new
community github bot [1]:
* Triage issues and PRs:
* Add labels on issues and PRs
* Assign reviewers and approvers for PRs
* Perform any other checks and misc things (for ex. welcome new
contributors?)
* Have ability to remind people on issues and PRs (for ex. /remind in 2
weeks... etc)
* Kick tests, lints etc using apache approved/integrated automation hooks,
Github Actions etc.
* Generally, explore use of Github Actions, marketplace apps/bots or
existing opensource systems such as prow
* Report code coverage, stats, and other relevant/related advice
And, if ASF infra permits, eventually the bot may perform the following mundane
tasks which can help our RMs and contributors who end of spending a lot of time
on:
* Keep track of latest CI/CD reports (for ex. smoketests reports) and
remove old reports/comments
* Help re-kick failed jobs (builds and tests, for example try to build 3
time before giving up, or rekick failed test) or notify relevant people (maybe
an external test-runner dashboard?)
* Remind people when their PRs are outdated, have merge-conflicts etc.
* Automated merging of PRs that pass community merge guidelines, tests;
also ability for RM/contributors to put a /hold on a PR
* For docs, website repos: build docs/website and publish on staging; on
another command merge staging (Apache Airflow and others have some good
examples of how they do it)
* Discuss and automate other things to assist RMs and contributors in
their day-to-day activities (take feedback for some use-cases, examples)
(Note: the above things are largely beyond the scope of and additional features
to the current blueorangutan bot which is currently limited to
pkging+smoketests with different hypervisors and is gated due to limited lab
capacities)
For PoC/investigation purposes, I've created a new community github bot [1]
which assuming it works and meets the goals can be moved and managed under the
ACS PMC wing.
I hope to have your support in the initial phase of investigation and see what
PoC integrations we can enable to begin with on the apache/cloudstack,
apache/cloudstack-documentation, and apache/cloudstack-www repos.
[1] https://github.com/acs-robot
[2] https://github.com/apache/airflow/blob/main/CI_DIAGRAMS.md
[3] https://github.com/apache/airflow/pull/22753
[4] https://cwiki.apache.org/confluence/display/INFRA/Git+-+.asf.yaml+features
[5] https://infra.apache.org/github-actions-secrets.html
Regards.