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=-15.1 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,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 4A9DFC4743D for ; Tue, 8 Jun 2021 18:28:40 +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 A2A57613B9 for ; Tue, 8 Jun 2021 18:28:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A2A57613B9 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]:33850 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lqgSs-0000p4-PL for qemu-devel@archiver.kernel.org; Tue, 08 Jun 2021 14:28:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59950) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lqgSE-000065-Ly for qemu-devel@nongnu.org; Tue, 08 Jun 2021 14:27:58 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:54642) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lqgSB-0001i3-01 for qemu-devel@nongnu.org; Tue, 08 Jun 2021 14:27:57 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1623176873; h=from:from:reply-to: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=oHfTrudMUoZAMzDCosQcmPzHw7RNFV/qI6fCAf5nlzQ=; b=B55qYVI6Y6m2NyqnmJTxATlP5KVuucInjur3nBdxYPGE4xAIRe/gNHM2tmJE97qobN7vHB Jd6n5/bYC/UMTj+5b59Qox48XtJFBWTeT+swCedG3DCio4Ijyd05KKyjxdl4W7gYdzJk8m 6IcBLDgphu+rkgp+zQn8mOqASa2Fr7U= Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-565-mOg6nLQPNUe8T3WCylHWMg-1; Tue, 08 Jun 2021 14:27:50 -0400 X-MC-Unique: mOg6nLQPNUe8T3WCylHWMg-1 Received: by mail-qk1-f197.google.com with SMTP id a193-20020a3766ca0000b02903a9be00d619so15636199qkc.12 for ; Tue, 08 Jun 2021 11:27:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:reply-to:subject:to:cc:references:from :message-id:date:user-agent:mime-version:in-reply-to :content-transfer-encoding:content-language; bh=oHfTrudMUoZAMzDCosQcmPzHw7RNFV/qI6fCAf5nlzQ=; b=VSY0gwNurHf/D+C6QJ02Y5YVJOvM1GXMiYSDQvjMFdKwnYsjrAF3rTM/pqSWz9Josl qztNaLn6Nexg9d+OT7PdkWlf3AlYInbfo2LhPen4VZW7irOgPw+iFYiDHp3J6yF6PB69 jU4IP/z1L0g4tK+1QQgoD9luKfCj2cRqCJ1wXoJNn/chJBLjdpcl0sVT/0etntrMokX+ zKozsGNV1iOZL6btR5Gjw67dXWhKYGn56Xjtf9cM5olwEQiOokdtzOwM4g6w3Saqan9j Jg9um25yih7bBUlVVo7XLlA35zj/5OXhCdZNAlKIN8wxa8Hx8XYjkTTHN5NBrHakpR+e ihHA== X-Gm-Message-State: AOAM530zjKQdwGFRYp9Hqkjz8jU0xgpOVNC3dXvnjT+/uuHxZIZAoZWE HBGEisD8b+nGrpkC20Md2kWKQ97BNUySndPihd+BdMBk/Txb+DvaOIgbycKHap+muIn7tX4wdu0 m2TKn5hOyqo/R/io= X-Received: by 2002:a37:b404:: with SMTP id d4mr11486301qkf.465.1623176870006; Tue, 08 Jun 2021 11:27:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzmyKrJfQYn2Gc66St94CGFGzYNJphCbMFwinrO9W3SZMZRMAH+MTLoFqsZ3+ceKEClzjzREg== X-Received: by 2002:a37:b404:: with SMTP id d4mr11486270qkf.465.1623176869714; Tue, 08 Jun 2021 11:27:49 -0700 (PDT) Received: from wainer-laptop.localdomain ([201.90.138.4]) by smtp.gmail.com with ESMTPSA id b19sm922320qtq.84.2021.06.08.11.27.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 08 Jun 2021 11:27:49 -0700 (PDT) Subject: Re: [PATCH v6 4/4] Jobs based on custom runners: add job definitions for QEMU's machines To: Cleber Rosa , =?UTF-8?Q?Alex_Benn=c3=a9e?= , Peter Maydell , qemu-devel@nongnu.org References: <20210608031425.833536-1-crosa@redhat.com> <20210608031425.833536-5-crosa@redhat.com> From: Wainer dos Santos Moschetta Message-ID: <3444dc10-a1a7-a5ff-71df-c3fab2b0aa7d@redhat.com> Date: Tue, 8 Jun 2021 15:27:42 -0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 MIME-Version: 1.0 In-Reply-To: <20210608031425.833536-5-crosa@redhat.com> Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=wainersm@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Received-SPF: pass client-ip=216.205.24.124; envelope-from=wainersm@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -29 X-Spam_score: -3.0 X-Spam_bar: --- X-Spam_report: (-3.0 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.197, 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: , Reply-To: wainersm@redhat.com Cc: Fam Zheng , Thomas Huth , =?UTF-8?Q?Daniel_P_=2e_Berrang=c3=a9?= , Eduardo Habkost , Erik Skultety , Stefan Hajnoczi , Andrea Bolognani , =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= , Willian Rampazzo , Willian Rampazzo , =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= , Beraldo Leal Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Hi, On 6/8/21 12:14 AM, Cleber Rosa wrote: > The QEMU project has two machines (aarch64 and s390x) that can be used > for jobs that do build and run tests. This introduces those jobs, > which are a mapping of custom scripts used for the same purpose. > > Signed-off-by: Cleber Rosa > --- > .gitlab-ci.d/custom-runners.yml | 208 ++++++++++++++++++++++++++++++++ > 1 file changed, 208 insertions(+) > > diff --git a/.gitlab-ci.d/custom-runners.yml b/.gitlab-ci.d/custom-runners.yml > index a07b27384c..061d3cdfed 100644 > --- a/.gitlab-ci.d/custom-runners.yml > +++ b/.gitlab-ci.d/custom-runners.yml > @@ -12,3 +12,211 @@ > # guarantees a fresh repository on each job run. > variables: > GIT_STRATEGY: clone > + > +# All ubuntu-18.04 jobs should run successfully in an environment > +# setup by the scripts/ci/setup/build-environment.yml task > +# "Install basic packages to build QEMU on Ubuntu 18.04/20.04" > +ubuntu-18.04-s390x-all-linux-static: > + allow_failure: true > + needs: [] > + stage: build > + tags: > + - ubuntu_18.04 > + - s390x > + rules: > + - if: '$CI_COMMIT_BRANCH =~ /^staging/' Should it restrict the job for pushes to qemu-project only? If yes, then it probably needs the statement: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ /^staging/' If you change that here, you will end it changing all over the jobs. In general, there are many boilerplates in this file. I'm ok to merge it as is as long as it is followed by another series to refactor the code. > + script: > + # --disable-libssh is needed because of https://bugs.launchpad.net/qemu/+bug/1838763 > + # --disable-glusterfs is needed because there's no static version of those libs in distro supplied packages > + - mkdir build > + - cd build > + - ../configure --enable-debug --static --disable-system --disable-glusterfs --disable-libssh > + - make --output-sync -j`nproc` > + - make --output-sync -j`nproc` check V=1 > + - make --output-sync -j`nproc` check-tcg V=1 > + > +ubuntu-18.04-s390x-all: > + allow_failure: true > + needs: [] > + stage: build > + tags: > + - ubuntu_18.04 > + - s390x > + rules: > + - if: '$CI_COMMIT_BRANCH =~ /^staging/' > + script: > + - mkdir build > + - cd build > + - ../configure --disable-libssh > + - make --output-sync -j`nproc` > + - make --output-sync -j`nproc` check V=1 > + > +ubuntu-18.04-s390x-alldbg: Maybe we don't need both ubuntu-18.04-s390x-all and ubuntu-18.04-s390x-alldbg jobs. > + allow_failure: true > + needs: [] > + stage: build > + tags: > + - ubuntu_18.04 > + - s390x > + rules: > + - if: '$CI_COMMIT_BRANCH =~ /^staging/' > + script: > + - mkdir build > + - cd build > + - ../configure --enable-debug --disable-libssh > + - make clean > + - make --output-sync -j`nproc` > + - make --output-sync -j`nproc` check V=1 > +ubuntu-18.04-s390x-clang: > + allow_failure: true > + needs: [] > + stage: build > + tags: > + - ubuntu_18.04 > + - s390x > + rules: > + - if: '$CI_COMMIT_BRANCH =~ /^staging/' > + when: manual > + script: > + - mkdir build > + - cd build > + - ../configure --disable-libssh --cc=clang --cxx=clang++ --enable-sanitizers > + - make --output-sync -j`nproc` > + - make --output-sync -j`nproc` check V=1 > + > +ubuntu-18.04-s390x-tci: > + allow_failure: true > + needs: [] > + stage: build > + tags: > + - ubuntu_18.04 > + - s390x > + rules: > + - if: '$CI_COMMIT_BRANCH =~ /^staging/' > + script: > + - mkdir build > + - cd build > + - ../configure --disable-libssh --enable-tcg-interpreter > + - make --output-sync -j`nproc` I think it needs to `make check-tcg` at least. See "build-tci" in `.gitlab-ci.d/buildtest.yml` for other tests being executed on shared runners. > + > +ubuntu-18.04-s390x-notcg: The "build-tcg-disabled" in `.gitlab-ci.d/buildtest.yml` could be mimic-ed here too. > + allow_failure: true > + needs: [] > + stage: build > + tags: > + - ubuntu_18.04 > + - s390x > + rules: > + - if: '$CI_COMMIT_BRANCH =~ /^staging/' > + when: manual > + script: > + - mkdir build > + - cd build > + - ../configure --disable-libssh --disable-tcg > + - make --output-sync -j`nproc` > + - make --output-sync -j`nproc` check V=1 > + > +# All ubuntu-20.04 jobs should run successfully in an environment > +# setup by the scripts/ci/setup/qemu/build-environment.yml task > +# "Install basic packages to build QEMU on Ubuntu 18.04/20.04" > +ubuntu-20.04-aarch64-all-linux-static: > + allow_failure: true > + needs: [] > + stage: build > + tags: > + - ubuntu_20.04 > + - aarch64 > + rules: > + - if: '$CI_COMMIT_BRANCH =~ /^staging/' > + script: > + # --disable-libssh is needed because of https://bugs.launchpad.net/qemu/+bug/1838763 > + # --disable-glusterfs is needed because there's no static version of those libs in distro supplied packages > + - mkdir build > + - cd build > + - ../configure --enable-debug --static --disable-system --disable-glusterfs --disable-libssh > + - make --output-sync -j`nproc` > + - make --output-sync -j`nproc` check V=1 > + - make --output-sync -j`nproc` check-tcg V=1 > + > +ubuntu-20.04-aarch64-all: > + allow_failure: true > + needs: [] > + stage: build > + tags: > + - ubuntu_20.04 > + - aarch64 > + rules: > + - if: '$CI_COMMIT_BRANCH =~ /^staging/' > + script: > + - mkdir build > + - cd build > + - ../configure --disable-libssh > + - make --output-sync -j`nproc` > + - make --output-sync -j`nproc` check V=1 > + > +ubuntu-20.04-aarch64-alldbg: > + allow_failure: true > + needs: [] > + stage: build > + tags: > + - ubuntu_20.04 > + - aarch64 > + rules: > + - if: '$CI_COMMIT_BRANCH =~ /^staging/' > + script: > + - mkdir build > + - cd build > + - ../configure --enable-debug --disable-libssh > + - make clean > + - make --output-sync -j`nproc` > + - make --output-sync -j`nproc` check V=1 > + > +ubuntu-20.04-aarch64-clang: > + allow_failure: true > + needs: [] > + stage: build > + tags: > + - ubuntu_20.04 > + - aarch64 > + rules: > + - if: '$CI_COMMIT_BRANCH =~ /^staging/' > + when: manual > + script: > + - mkdir build > + - cd build > + - ../configure --disable-libssh --cc=clang-10 --cxx=clang++-10 --enable-sanitizers > + - make --output-sync -j`nproc` > + - make --output-sync -j`nproc` check V=1 > + > +ubuntu-20.04-aarch64-tci: > + allow_failure: true > + needs: [] > + stage: build > + tags: > + - ubuntu_20.04 > + - aarch64 > + rules: > + - if: '$CI_COMMIT_BRANCH =~ /^staging/' > + script: > + - mkdir build > + - cd build > + - ../configure --disable-libssh --enable-tcg-interpreter > + - make --output-sync -j`nproc` > + > +ubuntu-20.04-aarch64-notcg: > + allow_failure: true > + needs: [] > + stage: build > + tags: > + - ubuntu_20.04 > + - aarch64 > + rules: > + - if: '$CI_COMMIT_BRANCH =~ /^staging/' > + when: manual > + script: > + - mkdir build > + - cd build > + - ../configure --disable-libssh --disable-tcg > + - make --output-sync -j`nproc` > + - make --output-sync -j`nproc` check V=1