From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-20.1 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CFF8DC433DB for ; Tue, 23 Feb 2021 17:26:17 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3F87764E83 for ; Tue, 23 Feb 2021 17:26:17 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3F87764E83 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:43066 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lEbRw-0004Nh-Aw for qemu-devel@archiver.kernel.org; Tue, 23 Feb 2021 12:26:16 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51320) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lEbQT-0003C9-AY for qemu-devel@nongnu.org; Tue, 23 Feb 2021 12:24:45 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:38894) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1lEbQQ-0005kt-Fx for qemu-devel@nongnu.org; Tue, 23 Feb 2021 12:24:44 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1614101081; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=oSOa4yqHWuf3AluJ5fqSh7F/Gv4DI3VE3eD5WtBG4QY=; b=COLuPjEKd24eC1QdtCikddOdfx4IgOwRJyfSdfos83Mf4dt3EsbF8XjWg6urlZ4SJAxpEk oFESHHagwE8qkTEVshqAtN9dOuagp4jT/gzadCBiZLf+NzkMMFDMTww0458s4Zt8Ekr9yQ wpM/9Bj0/TWPVVI+887XJUKIoi03AqI= Received: from mail-ed1-f71.google.com (mail-ed1-f71.google.com [209.85.208.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-30-jJ1S7_GAP4eRhn4n5YjC1A-1; Tue, 23 Feb 2021 12:24:39 -0500 X-MC-Unique: jJ1S7_GAP4eRhn4n5YjC1A-1 Received: by mail-ed1-f71.google.com with SMTP id u2so8988770edj.20 for ; Tue, 23 Feb 2021 09:24:38 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=oSOa4yqHWuf3AluJ5fqSh7F/Gv4DI3VE3eD5WtBG4QY=; b=rcUzNofIQ9aY/SkndlMWV3nfKQZu8goG7tNiW0OlMZjsRB6d/dAs4DhQyHHvHKYmKj f4lFRhEUggR9gB0sU+Wk3v2r1vBaQngA/SJRNmyeZUq50aK0nJWoqmne7IZYmU1RDswL +GmH4+CyvoZ9Gt6ZkOA+dYqcf/YBm7wbjjXbVfvkRlno5qlC/z/7J1ZApQzWmtqdi+gJ iP3dLwElBmm4PZrMpCNyC7jZ1GpUnN0RQ60uzXpS4sMXeUPG1qOexFGy4b9uYZdIsbJ3 hednTA/E/V8v42YT17cffAQPKELWX3wVeKdOuI+V9KUXqwBp7baH8hzMJSabplBtOtGi jxVw== X-Gm-Message-State: AOAM530T+R2Wgl19A6/P9dPb7haP3GLIjjwQvBMlT6racudcvmQAxHvb ozDqJ+YI+nAfaE14x3q9b2Qd7SyBX9DCJDcH/RnrWhKGeNpHj+ZTX/o00CnNCUi2+frXm4hTrbr aKk4VBN/OI6DWLik= X-Received: by 2002:aa7:dd07:: with SMTP id i7mr24147775edv.191.1614101077722; Tue, 23 Feb 2021 09:24:37 -0800 (PST) X-Google-Smtp-Source: ABdhPJznz2ss/9PdbauoLv+RBu1k1APVHQs+JDncl357Y9wh+rcDbhKwn1r4FNEeb+Kh8Vp3jxIuZQ== X-Received: by 2002:aa7:dd07:: with SMTP id i7mr24147747edv.191.1614101077473; Tue, 23 Feb 2021 09:24:37 -0800 (PST) Received: from [192.168.1.36] (68.red-83-57-175.dynamicip.rima-tde.net. [83.57.175.68]) by smtp.gmail.com with ESMTPSA id w8sm14815194edd.39.2021.02.23.09.24.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 23 Feb 2021 09:24:36 -0800 (PST) Subject: Re: [PATCH v5 1/4] Jobs based on custom runners: documentation and configuration placeholder To: Cleber Rosa , =?UTF-8?Q?Daniel_P=2e_Berrang=c3=a9?= References: <20210219215838.752547-1-crosa@redhat.com> <20210219215838.752547-2-crosa@redhat.com> <3f0a3854-425d-27e7-d466-f6f4db4dd9aa@redhat.com> <20210223164718.GA987581@amachine.somewhere> From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= Message-ID: <8de62a35-7e66-b182-a182-4d021b713b5a@redhat.com> Date: Tue, 23 Feb 2021 18:24:34 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 MIME-Version: 1.0 In-Reply-To: <20210223164718.GA987581@amachine.somewhere> Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=philmd@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=WINDOWS-1252 Content-Language: en-US Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=170.10.133.124; envelope-from=philmd@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, 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 Zheng , Peter Maydell , Thomas Huth , Eduardo Habkost , Erik Skultety , Stefan Hajnoczi , qemu-devel@nongnu.org, Wainer dos Santos Moschetta , Andrea Bolognani , Willian Rampazzo , =?UTF-8?Q?Alex_Benn=c3=a9e?= , Beraldo Leal Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" 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 >>>> --- >>>>   .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' >> Synchronizing submodule url for 'roms/ipxe' >> Synchronizing submodule url for 'roms/openbios' >> Synchronizing submodule url for 'roms/opensbi' >> Synchronizing submodule url for 'roms/qboot' >> Synchronizing submodule url for 'roms/qemu-palcode' >> Synchronizing submodule url for 'roms/seabios' >> Synchronizing submodule url for 'roms/seabios-hppa' >> Synchronizing submodule url for 'roms/sgabios' >> Synchronizing submodule url for 'roms/skiboot' >> Synchronizing submodule url for 'roms/u-boot' >> Synchronizing submodule url for 'roms/u-boot-sam460ex' >> Synchronizing submodule url for 'roms/vbootrom' >> Synchronizing submodule url for 'slirp' >> Synchronizing submodule url for 'tests/fp/berkeley-softfloat-3' >> Synchronizing submodule url for 'tests/fp/berkeley-testfloat-3' >> Synchronizing submodule url for 'ui/keycodemapdb' >> Entering 'capstone' >> Entering 'dtc' >> Entering 'meson' >> Entering 'roms/QemuMacDrivers' >> Entering 'roms/SLOF' >> Entering 'roms/edk2' >> Entering 'roms/edk2/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3' >> Entering 'roms/edk2/BaseTools/Source/C/BrotliCompress/brotli' >> Entering 'roms/edk2/BaseTools/Source/C/BrotliCompress/brotli/research/esaxx' >> Entering >> 'roms/edk2/BaseTools/Source/C/BrotliCompress/brotli/research/libdivsufsort' >> Entering 'roms/edk2/CryptoPkg/Library/OpensslLib/openssl' >> Entering 'roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli' >> Entering 'roms/edk2/MdeModulePkg/Universal/RegularExpressionDxe/oniguruma' >> Entering 'roms/edk2/UnitTestFrameworkPkg/Library/CmockaLib/cmocka' >> Entering 'roms/ipxe' >> Entering 'roms/openbios' >> Entering 'roms/opensbi' >> Entering 'roms/qboot' >> Entering 'roms/qemu-palcode' >> Entering 'roms/seabios' >> Entering 'roms/seabios-hppa' >> Entering 'roms/sgabios' >> Entering 'roms/skiboot' >> Entering 'roms/u-boot' >> Entering 'roms/u-boot-sam460ex' >> Entering 'roms/vbootrom' >> Entering 'slirp' >> Entering 'tests/fp/berkeley-softfloat-3' >> Entering 'tests/fp/berkeley-testfloat-3' >> Entering 'ui/keycodemapdb' >> Entering 'capstone' >> HEAD is now at f8b1b833 fix CS_ mips_ OP structure comment error (#1674) >> Entering 'dtc' >> HEAD is now at 85e5d83 Makefile: when building libfdt only, do not add >> unneeded deps >> Entering 'meson' >> HEAD is now at 776acd2a8 Bump versions to 0.55.3 for release >> Entering 'roms/QemuMacDrivers' >> HEAD is now at 90c488d Merge pull request #3 from >> mcayland/fix/unbreak-256-color-mode >> Entering 'roms/SLOF' >> HEAD is now at e18ddad version: update to 20200717 >> Entering 'roms/edk2' >> HEAD is now at 06dc822d04 Revert ".pytool/EccCheck: Disable Ecc error >> code 10014 for open CI" >> Entering 'roms/edk2/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3' >> HEAD is now at b64af41 Fix typo in function >> 'softfloat_propagateNaNF128M' for RISC-V. >> Entering 'roms/edk2/BaseTools/Source/C/BrotliCompress/brotli' >> HEAD is now at 666c328 Make types of variable match (#796) >> Entering 'roms/edk2/BaseTools/Source/C/BrotliCompress/brotli/research/esaxx' >> HEAD is now at ca7cb33 move to git >> Entering >> 'roms/edk2/BaseTools/Source/C/BrotliCompress/brotli/research/libdivsufsort' >> HEAD is now at 5f60d6f Merge pull request #7 from kloetzl/master >> Entering 'roms/edk2/CryptoPkg/Library/OpensslLib/openssl' >> Entering 'roms/edk2/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli' >> HEAD is now at 63be8a9 unichr was removed in Python 3 because all str >> are Unicode (#877) >> Entering 'roms/edk2/MdeModulePkg/Universal/RegularExpressionDxe/oniguruma' >> HEAD is now at b2c1da6 add ONIG_OPTION_CALLBACK_EACH_MATCH test >> Entering 'roms/edk2/UnitTestFrameworkPkg/Library/CmockaLib/cmocka' >> HEAD is now at 160dffe Don't use non-literal format strings >> Entering 'roms/ipxe' >> HEAD is now at 4bd064de [build] Fix building on older versions of gcc >> Entering 'roms/openbios' >> HEAD is now at 7f28286 PPC: mark first 4 pages of physical and virtual >> memory as unavailable >> Entering 'roms/opensbi' >> HEAD is now at a98258d include: Bump-up version to 0.8 >> Entering 'roms/qboot' >> HEAD is now at a5300c4 qboot: Disable PIE for ELF binary build step >> Entering 'roms/qemu-palcode' >> HEAD is now at bf0e136 Report machine checks to the kernel >> Entering 'roms/seabios' >> HEAD is now at 155821a docs: Note v1.14.0 release >> Entering 'roms/seabios-hppa' >> HEAD is now at 73b740f7 parisc: Set text planes and used_bits in STI fields >> Entering 'roms/sgabios' >> HEAD is now at cbaee52 SGABIOS: fix wrong video attrs for int 10h, ah==13h >> Entering 'roms/skiboot' >> HEAD is now at 3a6fdede skiboot v6.4 release notes >> Entering 'roms/u-boot' >> HEAD is now at d3689267f9 Prepare v2019.01 >> Entering 'roms/u-boot-sam460ex' >> HEAD is now at 60b3916 Add README to clarify relation to U-Boot and >> ACube's version >> Entering 'roms/vbootrom' >> HEAD is now at 0c37a43 Merge pull request #1 from google/disable-build-id >> Entering 'slirp' >> HEAD is now at 8f43a99 Merge branch 'stable-4.2' into 'stable-4.2' >> Entering 'tests/fp/berkeley-softfloat-3' >> HEAD is now at b64af41 Fix typo in function >> 'softfloat_propagateNaNF128M' for RISC-V. >> Entering 'tests/fp/berkeley-testfloat-3' >> HEAD is now at 5a59dce fail: constify fail_programName >> Entering 'ui/keycodemapdb' >> HEAD is now at 6119e6e Fix scan codes for Korean keys >> fatal: Needed a single revision >> Unable to find current revision in submodule path >> 'roms/edk2/CryptoPkg/Library/OpensslLib/openssl' >> Failed to recurse into submodule path 'roms/edk2' >> ERROR: Job failed: exit status 1 >> > > Yes, I've also found similar issues during my jobs. The problem with GIT_SUBMODULE_STRATEGY is it tries to clone submodules from submodules (here EDK2) which QEMU doesn't use: Submodule 'boringssl' (https://boringssl.googlesource.com/boringssl) registered for path 'roms/edk2/CryptoPkg/Library/OpensslLib/openssl/boringssl' Submodule 'krb5' (https://github.com/krb5/krb5) registered for path 'roms/edk2/CryptoPkg/Library/OpensslLib/openssl/krb5' Submodule 'pyca.cryptography' (https://github.com/pyca/cryptography.git) registered for path 'roms/edk2/CryptoPkg/Library/OpensslLib/openssl/pyca-cryptography' Cloning into '/var/lib/gitlab-runner/builds/shWMsY1a/0/philmd/qemu/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/boringssl'... fatal: unable to access 'https://boringssl.googlesource.com/boringssl/': Failed to connect to boringssl.googlesource.com port 443: Connection timed out fatal: clone of 'https://boringssl.googlesource.com/boringssl' into submodule path '/var/lib/gitlab-runner/builds/shWMsY1a/0/philmd/qemu/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/boringssl' failed Failed to clone 'boringssl'. Retry scheduled I don't think we want to clone the unused boringssl on QEMU namespace.