From nobody Sat May 4 23:37:26 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1578412346; cv=none; d=zohomail.com; s=zohoarc; b=i16yYGpSrB87WkR/ylG7eACBztL6voruVVty8djG1pN8HlIqB7OnCyxkNiDBCBjgqosKzmxBpcQmopRLix56OjOrmZw3Cmsuy57O5J+Vm+c516SexUn6PTbv8jtfF6DDVF+/5weV19OTma2VmY2Wmx6H51/AjXHO+3s5t84f8p4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578412346; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=vqcC4iwRjZk2Pipwg+1qbHsQTWsG8okjQZj1OF4QkHE=; b=hGDidCPwvUv0fluYPVFVto771PRrs3KAMvN6xSLQwBYjAxWD5wdpY0zS9+4eTzqdQy+cRPT4b2BkbOP2UMXJwyM51veLuLIf3fW03tOXeAWA06X34WyIc1ll2lcO0hjS0xD7sIFw42sZEJYe7TQ8lqCmjsS27idSrk8iz1j1yd4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578412346469912.7341774942488; Tue, 7 Jan 2020 07:52:26 -0800 (PST) Received: from localhost ([::1]:51998 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ior9d-00010i-6p for importer@patchew.org; Tue, 07 Jan 2020 10:52:25 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:45252) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ioqq3-0002Vs-C9 for qemu-devel@nongnu.org; Tue, 07 Jan 2020 10:32:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ioqq2-0005Df-4I for qemu-devel@nongnu.org; Tue, 07 Jan 2020 10:32:11 -0500 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:52185 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ioqq2-0005DG-0M for qemu-devel@nongnu.org; Tue, 07 Jan 2020 10:32:10 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-74-zXzfzP3LMh-3Z6Lnxf4dtQ-1; Tue, 07 Jan 2020 10:32:04 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5CDAE8C6E0F; Tue, 7 Jan 2020 15:32:03 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-222.brq.redhat.com [10.40.204.222]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8A9D85D9CA; Tue, 7 Jan 2020 15:32:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1578411129; 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=vqcC4iwRjZk2Pipwg+1qbHsQTWsG8okjQZj1OF4QkHE=; b=jHoUntGIiYexnTC9KOETmwP0QiUZmWCQh6q78Wn5+DhlnvVNy+gtr9JpHwiQDVSD6EOXgM jbmPZGyiDhW3LfT48czka1R9cYJ7EFueKPr+ttmJtXn5+1JVD/Gc5+Mx+/OTg0i1RtYqgv bOk9l3KAnoG3BEc6JSe26hbkEAeKppQ= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Laszlo Ersek , qemu-devel@nongnu.org Subject: [PATCH v2 1/3] roms/edk2-funcs: Force softfloat ARM toolchain prefix on Debian Date: Tue, 7 Jan 2020 16:31:52 +0100 Message-Id: <20200107153154.21401-2-philmd@redhat.com> In-Reply-To: <20200107153154.21401-1-philmd@redhat.com> References: <20200107153154.21401-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-MC-Unique: zXzfzP3LMh-3Z6Lnxf4dtQ-1 X-Mimecast-Spam-Score: 0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 205.139.110.120 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: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth , =?UTF-8?q?Alex=20Benn=C3=A9e?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" The Debian (based) distributions currently provides 2 ARM toolchains, documented as [1]: * The ARM EABI (armel) port targets a range of older 32-bit ARM devices, particularly those used in NAS hardware and a variety of *plug computers. * The newer ARM hard-float (armhf) port supports newer, more powerful 32-bit devices using version 7 of the ARM architecture specification. For various reasons documented in [2], the EDK2 project suggests to use the softfloat toolchain (named 'armel' by Debian). Force the softfloat cross toolchain prefix on Debian distributions. [1] https://www.debian.org/ports/arm/#status [2] https://github.com/tianocore/edk2/commit/41203b9a Reviewed-by: Laszlo Ersek Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- v3: fixed s/float/soft/ typo (Laszlo) --- roms/edk2-funcs.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/roms/edk2-funcs.sh b/roms/edk2-funcs.sh index 3f4485b201..cd6e4f2c82 100644 --- a/roms/edk2-funcs.sh +++ b/roms/edk2-funcs.sh @@ -112,6 +112,9 @@ qemu_edk2_get_cross_prefix() ( [ "$gcc_arch" =3D=3D i686 ] && [ "$host_arch" =3D=3D x86_64 ] ); th= en # no cross-compiler needed : + elif ( [ -e /etc/debian_version ] && [ "$gcc_arch" =3D=3D arm ] ); then + # force soft-float cross-compiler on Debian + printf 'arm-linux-gnueabi-' else printf '%s-linux-gnu-\n' "$gcc_arch" fi --=20 2.21.1 From nobody Sat May 4 23:37:26 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1578411590; cv=none; d=zohomail.com; s=zohoarc; b=dVzk+SOGWKyp4wN0RmT3zUADSaguQvDbD+ZEZX76/uD6rX2O7noQScNyOkmIL8SZsWAUrgLTh9DpwNQMuVxcbtw9ra+SachBCYTz+f7v4KH5oZ2TN5yfTTgPxLh0YeJxYWEe+bhV6SgJ67RrxVDuYd3cAbaunrcnreHwtSApvj4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578411590; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=itpwT5ssKp52JJPRKQChouZQ6ijW/e+SfhdIw6KWiA4=; b=j2397pqhYEtqhS63fod8GfHIhgc53nUGb7qfqL1fkybjxBvFYQ8GbAaBcaMOOt8+/bWztWogwkcVDQMJsPXqOs3IQHxJU0jIPrgz93kfN8DcYHARiLuK9GT6EC5EwGz3XFVLuj5qWO0GNYQDY4elGPHUV6SiC1VrzyOlW45mZsY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578411590761546.516589438112; Tue, 7 Jan 2020 07:39:50 -0800 (PST) Received: from localhost ([::1]:51716 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ioqxR-0006VU-9H for importer@patchew.org; Tue, 07 Jan 2020 10:39:49 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:45301) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ioqq5-0002ZR-8T for qemu-devel@nongnu.org; Tue, 07 Jan 2020 10:32:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ioqq3-0005F9-JJ for qemu-devel@nongnu.org; Tue, 07 Jan 2020 10:32:13 -0500 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:38706 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ioqq3-0005Ek-Fc for qemu-devel@nongnu.org; Tue, 07 Jan 2020 10:32:11 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-261-LvrLLZRTMHqnvYPBxUuvFA-1; Tue, 07 Jan 2020 10:32:07 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 9F2118C6E14; Tue, 7 Jan 2020 15:32:05 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-222.brq.redhat.com [10.40.204.222]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D9D505D9CA; Tue, 7 Jan 2020 15:32:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1578411131; 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=itpwT5ssKp52JJPRKQChouZQ6ijW/e+SfhdIw6KWiA4=; b=EzyC1Wa1exVZCWt68lWxUiXXQKOY9w/z12HAIoBGTK8lZRei1J4j1aBdO/Q0TgIlF2I1BZ W+dQQPU1R5Ptl2NoOUojGBQG4Hrl/Fpzp2ilAf1JEYhttIR4iJtQtwggY+Yb1GM5MRvPuz BKhwxUhQ4jymM0Ilgi8C1+91NdDRjkw= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Laszlo Ersek , qemu-devel@nongnu.org Subject: [PATCH v2 2/3] gitlab-ci.yml: Add jobs to build the EDK2 firmware binaries Date: Tue, 7 Jan 2020 16:31:53 +0100 Message-Id: <20200107153154.21401-3-philmd@redhat.com> In-Reply-To: <20200107153154.21401-1-philmd@redhat.com> References: <20200107153154.21401-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-MC-Unique: LvrLLZRTMHqnvYPBxUuvFA-1 X-Mimecast-Spam-Score: 0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 207.211.31.81 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: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth , =?UTF-8?q?Alex=20Benn=C3=A9e?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Add two GitLab job to build the EDK2 firmware binaries. The first job build a Docker image with the packages requisite to build EDK2, and store this image in the GitLab registry. The second job pull the image from the registry and build the EDK2 firmware binaries. The docker image is only rebuilt if the GitLab YAML or the Dockerfile is updated. The second job is only built when the roms/edk2/ submodule is updated, when a git-ref starts with 'edk2' or when the last commit contains 'EDK2'. The files generated are archived in the artifacts.zip file. With edk2-stable201905, it took 2 minutes 52 seconds to build the docker image, and 36 minutes 28 seconds to generate the artifacts.zip with the firmware binaries (filesize: 10MiB). See: https://gitlab.com/philmd/qemu/pipelines/107553178 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Thomas Huth Reviewed-by: Laszlo Ersek --- v2: - Split job, build docker image first - addressed Laszlo comments but kept the git-submodule-update call --- .gitlab-ci-edk2.yml | 49 ++++++++++++++++++++++++++++++++++++ .gitlab-ci.d/edk2/Dockerfile | 27 ++++++++++++++++++++ .gitlab-ci.yml | 3 +++ MAINTAINERS | 4 ++- 4 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 .gitlab-ci-edk2.yml create mode 100644 .gitlab-ci.d/edk2/Dockerfile diff --git a/.gitlab-ci-edk2.yml b/.gitlab-ci-edk2.yml new file mode 100644 index 0000000000..088ba4b43a --- /dev/null +++ b/.gitlab-ci-edk2.yml @@ -0,0 +1,49 @@ +docker-edk2: + stage: build + rules: # Only run this job when the Dockerfile is modified + - changes: + - .gitlab-ci-edk2.yml + - .gitlab-ci.d/edk2/Dockerfile + when: always + image: docker:19.03.1 + services: + - docker:19.03.1-dind + variables: + GIT_DEPTH: 3 + IMAGE_TAG: $CI_REGISTRY_IMAGE:edk2-cross-build + # We don't use TLS + DOCKER_HOST: tcp://docker:2375 + DOCKER_TLS_CERTDIR: "" + before_script: + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + script: + - docker pull $IMAGE_TAG || true + - docker build --cache-from $IMAGE_TAG --tag $CI_REGISTRY_IMAGE:$CI_COMMI= T_SHA + --tag $IMAGE_TAG .gitlab-ci.d/edk2 + - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA + - docker push $IMAGE_TAG + +build-edk2: + rules: # Only run this job when ... + - changes: # ... roms/edk2/ is modified (submodule updated) + - roms/edk2/* + when: always + - if: '$CI_COMMIT_REF_NAME =3D~ /^edk2/' # or the branch/tag starts with = 'edk2' + when: always + - if: '$CI_COMMIT_MESSAGE =3D~ /edk2/i' # or last commit description cont= ains 'EDK2' + when: always + artifacts: + paths: # 'artifacts.zip' will contains the following files: + - pc-bios/edk2*bz2 + - pc-bios/edk2-licenses.txt + - edk2-stdout.log + - edk2-stderr.log + image: $CI_REGISTRY_IMAGE:edk2-cross-build + variables: + GIT_DEPTH: 3 + script: # Clone the required submodules and build EDK2 + - git submodule update --init roms/edk2 + - git -C roms/edk2 submodule update --init + - export JOBS=3D$(($(getconf _NPROCESSORS_ONLN) + 1)) + - echo "=3D=3D=3D Using ${JOBS} simultaneous jobs =3D=3D=3D" + - make -j${JOBS} -C roms efi 2>&1 1>edk2-stdout.log | tee -a edk2-stderr.= log >&2 diff --git a/.gitlab-ci.d/edk2/Dockerfile b/.gitlab-ci.d/edk2/Dockerfile new file mode 100644 index 0000000000..b4584d1cf6 --- /dev/null +++ b/.gitlab-ci.d/edk2/Dockerfile @@ -0,0 +1,27 @@ +# +# Docker image to cross-compile EDK2 firmware binaries +# +FROM ubuntu:16.04 + +MAINTAINER Philippe Mathieu-Daud=C3=A9 + +# Install packages required to build EDK2 +RUN apt update \ + && \ + \ + DEBIAN_FRONTEND=3Dnoninteractive \ + apt install --assume-yes --no-install-recommends \ + build-essential \ + ca-certificates \ + dos2unix \ + gcc-aarch64-linux-gnu \ + gcc-arm-linux-gnueabi \ + git \ + iasl \ + make \ + nasm \ + python \ + uuid-dev \ + && \ + \ + rm -rf /var/lib/apt/lists/* diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ebcef0ebe9..f799246047 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,3 +1,6 @@ +include: + - local: '/.gitlab-ci-edk2.yml' + before_script: - apt-get update -qq - apt-get install -y -qq flex bison libglib2.0-dev libpixman-1-dev geniso= image diff --git a/MAINTAINERS b/MAINTAINERS index cd2dc137a3..93620ed406 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2358,6 +2358,8 @@ F: roms/edk2 F: roms/edk2-* F: tests/data/uefi-boot-images/ F: tests/uefi-test-tools/ +F: .gitlab-ci-edk2.yml +F: .gitlab-ci.d/edk2/ =20 Usermode Emulation ------------------ @@ -2701,7 +2703,7 @@ W: https://cirrus-ci.com/github/qemu/qemu GitLab Continuous Integration M: Thomas Huth S: Maintained -F: .gitlab-ci.yml +F: .gitlab-ci*.yml =20 Guest Test Compilation Support M: Alex Benn=C3=A9e --=20 2.21.1 From nobody Sat May 4 23:37:26 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1578412448; cv=none; d=zohomail.com; s=zohoarc; b=PRfeucuzwOcVVDghAx49kZdwGiW1XFZASBB/PzZEZvIwIzSkHNRIgzKPP7iKGp4PzDJqW7iO3dniSTjI5Rtq3wNOGwSk7FkPPfuuX5i8cNr1qTCZMjZrKhWIRwLlx6uhX55D20xjFBRB4hj0hXKxK98imqG1NXEmO2WTylz69lo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578412448; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=j/c7sqHaYnfE1/rw6Ylzvk0Swj+SrRlKq+fOPflDkso=; b=MuyQHdQJlMzp63LXM14hYOmL5v3t2cocxmTjIMv8rOL68KM2HQrMhmfJ1uVceCeVSncTOzD5vnMsS3FnrCBJIlqefcZYI/oR7CLHxhS+sSOpzTJEsyGJv5Sk1BMex+mPwkNILg0ivhUkQKS9JDU8BevSXiVxMsF6/PR2JEfgV+A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1578412448848508.8226924112728; Tue, 7 Jan 2020 07:54:08 -0800 (PST) Received: from localhost ([::1]:52018 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iorBH-0004e5-FK for importer@patchew.org; Tue, 07 Jan 2020 10:54:07 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:45349) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ioqq6-0002cE-No for qemu-devel@nongnu.org; Tue, 07 Jan 2020 10:32:15 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ioqq5-0005HE-Ag for qemu-devel@nongnu.org; Tue, 07 Jan 2020 10:32:14 -0500 Received: from us-smtp-1.mimecast.com ([205.139.110.61]:42032 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ioqq5-0005Gj-6U for qemu-devel@nongnu.org; Tue, 07 Jan 2020 10:32:13 -0500 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-372-uYnGxzVvOaixxYXA18jX1A-1; Tue, 07 Jan 2020 10:32:09 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 3D68A1005502; Tue, 7 Jan 2020 15:32:08 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-222.brq.redhat.com [10.40.204.222]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2B9E15D9CA; Tue, 7 Jan 2020 15:32:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1578411132; 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=j/c7sqHaYnfE1/rw6Ylzvk0Swj+SrRlKq+fOPflDkso=; b=CcYPXjRWH6msHs/UdH+LQjRw4uFYE82xmU4rAUbNietI5G3WOpzvCvCwXxzNOtaOtiUZfN JEWyAV3E7tcIcNnHg5YKquD7g5R2PlHSkN7YDefSrCxmqRuQPY3CLzpyrZwg9HYySw/0JV 8IpTfHNFH0nuDmVHm53ZgnCAfqd4Bwg= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Laszlo Ersek , qemu-devel@nongnu.org Subject: [NOTFORMERGE PATCH v2 3/3] gitlab-ci-edk2.yml: Use ccache Date: Tue, 7 Jan 2020 16:31:54 +0100 Message-Id: <20200107153154.21401-4-philmd@redhat.com> In-Reply-To: <20200107153154.21401-1-philmd@redhat.com> References: <20200107153154.21401-1-philmd@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-MC-Unique: uYnGxzVvOaixxYXA18jX1A-1 X-Mimecast-Spam-Score: 0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 205.139.110.61 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: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Thomas Huth , =?UTF-8?q?Alex=20Benn=C3=A9e?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" By using ccache we reduce the job duration from 36 minutes 28 seconds: https://gitlab.com/philmd/qemu/-/jobs/395823729 to 29 minutes 15 seconds: https://gitlab.com/philmd/qemu/-/jobs/395840851 Running after script... $ ccache --show-stats cache hit (direct) 6604 files in cache 12090 cache size 335.5 MB For now downloading this cache takes 16 seconds, archiving it 44 seconds. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- We prefer to not use ccache to build the EDK2 firmware binaries, see: https://www.mail-archive.com/qemu-devel@nongnu.org/msg668616.html .gitlab-ci-edk2.yml | 13 +++++++++++-- .gitlab-ci.d/edk2/Dockerfile | 3 +++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci-edk2.yml b/.gitlab-ci-edk2.yml index 088ba4b43a..50b8aee6b7 100644 --- a/.gitlab-ci-edk2.yml +++ b/.gitlab-ci-edk2.yml @@ -10,7 +10,7 @@ docker-edk2: - docker:19.03.1-dind variables: GIT_DEPTH: 3 - IMAGE_TAG: $CI_REGISTRY_IMAGE:edk2-cross-build + IMAGE_TAG: $CI_REGISTRY_IMAGE:edk2-cross-build-ccache # We don't use TLS DOCKER_HOST: tcp://docker:2375 DOCKER_TLS_CERTDIR: "" @@ -38,12 +38,21 @@ build-edk2: - pc-bios/edk2-licenses.txt - edk2-stdout.log - edk2-stderr.log - image: $CI_REGISTRY_IMAGE:edk2-cross-build + image: $CI_REGISTRY_IMAGE:edk2-cross-build-ccache variables: GIT_DEPTH: 3 + CCACHE_DIR: ${CI_PROJECT_DIR}/.ccache + cache: # Use the same cache for all EDK2 jobs + key: edk2-cross-build-ccache + paths: + - ${CCACHE_DIR} + before_script: + - ccache --zero-stats script: # Clone the required submodules and build EDK2 - git submodule update --init roms/edk2 - git -C roms/edk2 submodule update --init - export JOBS=3D$(($(getconf _NPROCESSORS_ONLN) + 1)) - echo "=3D=3D=3D Using ${JOBS} simultaneous jobs =3D=3D=3D" - make -j${JOBS} -C roms efi 2>&1 1>edk2-stdout.log | tee -a edk2-stderr.= log >&2 + after_script: + - ccache --show-stats diff --git a/.gitlab-ci.d/edk2/Dockerfile b/.gitlab-ci.d/edk2/Dockerfile index b4584d1cf6..350b4df240 100644 --- a/.gitlab-ci.d/edk2/Dockerfile +++ b/.gitlab-ci.d/edk2/Dockerfile @@ -13,6 +13,7 @@ RUN apt update \ apt install --assume-yes --no-install-recommends \ build-essential \ ca-certificates \ + ccache \ dos2unix \ gcc-aarch64-linux-gnu \ gcc-arm-linux-gnueabi \ @@ -25,3 +26,5 @@ RUN apt update \ && \ \ rm -rf /var/lib/apt/lists/* + +ENV PATH /usr/lib/ccache:$PATH --=20 2.21.1