[libvirt PATCH] github: enable lockdown of issues and merge requests

Daniel P. Berrangé berrange at redhat.com
Fri Apr 3 10:38:30 UTC 2020


Libvirt uses GitHub as an automated read-only mirror. The goals were to
have a disaster recovery backup for libvirt.org, a way to make it easy
for people to clone their own private copy of libvirt Git, and finally
as a way to interact with apps like Travis.

The project description was set to a message telling people that we
don't respond to pull requests. This was quite a negative message to
potential contributors, and also did not give them any guidance about
the right way to submit to libvirt. Many also missed the description and
submitted issues or pull requests regardless.

It is possible to disable the issue tracker in GitHub, but there is no
way to disable merge requests. Disabling the issue tracker would also
leave the problem of users not being given any positive information
about where they should be reporting instead.

There is a fairly new 3rd party application built for GitHub that
provides a bot which auto-responds to both issues and merge requests,
closing and locking them, with a arbitrary comment:

   https://github.com/apps/repo-lockdown

This commit adds a suitable configuration file for libvirt, which
tries to give a positive response to user's issue/pullreq and guide
them to the desired contribution path on GitLab.

Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
---

FYI, I have configured the test.git repo to demonstrate the operation.

See the comments / actions performed here:

  https://github.com/libvirt/test/pull/3
  https://github.com/libvirt/test/issues/2

This lockdown.yml file will need to be created in each libvirt git
repo, with just the URL changed. If this patch is approved, then I
propose to directly push the equivalent config file to every other
git repo, without spamming libvir-list for review of each.

Ideally we should be creating a CONTRIBUTING.md file in each repo
too, as both GitHub and GitLab direct users to look at this file
for information about how to contribute. This is how we could
guide people to use GitLab in the first place, avoiding them
filing issues/pulls on the wrong site and triggering this bot.

 .github/lockdown.yml | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100644 .github/lockdown.yml

diff --git a/.github/lockdown.yml b/.github/lockdown.yml
new file mode 100644
index 0000000000..09cbdf1b4a
--- /dev/null
+++ b/.github/lockdown.yml
@@ -0,0 +1,36 @@
+# Configuration for Repo Lockdown - https://github.com/dessant/repo-lockdown
+
+# Close issues and pull requests
+close: true
+
+# Lock issues and pull requests
+lock: true
+
+# Optionally, specify configuration settings just for `issues` or `pulls`
+issues:
+  comment: |
+    Thank you for your interest in the libvirt project.
+
+    Since this repository is a read-only mirror of the project's master repostory hosted on GitLab, issues opened here are not processed.
+
+    We kindly request that new issues are reported to
+
+      https://gitlab.com/libvirt/libvirt/-/issues/new
+
+    Thank you for your time and understanding.
+
+pulls:
+  comment: |
+    Thank you for your interest in the libvirt project.
+
+    Since this repository is a read-only mirror of the project's master repostory hosted on GitLab, merge requests opened here are not processed.
+
+    We kindly request that contributors fork the project at
+
+      https://gitlab.com/libvirt/libvirt/
+
+    push changes to the fork, and then open a new merge request at
+
+      https://gitlab.com/libvirt/libvirt/-/merge_requests/new
+
+    Thank you for your time and understanding.
-- 
2.24.1




More information about the libvir-list mailing list