From: "Daniel P. Berrangé" <berrange@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Philippe Mathieu-Daudé" <philmd@redhat.com>,
"Thomas Huth" <thuth@redhat.com>,
"Alex Bennée" <alex.bennee@linaro.org>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Wainer dos Santos Moschetta" <wainersm@redhat.com>
Subject: [PATCH 0/3] gitlab: add jobs for checking paches
Date: Fri, 18 Sep 2020 14:29:00 +0100 [thread overview]
Message-ID: <20200918132903.1848939-1-berrange@redhat.com> (raw)
This introduces two new jobs to GitLab. The first runs "checkpatch.pl"
across all patches, while the second is a dedicated DCO signoff check.
While checkpatch.pl does validate DCO signoff, it is sub-optimal as we
need to allow the checkpatch.pl job to fail as there are always patches
which intentionally violate some rules, and we've no mechanism for marking
permitted exceptions in code. Thus the checkpatch.pl jobs needs to be
non-fatal allowing failure.
By having a separate DCO job, we can make that particular job mandatory.
Checking patches themselves in GitLab CI is a little difficult, as the
CI job receives no indication of what the base ancestor was for the
branch being tested. To work around this, we add the master QEMU git
repo as a new remote and ask git to find the common ancestor vs the
branch being tested.
An example pipeline showing failure of these two jobs is here:
https://gitlab.com/berrange/qemu/-/pipelines/191219666
The checkpatch.pl job failure output:
https://gitlab.com/berrange/qemu/-/jobs/743439455
And the DCO signoff job failure output:
https://gitlab.com/berrange/qemu/-/jobs/743439456
I think the latter shows the benefit of having a dedicated DCO signoff
job checker, as the info presented to the user is much clearer about
what they did wrong and how & why they must address it.
_+# base: master
Daniel P. Berrangé (3):
gitlab: add a CI job for running checkpatch.pl
gitlab: add a CI job to validate the DCO sign off
gitlab: assign python helper files to GitLab maintainers section
.gitlab-ci.d/check-dco.py | 94 +++++++++++++++++++++++++++++++++++++
.gitlab-ci.d/check-patch.py | 48 +++++++++++++++++++
.gitlab-ci.yml | 22 +++++++++
MAINTAINERS | 1 +
4 files changed, 165 insertions(+)
create mode 100755 .gitlab-ci.d/check-dco.py
create mode 100755 .gitlab-ci.d/check-patch.py
--
2.26.2
next reply other threads:[~2020-09-18 13:31 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-18 13:29 Daniel P. Berrangé [this message]
2020-09-18 13:29 ` [PATCH 1/3] gitlab: add a CI job for running checkpatch.pl Daniel P. Berrangé
2020-09-18 13:46 ` Philippe Mathieu-Daudé
2020-10-13 8:08 ` Thomas Huth
2020-10-13 8:09 ` Daniel P. Berrangé
2020-09-18 13:29 ` [PATCH 2/3] gitlab: add a CI job to validate the DCO sign off Daniel P. Berrangé
2020-09-18 13:29 ` [PATCH 3/3] gitlab: assign python helper files to GitLab maintainers section Daniel P. Berrangé
2020-09-18 13:47 ` Philippe Mathieu-Daudé
2020-09-18 13:36 ` [PATCH 0/3] gitlab: add jobs for checking paches no-reply
2020-09-18 13:54 ` no-reply
2020-09-18 14:07 ` Thomas Huth
2020-09-18 14:10 ` Philippe Mathieu-Daudé
2020-09-18 14:15 ` Daniel P. Berrangé
2020-09-18 14:19 ` 罗勇刚(Yonggang Luo)
2020-09-18 14:57 ` no-reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200918132903.1848939-1-berrange@redhat.com \
--to=berrange@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.com \
--cc=wainersm@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).