qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: "Cleber Rosa" <crosa@redhat.com>,
	"Daniel P. Berrangé" <berrange@redhat.com>
Cc: "Fam Zheng" <fam@euphon.net>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Thomas Huth" <thuth@redhat.com>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"Erik Skultety" <eskultet@redhat.com>,
	"Stefan Hajnoczi" <stefanha@gmail.com>,
	qemu-devel@nongnu.org,
	"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
	"Andrea Bolognani" <abologna@redhat.com>,
	"Willian Rampazzo" <wrampazz@redhat.com>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"Beraldo Leal" <bleal@redhat.com>
Subject: Re: [PATCH v5 1/4] Jobs based on custom runners: documentation and configuration placeholder
Date: Tue, 23 Feb 2021 18:34:07 +0100	[thread overview]
Message-ID: <bf8a9dd0-c20f-7bef-ae65-2c3c1e10da68@redhat.com> (raw)
In-Reply-To: <8de62a35-7e66-b182-a182-4d021b713b5a@redhat.com>

On 2/23/21 6:24 PM, Philippe Mathieu-Daudé wrote:
> On 2/23/21 5:47 PM, Cleber Rosa wrote:
>> On Tue, Feb 23, 2021 at 05:37:04PM +0100, Philippe Mathieu-Daudé wrote:
>>> On 2/23/21 12:25 PM, Thomas Huth wrote:
>>>> On 19/02/2021 22.58, Cleber Rosa wrote:
>>>>> 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
>>>>
>>>> Is it really necessary? I thought our configure script would take care
>>>> of the submodules?
>>>
>>
>> I've done a lot of testing on bare metal systems, and the problems
>> that come from reusing the same system and failed cleanups can be very
>> frustrating.  It's unfortunate that we need this, but it was the
>> simplest and most reliable solution I found.  :/
>>
>> Having said that, I noticed after I posted this series that this is
>> affecting all other jobs.  We don't need it that in the jobs based
>> on containers (for obvious reasons), so I see two options:
>>
>> 1) have it enabled on all jobs for consistency
>>
>> 2) have it enabled only on jobs that will reuse the repo
>>
>>> Well, if there is a failure during the first clone (I got one network
>>> timeout in the middle) 
> 
> [This network failure is pasted at the end]
> 
>>> then next time it doesn't work:
>>>
>>> Updating/initializing submodules recursively...
>>> Synchronizing submodule url for 'capstone'
>>> Synchronizing submodule url for 'dtc'
>>> Synchronizing submodule url for 'meson'
>>> Synchronizing submodule url for 'roms/QemuMacDrivers'
>>> Synchronizing submodule url for 'roms/SLOF'
>>> Synchronizing submodule url for 'roms/edk2'
>>> Synchronizing submodule url for
>>> 'roms/edk2/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3'
>>> Synchronizing submodule url for
>>> 'roms/edk2/BaseTools/Source/C/BrotliCompress/brotli'
>>> Synchronizing submodule url for
>>> 'roms/edk2/BaseTools/Source/C/BrotliCompress/brotli/research/esaxx'
>>> Synchronizing submodule url for
>>> 'roms/edk2/BaseTools/Source/C/BrotliCompress/brotli/research/libdivsufsort'
>>> Synchronizing submodule url for
>>> 'roms/edk2/CryptoPkg/Library/OpensslLib/openssl'
>>> Synchronizing submodule url for
>>> 'roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli'
>>> Synchronizing submodule url for
>>> 'roms/edk2/MdeModulePkg/Universal/RegularExpressionDxe/oniguruma'
>>> Synchronizing submodule url for
>>> 'roms/edk2/UnitTestFrameworkPkg/Library/CmockaLib/cmocka'

So far, beside the repository useful for QEMU, I cloned:

- boringssl
- krb5
- pyca-cryptography
- esaxx
- libdivsufsort
- oniguruma
- openssl
- brotli
- cmocka

But reach the runner time limit of 2h.

The directory reports 3GB of source code.

I don't think the series has been tested enough before posting,
I'm stopping here my experiments.

Regards,

Phil.



  reply	other threads:[~2021-02-23 17:35 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 ` [PATCH v5 1/4] Jobs based on custom runners: documentation and configuration placeholder Cleber Rosa
2021-02-23 11:18   ` 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é [this message]
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=bf8a9dd0-c20f-7bef-ae65-2c3c1e10da68@redhat.com \
    --to=philmd@redhat.com \
    --cc=abologna@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=berrange@redhat.com \
    --cc=bleal@redhat.com \
    --cc=crosa@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=eskultet@redhat.com \
    --cc=fam@euphon.net \
    --cc=peter.maydell@linaro.org \
    --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 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).