[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v1 01/39] Jobs based on custom runners: documentation and configu
[PATCH v1 01/39] Jobs based on custom runners: documentation and configuration placeholder
Tue, 6 Jul 2021 15:57:39 +0100
From: Cleber Rosa <firstname.lastname@example.org>
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
Signed-off-by: Cleber Rosa <email@example.com>
Reviewed-by: Alex Bennée <firstname.lastname@example.org>
Reviewed-by: Thomas Huth <email@example.com>
Reviewed-by: Willian Rampazzo <firstname.lastname@example.org>
Reviewed-by: Wainer dos Santos Moschetta <email@example.com>
Signed-off-by: Alex Bennée <firstname.lastname@example.org>
docs/devel/ci.rst | 32 ++++++++++++++++++++++++++++++++
docs/devel/index.rst | 1 +
.gitlab-ci.d/custom-runners.yml | 14 ++++++++++++++
.gitlab-ci.d/qemu-project.yml | 1 +
4 files changed, 48 insertions(+)
create mode 100644 docs/devel/ci.rst
create mode 100644 .gitlab-ci.d/custom-runners.yml
diff --git a/docs/devel/ci.rst b/docs/devel/ci.rst
new file mode 100644
@@ -0,0 +1,32 @@
+QEMU has configurations enabled for a number of different CI services.
+The most up to date information about them and their status can be
+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::
+Custom runners entail custom machines. To see a list of the machines
+currently deployed in the QEMU GitLab CI and their maintainers, please
+refer to the QEMU `wiki <https://wiki.qemu.org/AdminContacts>`__.
diff --git a/docs/devel/index.rst b/docs/devel/index.rst
index 977c3893bd..da15273786 100644
@@ -27,6 +27,7 @@ Contents:
diff --git a/.gitlab-ci.d/custom-runners.yml b/.gitlab-ci.d/custom-runners.yml
new file mode 100644
@@ -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.
+ GIT_STRATEGY: clone
diff --git a/.gitlab-ci.d/qemu-project.yml b/.gitlab-ci.d/qemu-project.yml
index 64cb2ba1da..dde8270301 100644
@@ -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'
- [PATCH v1 00/39] final pre-PR for 6.1 (testing and plugins), Alex Bennée, 2021/07/06
- [PATCH v1 01/39] Jobs based on custom runners: documentation and configuration placeholder,
Alex Bennée <=
- [PATCH v1 03/39] Jobs based on custom runners: docs and gitlab-runner setup playbook, Alex Bennée, 2021/07/06
- [PATCH v1 06/39] build: validate that system capstone works before using it, Alex Bennée, 2021/07/06
- [PATCH v1 12/39] tests/docker: use explicit docker.io registry, Alex Bennée, 2021/07/06
- [PATCH v1 04/39] Jobs based on custom runners: add job definitions for QEMU's machines, Alex Bennée, 2021/07/06
- [PATCH v1 05/39] tests/tcg: generalise the disabling of the signals test, Alex Bennée, 2021/07/06
- [PATCH v1 09/39] hw/usb/ccid: remove references to NSS, Alex Bennée, 2021/07/06
- [PATCH v1 10/39] tests/docker: don't use BUILDKIT in GitLab either, Alex Bennée, 2021/07/06
- [PATCH v1 08/39] cirrus: delete FreeBSD and macOS jobs, Alex Bennée, 2021/07/06
- [PATCH v1 07/39] gitlab: support for FreeBSD 12, 13 and macOS 11 via cirrus-run, Alex Bennée, 2021/07/06