qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Cleber Rosa <crosa@redhat.com>
To: "Alex Bennée" <alex.bennee@linaro.org>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	qemu-devel@nongnu.org
Cc: "Fam Zheng" <fam@euphon.net>, "Thomas Huth" <thuth@redhat.com>,
	"Daniel P . Berrangé" <berrange@redhat.com>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"Erik Skultety" <eskultet@redhat.com>,
	"Stefan Hajnoczi" <stefanha@gmail.com>,
	"Andrea Bolognani" <abologna@redhat.com>,
	"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Willian Rampazzo" <willianr@redhat.com>,
	"Willian Rampazzo" <wrampazz@redhat.com>,
	"Cleber Rosa" <crosa@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Beraldo Leal" <bleal@redhat.com>
Subject: [PATCH v6 1/4] Jobs based on custom runners: documentation and configuration placeholder
Date: Mon,  7 Jun 2021 23:14:22 -0400	[thread overview]
Message-ID: <20210608031425.833536-2-crosa@redhat.com> (raw)
In-Reply-To: <20210608031425.833536-1-crosa@redhat.com>

As described in the included documentation, the "custom runner" jobs
extend the GitLab CI jobs already in place.  One of their primary
goals of catching and preventing regressions on a wider number of host
systems than the ones provided by GitLab's shared runners.

This sets the stage in which other community members can add their own
machine configuration documentation/scripts, and accompanying job
definitions.  As a general rule, those newly added contributed jobs
should run as "non-gating", until their reliability is verified (AKA
"allow_failure: true").

Signed-off-by: Cleber Rosa <crosa@redhat.com>
---
 .gitlab-ci.d/custom-runners.yml | 14 ++++++++++++++
 .gitlab-ci.d/qemu-project.yml   |  1 +
 docs/devel/ci.rst               | 28 ++++++++++++++++++++++++++++
 docs/devel/index.rst            |  1 +
 4 files changed, 44 insertions(+)
 create mode 100644 .gitlab-ci.d/custom-runners.yml
 create mode 100644 docs/devel/ci.rst

diff --git a/.gitlab-ci.d/custom-runners.yml b/.gitlab-ci.d/custom-runners.yml
new file mode 100644
index 0000000000..a07b27384c
--- /dev/null
+++ b/.gitlab-ci.d/custom-runners.yml
@@ -0,0 +1,14 @@
+# The CI jobs defined here require GitLab runners installed and
+# registered on machines that match their operating system names,
+# versions and architectures.  This is in contrast to the other CI
+# jobs that are intended to run on GitLab's "shared" runners.
+
+# Different than the default approach on "shared" runners, based on
+# containers, the custom runners have no such *requirement*, as those
+# jobs should be capable of running on operating systems with no
+# compatible container implementation, or no support from
+# gitlab-runner.  To avoid problems that gitlab-runner can cause while
+# reusing the GIT repository, let's enable the clone strategy, which
+# guarantees a fresh repository on each job run.
+variables:
+  GIT_STRATEGY: clone
diff --git a/.gitlab-ci.d/qemu-project.yml b/.gitlab-ci.d/qemu-project.yml
index 64cb2ba1da..dde8270301 100644
--- a/.gitlab-ci.d/qemu-project.yml
+++ b/.gitlab-ci.d/qemu-project.yml
@@ -9,3 +9,4 @@ include:
   - local: '/.gitlab-ci.d/crossbuilds.yml'
   - local: '/.gitlab-ci.d/buildtest.yml'
   - local: '/.gitlab-ci.d/static_checks.yml'
+  - local: '/.gitlab-ci.d/custom-runners.yml'
diff --git a/docs/devel/ci.rst b/docs/devel/ci.rst
new file mode 100644
index 0000000000..585b7bf4b8
--- /dev/null
+++ b/docs/devel/ci.rst
@@ -0,0 +1,28 @@
+==
+CI
+==
+
+QEMU has configurations enabled for a number of different CI services.
+The most up to date information about them and their status can be
+found at::
+
+   https://wiki.qemu.org/Testing/CI
+
+Jobs on Custom Runners
+======================
+
+Besides the jobs run under the various CI systems listed before, there
+are a number additional jobs that will run before an actual merge.
+These use the same GitLab CI's service/framework already used for all
+other GitLab based CI jobs, but rely on additional systems, not the
+ones provided by GitLab as "shared runners".
+
+The architecture of GitLab's CI service allows different machines to
+be set up with GitLab's "agent", called gitlab-runner, which will take
+care of running jobs created by events such as a push to a branch.
+Here, the combination of a machine, properly configured with GitLab's
+gitlab-runner, is called a "custom runner".
+
+The GitLab CI jobs definition for the custom runners are located under::
+
+  .gitlab-ci.d/custom-runners.yml
diff --git a/docs/devel/index.rst b/docs/devel/index.rst
index 791925dcda..c9a02e786e 100644
--- a/docs/devel/index.rst
+++ b/docs/devel/index.rst
@@ -27,6 +27,7 @@ Contents:
    migration
    atomics
    stable-process
