From patchwork Tue Jul 6 14:57:39 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 470450 Delivered-To: patch@linaro.org Received: by 2002:a02:c94a:0:0:0:0:0 with SMTP id u10csp5079610jao; Tue, 6 Jul 2021 07:59:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxB2LitvngxwPNwxksbJ578GSkwnZsYkUBxA3K80JnW78Tty9nB0+yM5x+8cw/5MLrYwJDM X-Received: by 2002:a67:f359:: with SMTP id p25mr15914854vsm.37.1625583552245; Tue, 06 Jul 2021 07:59:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625583552; cv=none; d=google.com; s=arc-20160816; b=kO0sLrx6BEPT00VY28pLGDYObs4x/y8zxnWiqGzEDKTELv2if26YNajc+b/3LzV5l4 LQ4C3cGUV6cRo1fJEw6iC8fOAlyXGk0mM9kjBG5ahfB78vvPLw+7lq05WGOUftngg13l AopsdsKXSJoNiSFFWP+540FFvuMPvFW6SJf0O4BwMBIxQkB87IxArtrkZX5WBHJHEaaS G3eLadJ5qtkqeoej7YJNPzdOFRg8ERqZODB8vN/1WGRWf7CV/10NPipOMMKttBaQHlAv gpl3m6KhrMvTX7Ekkv6GzE33we9+t96MMyfx8LaPYMl318z1VtmlNrfy3OdAWvFpbwln hFTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=M+Bmwitpli/El3tfQx09X6m1DsmvT8z7wFQh9OyOsVo=; b=Wp8VHrIzKDLD4C9mllHoLtJb7MYUdWL16JWQiiIZT3XFDsOQmwgzbs5Z8JbKe6ZpQQ 0Lw9goXOkMGSmtsNpbPKlBdtbsG5807c6akBoedWxX3fATQ2LQE4K58Ta65fT61L54VM BGUToVb+fPDWRMBeFC2+n4RsimugBYNZzHF8tSbMWR/V9egwb6n10c5yQ3NTLT6lC5RC pz/C9dYcSF5OxSr/n6SL67eAV0Zl9fv4TM6fsOzR7l7vs+u/0wAA3Rt6RznQUfHRN7jA o5z6WK63tvPhXQoAXGye8999e0/puxDyg5JtXuRkxzHW8GRwlR7w8x26or6c/awe3m3Y sdwQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=EahyWPQa; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id o14si15104547uaa.21.2021.07.06.07.59.12 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 06 Jul 2021 07:59:12 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=EahyWPQa; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:48672 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m0mXX-0004eH-IN for patch@linaro.org; Tue, 06 Jul 2021 10:59:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33080) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m0mWm-0004ax-ER for qemu-devel@nongnu.org; Tue, 06 Jul 2021 10:58:26 -0400 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:40504) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1m0mWj-00020V-Fa for qemu-devel@nongnu.org; Tue, 06 Jul 2021 10:58:24 -0400 Received: by mail-wr1-x431.google.com with SMTP id l5so9675344wrv.7 for ; Tue, 06 Jul 2021 07:58:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=M+Bmwitpli/El3tfQx09X6m1DsmvT8z7wFQh9OyOsVo=; b=EahyWPQaxFBQLQS7c8MPMmpKDxz0MD7WM6y77XNIzI72zUJ9GxyM9HHEFPb8fYhB3E NXlzTG3Rljw532z9dxla73wx6ZIXQGCBb+SVZHNL4vTO/c3Az3TkVnkWFuRU/RCtLZ/r aB6tMkOn6GIIYyp8dz7qymmIo053sK16fc6OCIuJSg6hZimdIBbnL541yTTisIku+DZE DHLIZtMlIpf3ZzSKYVrkvtnY7QveWN2C/rZgRUymFwTmy7AFAznxdHs2jaHsXXXAl32n aMhlOV5JQ9gRzA7rY7WnTxKqPw73pYKgm13v+HNnQ3vG3TlupsYo4RDb8/n4KF1rczGF ewOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=M+Bmwitpli/El3tfQx09X6m1DsmvT8z7wFQh9OyOsVo=; b=E3J8pAVh/56xJMyhnIDCUVSv+dFTsdp9AD2ZcjfwIebJUtENFPgrBQfHSUBeuxGPM2 WYdls9s9prfQ4FdO84sNYlIgv/6CzdRz6j1ixMgNE3pp58KKfGzOwd2x6mVqIdIxn9lB Pp9+idtapDUB4zOUijR3iAr1l9EnFfwwbeLg2Dzmtd7whjZAivvqDi5kGLWu8BsD6zu/ 0D4VcIS5hiNe/bP9coErBe3THQlqRTPJw+MXkhI6gi0NKqEWAzcDDlEEK0OQn+MqSiq5 jDkLqvyaY2zy5wtAZlS6NQPEaB49WRpFkNGvRoADsEZ195iY60fFd3WDwT8C/ovshfL+ 9Rng== X-Gm-Message-State: AOAM533oEIRs/MzLps54zT24LapVtgtU1x9O8bRBjX6lo7Bl43QRTTL+ os2MyFIO38bSuXctAujw3hsrjg== X-Received: by 2002:adf:ef8b:: with SMTP id d11mr22299838wro.346.1625583499950; Tue, 06 Jul 2021 07:58:19 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id n16sm1008224wrr.73.2021.07.06.07.58.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Jul 2021 07:58:18 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id D3BD61FF87; Tue, 6 Jul 2021 15:58:17 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v1 01/39] Jobs based on custom runners: documentation and configuration placeholder Date: Tue, 6 Jul 2021 15:57:39 +0100 Message-Id: <20210706145817.24109-2-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210706145817.24109-1-alex.bennee@linaro.org> References: <20210706145817.24109-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x431.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: fam@euphon.net, Thomas Huth , berrange@redhat.com, f4bug@amsat.org, Wainer dos Santos Moschetta , Willian Rampazzo , stefanha@redhat.com, crosa@redhat.com, pbonzini@redhat.com, =?utf-8?q?Alex_Benn=C3=A9e?= , aurelien@aurel32.net Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Cleber Rosa 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 Reviewed-by: Alex Bennée Reviewed-by: Thomas Huth Reviewed-by: Willian Rampazzo Reviewed-by: Wainer dos Santos Moschetta Message-Id: <20210630012619.115262-2-crosa@redhat.com> Signed-off-by: Alex Bennée --- 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 -- 2.20.1 diff --git a/docs/devel/ci.rst b/docs/devel/ci.rst new file mode 100644 index 0000000000..064ffa9988 --- /dev/null +++ b/docs/devel/ci.rst @@ -0,0 +1,32 @@ +== +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 + +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 `__. diff --git a/docs/devel/index.rst b/docs/devel/index.rst index 977c3893bd..da15273786 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 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'