All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cleber Rosa <crosa@redhat.com>
To: qemu-devel@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>,
	"Peter Maydell" <peter.maydell@linaro.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>,
	"Willian Rampazzo" <wrampazz@redhat.com>,
	"Cleber Rosa" <crosa@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Beraldo Leal" <bleal@redhat.com>
Subject: [PATCH v5 1/4] Jobs based on custom runners: documentation and configuration placeholder
Date: Fri, 19 Feb 2021 16:58:35 -0500	[thread overview]
Message-ID: <20210219215838.752547-2-crosa@redhat.com> (raw)
In-Reply-To: <20210219215838.752547-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.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..3004da2bda
--- /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 recursive submodule
+# strategy.
+variables:
+  GIT_SUBMODULE_STRATEGY: recursive
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8b6d495288..ae19442e93 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -12,6 +12,7 @@ include:
   - local: '/.gitlab-ci.d/opensbi.yml'
   - local: '/.gitlab-ci.d/containers.yml'
   - local: '/.gitlab-ci.d/crossbuilds.yml'
+  - local: '/.gitlab-ci.d/custom-runners.yml'
 
 .native_build_job_template: &native_build_job_definition
   stage: build
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 22854e334d..b178448a91 100644
--- a/docs/devel/index.rst
+++ b/docs/devel/index.rst
@@ -23,6 +23,7 @@ Contents:
    migration
    atomics
    stable-process
+   ci
    qtest
    decodetree
    secure-coding-practices
-- 
2.25.4



  reply	other threads:[~2021-02-19 22:00 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-19 21:58 [PATCH v5 0/4] GitLab Custom Runners and Jobs (was: QEMU Gating CI) Cleber Rosa
2021-02-19 21:58 ` Cleber Rosa [this message]
2021-02-23 11:18   ` [PATCH v5 1/4] Jobs based on custom runners: documentation and configuration placeholder Alex Bennée
2021-02-23 11:25   ` Thomas Huth
2021-02-23 16:37     ` Philippe Mathieu-Daudé
2021-02-23 16:47       ` Cleber Rosa
2021-02-23 17:24         ` Philippe Mathieu-Daudé
2021-02-23 17:34           ` Philippe Mathieu-Daudé
2021-02-23 18:09             ` Cleber Rosa
2021-02-24 11:57               ` Philippe Mathieu-Daudé
2021-02-24 15:47                 ` Cleber Rosa
2021-02-23 17:45         ` Daniel P. Berrangé
2021-02-23 21:34           ` Wainer dos Santos Moschetta
2021-02-19 21:58 ` [PATCH v5 2/4] Jobs based on custom runners: build environment docs and playbook Cleber Rosa
2021-02-22 19:36   ` Wainer dos Santos Moschetta
2021-02-23 14:01   ` Alex Bennée
2021-02-23 14:51     ` Erik Skultety
2021-02-23 15:17       ` Alex Bennée
2021-02-23 17:23         ` Cleber Rosa
2021-02-23 18:18           ` Alex Bennée
2021-02-23 17:13       ` Cleber Rosa
2021-02-23 15:01     ` Alex Bennée
2021-02-23 17:44       ` Cleber Rosa
2021-02-23 18:23         ` Alex Bennée
2021-02-23 19:47           ` Cleber Rosa
2021-02-23 17:08     ` Cleber Rosa
2021-02-23 18:16       ` Alex Bennée
2021-02-19 21:58 ` [PATCH v5 3/4] Jobs based on custom runners: docs and gitlab-runner setup playbook Cleber Rosa
2021-02-22  6:36   ` Erik Skultety
2021-02-22 20:35   ` Wainer dos Santos Moschetta
2021-02-23 13:52   ` Philippe Mathieu-Daudé
2021-02-23 13:55   ` Philippe Mathieu-Daudé
2021-02-23 14:14   ` Philippe Mathieu-Daudé
2021-02-23 15:15   ` Alex Bennée
2021-02-19 21:58 ` [PATCH v5 4/4] Jobs based on custom runners: add job definitions for QEMU's machines Cleber Rosa
2021-02-23 15:17   ` Philippe Mathieu-Daudé
2021-02-23 15:56     ` Daniel P. Berrangé
2021-02-23 16:41       ` Philippe Mathieu-Daudé
2021-02-23 18:25       ` Cleber Rosa
2021-02-24 12:00         ` Philippe Mathieu-Daudé
2021-02-24 15:54           ` Cleber Rosa
2021-02-23 18:21     ` Cleber Rosa
2021-02-23 15:27   ` Philippe Mathieu-Daudé
2021-02-23 15:35     ` Philippe Mathieu-Daudé
2021-02-23 15:45       ` Daniel P. Berrangé
2021-03-05 10:14 ` [PATCH v5 0/4] GitLab Custom Runners and Jobs (was: QEMU Gating CI) Philippe Mathieu-Daudé
2021-03-05 10:27   ` Philippe Mathieu-Daudé
2021-05-21 10:29 ` Alex Bennée

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=20210219215838.752547-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=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=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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.