+   ci
    qtest
    decodetree
    secure-coding-practices
-- 
2.25.4



  reply	other threads:[~2021-06-08  3:15 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-08  3:14 [PATCH v6 0/4] GitLab Custom Runners and Jobs (was: QEMU Gating CI) Cleber Rosa
2021-06-08  3:14 ` Cleber Rosa [this message]
2021-06-08 18:29   ` [PATCH v6 1/4] Jobs based on custom runners: documentation and configuration placeholder Wainer dos Santos Moschetta
2021-06-09 13:24   ` Alex Bennée
2021-06-09 14:22   ` Thomas Huth
2021-06-09 14:24   ` Willian Rampazzo
2021-06-08  3:14 ` [PATCH v6 2/4] Jobs based on custom runners: build environment docs and playbook Cleber Rosa
2021-06-08 18:48   ` Wainer dos Santos Moschetta
2021-06-09 16:13     ` Willian Rampazzo
2021-06-29 15:23       ` Cleber Rosa
2021-06-29 15:06     ` Cleber Rosa
2021-06-09 13:31   ` Alex Bennée
2021-06-09 14:21     ` Cleber Rosa Junior
2021-06-09 15:26       ` Alex Bennée
2021-06-09 17:09         ` Cleber Rosa Junior
2021-06-11 10:40           ` Alex Bennée
2021-06-28 23:07             ` Cleber Rosa
2021-06-09 17:16   ` Willian Rampazzo
2021-06-10  8:13     ` Erik Skultety
2021-06-29 23:35       ` Cleber Rosa
2021-06-29 23:30     ` Cleber Rosa
2021-06-08  3:14 ` [PATCH v6 3/4] Jobs based on custom runners: docs and gitlab-runner setup playbook Cleber Rosa
2021-06-08 19:04   ` Wainer dos Santos Moschetta
2021-06-29 23:51     ` Cleber Rosa
2021-06-09 17:46   ` Willian Rampazzo
2021-06-30  0:04     ` Cleber Rosa
2021-06-10  6:23   ` Thomas Huth
2021-06-30  0:18     ` Cleber Rosa
2021-06-08  3:14 ` [PATCH v6 4/4] Jobs based on custom runners: add job definitions for QEMU's machines Cleber Rosa
2021-06-08  6:29   ` Philippe Mathieu-Daudé
2021-06-08 13:36     ` Cleber Rosa Junior
2021-06-08 19:07       ` Wainer dos Santos Moschetta
2021-06-09 15:09         ` Stefan Hajnoczi
2021-06-30  0:47           ` Cleber Rosa
2021-06-09 14:54       ` Stefan Hajnoczi
2021-06-30  0:40         ` Cleber Rosa
2021-06-11 11:00       ` Alex Bennée
2021-06-30  1:08         ` Cleber Rosa
2021-06-30 14:24           ` Willian Rampazzo
2021-06-09 14:22     ` Stefan Hajnoczi
2021-06-08 18:27   ` Wainer dos Santos Moschetta
2021-06-09 15:53     ` Alex Bennée
2021-06-30  0:30     ` Cleber Rosa
2021-06-09 18:56   ` Willian Rampazzo
2021-06-10  6:18   ` Thomas Huth
2021-06-30  1:02     ` Cleber Rosa

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=20210608031425.833536-2-crosa@redhat.com \
    --to=crosa@redhat.com \
    --cc=abologna@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=berrange@redhat.com \
    --cc=bleal@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=eskultet@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=fam@euphon.net \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    --cc=thuth@redhat.com \
    --cc=wainersm@redhat.com \
    --cc=willianr@redhat.com \
    --cc=wrampazz@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).