From nobody Fri Apr 26 18:45:55 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+83804+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+83804+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=arm.com ARC-Seal: i=1; a=rsa-sha256; t=1637157956; cv=none; d=zohomail.com; s=zohoarc; b=f5J3renZoSzR8bERDJfmVpeOY2/gr+9fsjsMEpjn97SBBCxxO+4vIHX3Vf0SHwVm0PZVJIspv1SEfelnfkX209wLuGdmZ1VE25wrQ31/upjEVGqJS3go3/EOWjaMz4ddgk7NaW3Ih5As8nc4BmsFVcPRjKHpBcTf/O50kp5RmVg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1637157956; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=YajxDLo3KcqyYv2wWBAqael1rIT196Mv8mqLunL7LHk=; b=BDO+f5x1+Y/lwZOywKIZ49X0KIlTfOe1+uCpFXU2bpKQ0CFO/fdkPdoi2UwSxRm9eonuvACYMLI2SDrk7UgEj+eMbVS2mRNUxv18O7xs0hIQjr9hjnGNGiWcigioEGwvgglcHWTFZ3AgDsidclM8xYYKcz8BE6LUg/SjmigSvys= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+83804+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1637157956757488.574653806558; Wed, 17 Nov 2021 06:05:56 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id OWztYY1788612xovsvzD2duG; Wed, 17 Nov 2021 06:05:56 -0800 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web11.7414.1637157955530298234 for ; Wed, 17 Nov 2021 06:05:55 -0800 X-Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 72414ED1; Wed, 17 Nov 2021 06:05:54 -0800 (PST) X-Received: from e120189.home (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 9414A3F70D; Wed, 17 Nov 2021 06:05:52 -0800 (PST) From: "PierreGondois" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Leif Lindholm , Sean Brogan , Bret Barkelew , Michael D Kinney , Liming Gao , Sami Mujawar Subject: [edk2-devel] [PATCH edk2-platforms v6 1/6] pip-requirements.txt: Add python pip requirements file Date: Wed, 17 Nov 2021 14:05:23 +0000 Message-Id: <20211117140528.13600-2-Pierre.Gondois@arm.com> In-Reply-To: <20211117140528.13600-1-Pierre.Gondois@arm.com> References: <20211117140528.13600-1-Pierre.Gondois@arm.com> Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pierre.gondois@arm.com X-Gm-Message-State: MtuPHst5lICgj6FAwFrqGKBAx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1637157956; bh=soIgac58bsa+RiYcPSZxKvpPfpCno8tLJ3iErAHsCt4=; h=Cc:Date:From:Reply-To:Subject:To; b=VDy/dYTmIxM3SrQz1gj0zLiDcanG0Tl1O8aA+M0XJntGBU/0afURqzUHaYtyaoB9Sws SQlz1kr4IX+A5qzhLPuLshJhqYm0fiyR63Sb62I+AmHuTZlwJQqg31svKI675gk3ECBdr Gmg3CyCEHtLrYhzl6VuOcg896B34ooIRKFI= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1637157994196100003 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Pierre Gondois To enable CI support of the tianocore/edk2-platforms repository, add pip requirements file to install the python modules required to perform EDK II Continuous Integration (CI) builds. This file is a copy of the file from the tianocore/edk2 repository. Any modification to the tianocore/edk2 file must be reflected on the tianocore/edk2-platforms copy. Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3509 Cc: Ard Biesheuvel Cc: Leif Lindholm Cc: Sean Brogan Cc: Bret Barkelew Cc: Michael D Kinney Cc: Liming Gao Cc: Sami Mujawar Co-authored-by: Sami Mujawar Signed-off-by: Pierre Gondois --- pip-requirements.txt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 pip-requirements.txt diff --git a/pip-requirements.txt b/pip-requirements.txt new file mode 100644 index 000000000000..aea2e6ece431 --- /dev/null +++ b/pip-requirements.txt @@ -0,0 +1,18 @@ +## @file +# EDK II Python PIP requirements file +# +# This file provides the list of python components to install using PIP. +# +# Copyright (c) Microsoft Corporation. +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +# https://pypi.org/project/pip/ +# https://pip.pypa.io/en/stable/user_guide/#requirements-files +# https://pip.pypa.io/en/stable/reference/pip_install/#requirements-file-f= ormat +# https://www.python.org/dev/peps/pep-0440/#version-specifiers +## + +edk2-pytool-library=3D=3D0.10.* +edk2-pytool-extensions~=3D0.13.3 +edk2-basetools=3D=3D0.1.2 +antlr4-python3-runtime=3D=3D4.7.1 --=20 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#83804): https://edk2.groups.io/g/devel/message/83804 Mute This Topic: https://groups.io/mt/87119748/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Apr 26 18:45:55 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+83805+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+83805+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=arm.com ARC-Seal: i=1; a=rsa-sha256; t=1637157958; cv=none; d=zohomail.com; s=zohoarc; b=XPSjVCzbpU+vNHjcocQQY4OM3x/eHYMRVkz3dki8mdw7ZF3+aLZjsMI3Cgo3E9AyKiPsMF5QyhGQwsiq0TY1+qkzCWPIZ6GDvB9iLbYkgGMUMDTmrVYxT6pFKm0fvTAIc1DCIv5vzIPK6jPDtM+EtIoxGEnQDIL7jyMvZN3Ddew= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1637157958; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=+jQ/w7FQJP4ptVi3iex08tqD3ArJkIFo1t1wJ4RpMrY=; b=MhjjiO58x6nI5gMWK7gYLJKkwCB0PcZUaz9vhDQYYNlZcFku6Qe1hRXHzgQzcVQHjuBKButnTL1mR9EoCXGlufDCLJJHDlPwUxei5yCmRNWpbVvvgsqjAbb0VJ5H6cfBDJkssWAk5MXXowI54LUDntY/X2M2MH499U09zZWkWo4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+83805+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1637157958691895.5465403333301; Wed, 17 Nov 2021 06:05:58 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id o6UUYY1788612xJN3hIXiQt5; Wed, 17 Nov 2021 06:05:58 -0800 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web10.7340.1637157957220027298 for ; Wed, 17 Nov 2021 06:05:57 -0800 X-Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E2760106F; Wed, 17 Nov 2021 06:05:56 -0800 (PST) X-Received: from e120189.home (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id D30683F70D; Wed, 17 Nov 2021 06:05:54 -0800 (PST) From: "PierreGondois" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Leif Lindholm , Sean Brogan , Bret Barkelew , Michael D Kinney , Liming Gao , Sami Mujawar Subject: [edk2-devel] [PATCH edk2-platforms v6 2/6] CI: Add Tianocore edk2 as an external dependency Date: Wed, 17 Nov 2021 14:05:24 +0000 Message-Id: <20211117140528.13600-3-Pierre.Gondois@arm.com> In-Reply-To: <20211117140528.13600-1-Pierre.Gondois@arm.com> References: <20211117140528.13600-1-Pierre.Gondois@arm.com> Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pierre.gondois@arm.com X-Gm-Message-State: YINwpi5oZRP5SUja98fBM71Kx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1637157958; bh=NlcJ3H6MhC9wXrleQP/8CrQMuSB8cJx8/4ULfkxIqyE=; h=Cc:Date:From:Reply-To:Subject:To; b=nI2iiyvQrO2kQ+gjJkRfM81g/Ogb9KzyUCnFSY7A5BsshbudQke9iYtn9KHSb3kXM18 2iDFcyENGzQYUB40CkzgSVxNg02SaIgRTGp7ZrUoqk/uRIuruaMOTcgTG0/I8mjcLqEZa hJTfM6vmEMxCm3b27ecanvfy4CpGcVU/JSY= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1637157996686100009 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Pierre Gondois CI plugins (.pytool/Plugin/) and BaseTools are located in the Tianocore edk2 repository. To re-use them, add the edk2 repository as an external dependency. Once the pip-requirements installed, the stuart_* set of commands will download the required dependencies to locally run the CI. The edk2 repository and its dependencies will be downloaded. It is not currently possible to specify a branch name in the "version" field. Thus, a fixed commit hash (current edk2 master) is written. It will eventually be replaced by 'master'. Ref:https://bugzilla.tianocore.org/show_bug.cgi?id=3D3509 Cc: Ard Biesheuvel Cc: Leif Lindholm Cc: Sean Brogan Cc: Bret Barkelew Cc: Michael D Kinney Cc: Liming Gao Cc: Sami Mujawar Signed-off-by: Pierre Gondois --- edk2_ext_dep.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 edk2_ext_dep.yaml diff --git a/edk2_ext_dep.yaml b/edk2_ext_dep.yaml new file mode 100644 index 000000000000..8a3d681bcc9e --- /dev/null +++ b/edk2_ext_dep.yaml @@ -0,0 +1,15 @@ +## @file +# Download Tianocore edk2 +# +# Copyright (c) 2021, Arm Limited. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent +## +{ + "scope": "edk2-repo", + "type": "git", + "name": "edk2", + "source": "https://github.com/tianocore/edk2", + "version": "e1e7306b54147e65cb7347b060e94f336d4a82d2", + "internal_path": "/edk2/", + "flags": [] +} \ No newline at end of file --=20 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#83805): https://edk2.groups.io/g/devel/message/83805 Mute This Topic: https://groups.io/mt/87119749/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Apr 26 18:45:55 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+83806+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+83806+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=arm.com ARC-Seal: i=1; a=rsa-sha256; t=1637157961; cv=none; d=zohomail.com; s=zohoarc; b=XI0EA4JrXuNdqTXD4qMITNHUJPrzyPaw9zhmCfg8eeBq+n2HY63mJkg78Zk0Xhs11ycWZGxmUi+9r5MN569MIHumi/OCwVnZeXmRvD3HVoZuO5PW1895Tu3I/VrcqPNgB4AyoZCVy95Po+WOzhGZUWWutl35Ww2P7vodFSCk6Y0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1637157961; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=gie0TQg7MC9sQX4qv+vkYas7nAq4PJijj00mMKsmR6g=; b=aLAiUfUS9DFEMh0+U96AmR1V3O/P0i0HN05ki6PBCdFnvOwe6cfi7gpf/TT5Jytqwy7PONlU5VOSHHVvn1/yXnFLHqHg4/D0d3dZju4IOUbcqeXctcBRxMt+tolQq2wA3e7yzD6bjNCo5TDFiMP4NCk/5nVsoHzFkoWw5Hs4ymk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+83806+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1637157961467860.6952579498783; Wed, 17 Nov 2021 06:06:01 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id v0ueYY1788612x7LCtgGKHg4; Wed, 17 Nov 2021 06:06:01 -0800 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web11.7416.1637157959595416531 for ; Wed, 17 Nov 2021 06:05:59 -0800 X-Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4473C11B3; Wed, 17 Nov 2021 06:05:59 -0800 (PST) X-Received: from e120189.home (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 4D88E3F70D; Wed, 17 Nov 2021 06:05:57 -0800 (PST) From: "PierreGondois" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Leif Lindholm , Sean Brogan , Bret Barkelew , Michael D Kinney , Liming Gao , Sami Mujawar Subject: [edk2-devel] [PATCH edk2-platforms v6 3/6] .pytool/Plugin: Add CI plugins Date: Wed, 17 Nov 2021 14:05:25 +0000 Message-Id: <20211117140528.13600-4-Pierre.Gondois@arm.com> In-Reply-To: <20211117140528.13600-1-Pierre.Gondois@arm.com> References: <20211117140528.13600-1-Pierre.Gondois@arm.com> Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pierre.gondois@arm.com X-Gm-Message-State: OoPPIEojqRdMfQplBFL2t9jex1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1637157961; bh=ptoThf8ucWFxKz11dj/ph8TB6bDp6IJwX89FytcDPhE=; h=Cc:Date:From:Reply-To:Subject:To; b=Qd9qZY/e206h2isfRjZ9UgFWoRVvwksXy6eq/1WcmIenxM0FhYNxXAgwAj/0jg7whE/ RT+tHcowEymWNnDhwYew9TTXbA/95ZJ9trXYY6X4ZBWhgG6oltiTA3V3QsULuT2cWLyXa UfUSq84pG+E8H61XudfWmUsaGBRpC8vlPOc= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1637157997266100013 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Pierre Gondois To enable CI support of the tianocore/edk2-platforms repository, add a .pytool directory containing the following files: - .pytool/CISettings.py - .pytool/Readme.md These files are largely inspired from the same files available in the edk2 repository. The .pytool/Plugin/* files containing the CI tests to run are not copied. edk2-platforms will rely on the edk2basetools python package and on the edk2 python files, as edk2 is imported as a submodule of edk2-platforms. Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3509 Cc: Ard Biesheuvel Cc: Leif Lindholm Cc: Sean Brogan Cc: Bret Barkelew Cc: Michael D Kinney Cc: Liming Gao Cc: Sami Mujawar Co-authored-by: Sami Mujawar Signed-off-by: Pierre Gondois --- .pytool/CISettings.py | 186 ++++++++++++++++++++++++++++++++++++++++++ .pytool/Readme.md | 30 +++++++ 2 files changed, 216 insertions(+) create mode 100644 .pytool/CISettings.py create mode 100644 .pytool/Readme.md diff --git a/.pytool/CISettings.py b/.pytool/CISettings.py new file mode 100644 index 000000000000..6435c60a4bc5 --- /dev/null +++ b/.pytool/CISettings.py @@ -0,0 +1,186 @@ +# @file +# +# Copyright (c) Microsoft Corporation. +# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All right= s reserved.
+# Copyright (c) 2020 - 2021, ARM Limited. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent +## +import os +import logging +import edk2basetools + +from edk2toolext.environment import shell_environment +from edk2toolext.invocables.edk2_ci_build import CiBuildSettingsManager +from edk2toolext.invocables.edk2_setup import SetupSettingsManager, Requir= edSubmodule +from edk2toolext.invocables.edk2_update import UpdateSettingsManager +from edk2toolext.invocables.edk2_pr_eval import PrEvalSettingsManager +from edk2toollib.utility_functions import GetHostInfo + + +class Settings(CiBuildSettingsManager, UpdateSettingsManager, SetupSetting= sManager, PrEvalSettingsManager): + + def __init__(self): + self.ActualPackages =3D [] + self.ActualTargets =3D [] + self.ActualArchitectures =3D [] + self.ActualToolChainTag =3D "" + self.ActualScopes =3D None + + # ####################################################################= ################### # + # Extra CmdLine configuration = # + # ####################################################################= ################### # + + def AddCommandLineOptions(self, parserObj): + pass + def RetrieveCommandLineOptions(self, args): + pass + + # ####################################################################= ################### # + # Default Support for this Ci Build = # + # ####################################################################= ################### # + + def GetPackagesSupported(self): + ''' return iterable of edk2-platforms packages supported by this b= uild. + These should be edk2-platforms workspace relative paths ''' + return ( + "JunoPkg", + "VExpressPkg" + ) + + def GetArchitecturesSupported(self): + ''' return iterable of edk2-platforms architectures supported by t= his build ''' + return ( + "IA32", + "X64", + "ARM", + "AARCH64", + "RISCV64") + + def GetTargetsSupported(self): + ''' return iterable of edk2-platforms target tags supported by thi= s build ''' + return ("DEBUG", "RELEASE", "NO-TARGET", "NOOPT") + + # ####################################################################= ################### # + # Verify and Save requested Ci Build Config = # + # ####################################################################= ################### # + + def SetPackages(self, list_of_requested_packages): + ''' Confirm the requested package list is valid and configure Sett= ingsManager + to build the requested packages. + + Raise UnsupportedException if a requested_package is not supported + ''' + unsupported =3D set(list_of_requested_packages) - \ + set(self.GetPackagesSupported()) + if(len(unsupported) > 0): + logging.critical( + "Unsupported Package Requested: " + " ".join(unsupported)) + raise Exception("Unsupported Package Requested: " + + " ".join(unsupported)) + self.ActualPackages =3D list_of_requested_packages + + def SetArchitectures(self, list_of_requested_architectures): + ''' Confirm the requests architecture list is valid and configure = SettingsManager + to run only the requested architectures. + + Raise Exception if a list_of_requested_architectures is not suppor= ted + ''' + unsupported =3D set(list_of_requested_architectures) - \ + set(self.GetArchitecturesSupported()) + if(len(unsupported) > 0): + logging.critical( + "Unsupported Architecture Requested: " + " ".join(unsuppor= ted)) + raise Exception( + "Unsupported Architecture Requested: " + " ".join(unsuppor= ted)) + self.ActualArchitectures =3D list_of_requested_architectures + + def SetTargets(self, list_of_requested_target): + ''' Confirm the request target list is valid and configure Setting= sManager + to run only the requested targets. + + Raise UnsupportedException if a requested_target is not supported + ''' + unsupported =3D set(list_of_requested_target) - \ + set(self.GetTargetsSupported()) + if(len(unsupported) > 0): + logging.critical( + "Unsupported Targets Requested: " + " ".join(unsupported)) + raise Exception("Unsupported Targets Requested: " + + " ".join(unsupported)) + self.ActualTargets =3D list_of_requested_target + + # ####################################################################= ################### # + # Actual Configuration for Ci Build = # + # ####################################################################= ################### # + + def GetActiveScopes(self): + ''' return tuple containing scopes that should be active for this = process ''' + if self.ActualScopes is None: + scopes =3D ("cibuild", "edk2-build", "host-based-test") + + self.ActualToolChainTag =3D shell_environment.GetBuildVars().G= etValue("TOOL_CHAIN_TAG", "") + + is_linux =3D GetHostInfo().os.upper() =3D=3D "LINUX" + scopes +=3D ('pipbuild-unix',) if is_linux else ('pipbuild-win= ',) + + if is_linux and self.ActualToolChainTag.upper().startswith("GC= C"): + if "AARCH64" in self.ActualArchitectures: + scopes +=3D ("gcc_aarch64_linux",) + if "ARM" in self.ActualArchitectures: + scopes +=3D ("gcc_arm_linux",) + if "RISCV64" in self.ActualArchitectures: + scopes +=3D ("gcc_riscv64_unknown",) + + # If EDK2_REPO is not provided, download it. + if not shell_environment.GetBuildVars().GetValue("EDK2_REPO", = ""): + scopes +=3D ("edk2-repo",) + + self.ActualScopes =3D scopes + return self.ActualScopes + + def GetRequiredSubmodules(self): + ''' return iterable containing RequiredSubmodule objects. + If no RequiredSubmodules return an empty iterable + ''' + rs =3D [] + rs.append(RequiredSubmodule( + "Silicon/RISC-V/ProcessorPkg/Library/RiscVOpensbiLib/opensbi",= False)) + return rs + + def GetName(self): + return "Edk2-platforms" + + def GetDependencies(self): + return [ + ] + + def GetPackagesPath(self): + ''' Return a list of workspace relative paths that should be mappe= d as edk2-platforms PackagesPath ''' + packages =3D [] + + edk2_repo =3D shell_environment.GetBuildVars().GetValue("EDK2_REPO= ", "") + if not edk2_repo: + edk2_repo =3D os.path.join("edk2_extdep", "edk2") + packages.append(edk2_repo) + + packages.append(os.path.join("Platform", "ARM")) + return packages + + def GetWorkspaceRoot(self): + ''' get WorkspacePath ''' + return os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + + def FilterPackagesToTest(self, changedFilesList: list, potentialPackag= esList: list) -> list: + ''' Filter potential packages to test based on changed files. ''' + build_these_packages =3D [] + possible_packages =3D potentialPackagesList.copy() + for f in changedFilesList: + # split each part of path for comparison later + nodes =3D f.split("/") + + # python file change in .pytool folder causes building all + if f.endswith(".py") and ".pytool" in nodes: + build_these_packages =3D possible_packages + break + + return build_these_packages diff --git a/.pytool/Readme.md b/.pytool/Readme.md new file mode 100644 index 000000000000..b084ff642b2f --- /dev/null +++ b/.pytool/Readme.md @@ -0,0 +1,30 @@ +# Edk2-platforms Continuous Integration + +## Basic Status + +| Package | Windows VS2019 (IA32/X64)| Ubuntu GCC (IA= 32/X64/ARM/AARCH64) | Known Issues | +| :---- | :----- | :---- = | :--- | +| Platfrom/ARM/JunoPkg | | :heavy_check_m= ark: | Spell checking in audit mode. CompilerCheck disabled = (need a PlatformCI). + +For more detailed status look at the test results of the latest CI run on = the +repo readme. + +## edk2 dependency + +It is possible that the edk2-platforms repository relies on new modificati= ons +in the edk2 repository. The edk2-platforms CI fetches the edk2 repository +via the edk2_ext_dep.yaml. The edk2 repository is hence treated as an exte= rnal +dependency. +To use a custom edk2 repository: +- Place it inside the edk2-platforms folder +- Run the stuart_[update|build] commands with EDK2_REPO pointing to your + custom edk2 repository. +E.g.: +stuart_update -c .pytool/CISettings.py EDK2_REPO=3D./my_edk2_repo` +stuart_ci_build -c .pytool/CISettings.py EDK2_REPO=3D./my_edk2_repo` + +## Readme + +As the content of the .pytool folder has been imported from the tianocore = repository at: +https://github.com/tianocore/edk2 +Please use the Readme.md that can be found there. --=20 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#83806): https://edk2.groups.io/g/devel/message/83806 Mute This Topic: https://groups.io/mt/87119753/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Apr 26 18:45:55 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+83807+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+83807+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=arm.com ARC-Seal: i=1; a=rsa-sha256; t=1637157963; cv=none; d=zohomail.com; s=zohoarc; b=RLHzQxKMNGC9aPldpQXYak9sZ3vQccltxCRyESnERuafDFtl3jEqu/OuuZ3XE45PuR1HA4cb4XaJJMNxLk5NXM2HJVjxJQz2Flw9T2NBTm1As/QPfqmdBcFzBsbos0Qq2ATJACaCrU4YgdSOGpfIG51nmDfku/R35OLHTXVoIuw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1637157963; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=p5moFzIHixPtIwql9jzjEzAUFjVunggtcY31mDqaAYs=; b=Chy53Zb4OF1klzpK/1hps8+qnxUk/5ABxVFZvB6mhAm2E++2xW+KEJNVAPJhgS3n+WfYs5QDDbXyRepRahIIBcY14bIMZUpXdW/AKOCZ5/8BnxxcHtTjTzBRu8TywFMCDMpPU7XMXcS8kgejD/ltzvoEjEeD10qpw9roGPc1Uck= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+83807+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1637157963152939.1359963377696; Wed, 17 Nov 2021 06:06:03 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id U2NWYY1788612xGXg7WvSeNv; Wed, 17 Nov 2021 06:06:02 -0800 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web12.7372.1637157961959153732 for ; Wed, 17 Nov 2021 06:06:02 -0800 X-Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9B0F41396; Wed, 17 Nov 2021 06:06:01 -0800 (PST) X-Received: from e120189.home (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id A3FB53F70D; Wed, 17 Nov 2021 06:05:59 -0800 (PST) From: "PierreGondois" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Leif Lindholm , Sean Brogan , Bret Barkelew , Michael D Kinney , Liming Gao , Sami Mujawar Subject: [edk2-devel] [PATCH edk2-platforms v6 4/6] .azurepipelines: Add Azure Pipelines YML configuration files Date: Wed, 17 Nov 2021 14:05:26 +0000 Message-Id: <20211117140528.13600-5-Pierre.Gondois@arm.com> In-Reply-To: <20211117140528.13600-1-Pierre.Gondois@arm.com> References: <20211117140528.13600-1-Pierre.Gondois@arm.com> Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pierre.gondois@arm.com X-Gm-Message-State: r578X09xx2Yb8rrQxMgbdDy2x1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1637157962; bh=4mvF0ijvUlQ4chMBGgdDhNB20QesgOrwNT2Ld4onBAY=; h=Cc:Date:From:Reply-To:Subject:To; b=PpGZO5hCVS3zzEf66XC9/gVmCaJRbG+ie+Vdoo7V/XJbjHvmYxd4HhH9le55UvMNCJQ l+NKApPVS6w6y1QsYIzQpAoteSytWzNUDIReDl/yWBl+yjVYv+6nJYsI8OHDvkcqTOXj/ 7Xb2WdJgPK2MeFDsZAa0UATqcEKkYaWlovs= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1637157999244100017 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Pierre Gondois To enable CI support of the tianocore/edk2-platforms repository, add YML configuration files used to run Continuous Integration (CI) checks on Azure Pipelines agents. These files are copies of the files from the tianocore/edk2 repository. Any modification to the tianocore/edk2 files must be reflected on the tianocore/edk2-platforms copies. The following files have been modified: - .azurepipelines/templates/platform-build-run-steps.yml - .azurepipelines/templates/pr-gate-build-job.yml - .azurepipelines/templates/pr-gate-steps.yml The sections modified are marked with the following comments: -EDK2_PLATFORMS_MODIF_START -EDK2_PLATFORMS_MODIF_END Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3509 Cc: Ard Biesheuvel Cc: Leif Lindholm Cc: Sean Brogan Cc: Bret Barkelew Cc: Michael D Kinney Cc: Liming Gao Cc: Sami Mujawar Co-authored-by: Sami Mujawar Signed-off-by: Pierre Gondois --- .azurepipelines/ReadMe.md | 5 + .azurepipelines/Ubuntu-GCC5.yml | 21 +++ .azurepipelines/Ubuntu-PatchCheck.yml | 55 +++++++ .azurepipelines/Windows-VS2019.yml | 20 +++ .azurepipelines/templates/ReadMe.md | 5 + .../templates/pr-gate-build-job.yml | 43 ++++++ .azurepipelines/templates/pr-gate-steps.yml | 142 ++++++++++++++++++ .../templates/spell-check-prereq-steps.yml | 22 +++ 8 files changed, 313 insertions(+) create mode 100644 .azurepipelines/ReadMe.md create mode 100644 .azurepipelines/Ubuntu-GCC5.yml create mode 100644 .azurepipelines/Ubuntu-PatchCheck.yml create mode 100644 .azurepipelines/Windows-VS2019.yml create mode 100644 .azurepipelines/templates/ReadMe.md create mode 100644 .azurepipelines/templates/pr-gate-build-job.yml create mode 100644 .azurepipelines/templates/pr-gate-steps.yml create mode 100644 .azurepipelines/templates/spell-check-prereq-steps.yml diff --git a/.azurepipelines/ReadMe.md b/.azurepipelines/ReadMe.md new file mode 100644 index 000000000000..de69a4ca220d --- /dev/null +++ b/.azurepipelines/ReadMe.md @@ -0,0 +1,5 @@ +EDK2_PLATFORMS_MODIF_START +As the content of this folder has been imported from the tianocore reposit= ory at: +https://github.com/tianocore/edk2 +Please use the Readme.md that can be found there. +EDK2_PLATFORMS_MODIF_END diff --git a/.azurepipelines/Ubuntu-GCC5.yml b/.azurepipelines/Ubuntu-GCC5.= yml new file mode 100644 index 000000000000..3760c6efe105 --- /dev/null +++ b/.azurepipelines/Ubuntu-GCC5.yml @@ -0,0 +1,21 @@ +## @file +# Azure Pipeline build file for a build using ubuntu and GCC5 +# +# Copyright (c) Microsoft Corporation. +# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All right= s reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent +## +trigger: +- master +- stable/* +pr: +- master +- stable/* + +jobs: +- template: templates/pr-gate-build-job.yml + parameters: + tool_chain_tag: 'GCC5' + vm_image: 'ubuntu-latest' + arch_list: "IA32,X64,ARM,AARCH64,RISCV64" + diff --git a/.azurepipelines/Ubuntu-PatchCheck.yml b/.azurepipelines/Ubuntu= -PatchCheck.yml new file mode 100644 index 000000000000..f15c224dcbca --- /dev/null +++ b/.azurepipelines/Ubuntu-PatchCheck.yml @@ -0,0 +1,55 @@ +## @file +# Azure Pipielines YML file that evalues the patch series in a PR using the +# python script BaseTools/Scripts/PatchCheck.py. +# +# NOTE: This example monitors pull requests against the edk2-ci branch. M= ost +# environments would replace 'edk2-ci' with 'master'. +# +# Copyright (c) 2021, Arm Limited. All rights reserved.
+# Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent +# +# https://github.com/tianocore +# +## + +trigger: none + +pr: +- master +- stable/* + +pool: + vmImage: 'ubuntu-latest' + +steps: +- checkout: self + clean: true + +- task: UsePythonVersion@0 + inputs: + versionSpec: '3.7.x' + architecture: 'x64' + +# EDK2_PLATFORMS_MODIF_START: +# Get dependencies. PatchCheck.py is in edk2, which is downloaded by stuar= t_update. +- script: pip install -r pip-requirements.txt --upgrade + displayName: 'Install/Upgrade pip modules' + +- task: CmdLine@1 + displayName: Setup + inputs: + filename: stuart_setup + arguments: -c .pytool/CISettings.py + +- task: CmdLine@1 + displayName: Update + inputs: + filename: stuart_update + arguments: -c .pytool/CISettings.py + +- script: | + git fetch origin $(System.PullRequest.TargetBranch):$(System.PullReque= st.TargetBranch) + python edk2_extdep/edk2/BaseTools/Scripts/PatchCheck.py $(System.PullR= equest.TargetBranch)..$(System.PullRequest.SourceCommitId) + displayName: 'Use PatchCheck.py to verify patch series in pull request' +# EDK2_PLATFORMS_MODIF_END diff --git a/.azurepipelines/Windows-VS2019.yml b/.azurepipelines/Windows-V= S2019.yml new file mode 100644 index 000000000000..22f2d88c2c6a --- /dev/null +++ b/.azurepipelines/Windows-VS2019.yml @@ -0,0 +1,20 @@ +## @file +# Azure Pipeline build file for a build using Windows and VS2019 +# +# Copyright (c) Microsoft Corporation. +# SPDX-License-Identifier: BSD-2-Clause-Patent +## +trigger: +- master +- stable/* + +pr: +- master +- stable/* + +jobs: +- template: templates/pr-gate-build-job.yml + parameters: + tool_chain_tag: 'VS2019' + vm_image: 'windows-latest' + arch_list: "IA32,X64" diff --git a/.azurepipelines/templates/ReadMe.md b/.azurepipelines/template= s/ReadMe.md new file mode 100644 index 000000000000..de69a4ca220d --- /dev/null +++ b/.azurepipelines/templates/ReadMe.md @@ -0,0 +1,5 @@ +EDK2_PLATFORMS_MODIF_START +As the content of this folder has been imported from the tianocore reposit= ory at: +https://github.com/tianocore/edk2 +Please use the Readme.md that can be found there. +EDK2_PLATFORMS_MODIF_END diff --git a/.azurepipelines/templates/pr-gate-build-job.yml b/.azurepipeli= nes/templates/pr-gate-build-job.yml new file mode 100644 index 000000000000..9bb8e2819793 --- /dev/null +++ b/.azurepipelines/templates/pr-gate-build-job.yml @@ -0,0 +1,43 @@ +## @file +# File templates/pr-gate-build-job.yml +# +# template file used to build supported packages. +# +# Copyright (c) Microsoft Corporation. +# Copyright (c) 2020 - 2021, ARM Limited. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent +## + +parameters: + tool_chain_tag: '' + vm_image: '' + arch_list: '' + +# Build step +jobs: + +- job: Build_${{ parameters.tool_chain_tag }} + +# EDK2_PLATFORMS_MODIF_START: +# Build edk2-platforms packages + #Use matrix to speed up the build process + strategy: + matrix: + TARGET_ARM_PLATFORMS: + Build.Pkgs: 'JunoPkg' + Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT' +# EDK2_PLATFORMS_MODIF_END + + workspace: + clean: all + + pool: + vmImage: ${{ parameters.vm_image }} + + steps: + - template: pr-gate-steps.yml + parameters: + tool_chain_tag: ${{ parameters.tool_chain_tag }} + build_pkgs: $(Build.Pkgs) + build_targets: $(Build.Targets) + build_archs: ${{ parameters.arch_list }} diff --git a/.azurepipelines/templates/pr-gate-steps.yml b/.azurepipelines/= templates/pr-gate-steps.yml new file mode 100644 index 000000000000..0a8a0e1e09a3 --- /dev/null +++ b/.azurepipelines/templates/pr-gate-steps.yml @@ -0,0 +1,142 @@ +## @file +# File templates/pr-gate-steps.yml +# +# template file containing the steps to build +# +# Copyright (c) 2021, Arm Limited. All rights reserved.
+# Copyright (c) Microsoft Corporation. +# SPDX-License-Identifier: BSD-2-Clause-Patent +## + +parameters: + tool_chain_tag: '' + build_pkgs: '' + build_targets: '' + build_archs: '' + +steps: +- checkout: self + clean: true + fetchDepth: 1 + +- task: UsePythonVersion@0 + inputs: + versionSpec: '3.8.x' + architecture: 'x64' + +- script: pip install -r pip-requirements.txt --upgrade + displayName: 'Install/Upgrade pip modules' + +# Set default +- bash: | + echo "##vso[task.setvariable variable=3Dpkgs_to_build]${{ parameters.b= uild_pkgs }}" + echo "##vso[task.setvariable variable=3Dpkg_count]${{ 1 }}" + +# Fetch the target branch so that pr_eval can diff them. +# Seems like azure pipelines/github changed checkout process in nov 2020. +- script: git fetch origin $(System.PullRequest.targetBranch) + displayName: fetch target branch + condition: eq(variables['Build.Reason'], 'PullRequest') + +# trim the package list if this is a PR +- task: CmdLine@1 + displayName: Check if ${{ parameters.build_pkgs }} need testing + inputs: + filename: stuart_pr_eval + arguments: -c .pytool/CISettings.py -p ${{ parameters.build_pkgs }} --= pr-target origin/$(System.PullRequest.targetBranch) --output-csv-format-str= ing "##vso[task.setvariable variable=3Dpkgs_to_build;isOutpout=3Dtrue]{pkgc= sv}" --output-count-format-string "##vso[task.setvariable variable=3Dpkg_co= unt;isOutpout=3Dtrue]{pkgcount}" + condition: eq(variables['Build.Reason'], 'PullRequest') + +# install spell check prereqs +- template: spell-check-prereq-steps.yml + +# Build repo +- task: CmdLine@1 + displayName: Setup ${{ parameters.build_pkgs }} ${{ parameters.build_arc= hs}} + inputs: + filename: stuart_setup + arguments: -c .pytool/CISettings.py -p $(pkgs_to_build) -t ${{ paramet= ers.build_targets}} -a ${{ parameters.build_archs}} TOOL_CHAIN_TAG=3D${{ pa= rameters.tool_chain_tag}} + condition: and(gt(variables.pkg_count, 0), succeeded()) + +- task: CmdLine@1 + displayName: Update ${{ parameters.build_pkgs }} ${{ parameters.build_ar= chs}} + inputs: + filename: stuart_update + arguments: -c .pytool/CISettings.py -p $(pkgs_to_build) -t ${{ paramet= ers.build_targets}} -a ${{ parameters.build_archs}} TOOL_CHAIN_TAG=3D${{ pa= rameters.tool_chain_tag}} + condition: and(gt(variables.pkg_count, 0), succeeded()) + +# build basetools +# do this after setup and update so that code base dependencies +# are all resolved. +# EDK2_PLATFORMS_MODIF_START: +# The base tools are imported in .pytool/CISettings.py via the 'edk2baseto= ols' python module. +# - template: basetools-build-steps.yml +# parameters: +# tool_chain_tag: ${{ parameters.tool_chain_tag }} +# EDK2_PLATFORMS_MODIF_END + +- task: CmdLine@1 + displayName: Build and Test ${{ parameters.build_pkgs }} ${{ parameters.= build_archs}} + inputs: + filename: stuart_ci_build + arguments: -c .pytool/CISettings.py -p $(pkgs_to_build) -t ${{ paramet= ers.build_targets}} -a ${{ parameters.build_archs}} TOOL_CHAIN_TAG=3D${{ pa= rameters.tool_chain_tag}} + condition: and(gt(variables.pkg_count, 0), succeeded()) + +# Publish Test Results to Azure Pipelines/TFS +- task: PublishTestResults@2 + displayName: 'Publish junit test results' + continueOnError: true + condition: and( succeededOrFailed(),gt(variables.pkg_count, 0)) + inputs: + testResultsFormat: 'JUnit' # Options: JUnit, NUnit, VSTest, xUnit + testResultsFiles: 'Build/TestSuites.xml' + #searchFolder: '$(System.DefaultWorkingDirectory)' # Optional + mergeTestResults: true # Optional + testRunTitle: $(System.JobName) # Optional + #buildPlatform: # Optional + #buildConfiguration: # Optional + publishRunAttachments: true # Optional + +# Publish Test Results to Azure Pipelines/TFS +- task: PublishTestResults@2 + displayName: 'Publish host based test results for $(System.JobName)' + continueOnError: true + condition: and( succeededOrFailed(), gt(variables.pkg_count, 0)) + inputs: + testResultsFormat: 'JUnit' # Options: JUnit, NUnit, VSTest, xUnit + testResultsFiles: 'Build/**/*.result.xml' + #searchFolder: '$(System.DefaultWorkingDirectory)' # Optional + mergeTestResults: false # Optional + testRunTitle: ${{ parameters.build_pkgs }} # Optional + #buildPlatform: # Optional + #buildConfiguration: # Optional + publishRunAttachments: true # Optional + +# Copy the build logs to the artifact staging directory +- task: CopyFiles@2 + displayName: "Copy build logs" + inputs: + targetFolder: '$(Build.ArtifactStagingDirectory)' + SourceFolder: 'Build' + contents: | + BUILDLOG_*.txt + BUILDLOG_*.md + CI_*.txt + CI_*.md + CISETUP.txt + SETUPLOG.txt + UPDATE_LOG.txt + PREVALLOG.txt + TestSuites.xml + **/BUILD_TOOLS_REPORT.html + **/OVERRIDELOG.TXT + flattenFolders: true + condition: succeededOrFailed() + +# Publish build artifacts to Azure Artifacts/TFS or a file share +- task: PublishBuildArtifacts@1 + continueOnError: true + displayName: "Publish build logs" + inputs: + pathtoPublish: '$(Build.ArtifactStagingDirectory)' + artifactName: 'Build Logs $(System.JobName)' + condition: succeededOrFailed() diff --git a/.azurepipelines/templates/spell-check-prereq-steps.yml b/.azur= epipelines/templates/spell-check-prereq-steps.yml new file mode 100644 index 000000000000..98ee3cfa6bc6 --- /dev/null +++ b/.azurepipelines/templates/spell-check-prereq-steps.yml @@ -0,0 +1,22 @@ +## @file +# File templates/spell-check-prereq-steps.yml +# +# template file used to install spell checking prerequisits +# +# Copyright (c) Microsoft Corporation. +# SPDX-License-Identifier: BSD-2-Clause-Patent +## + +parameters: + none: '' + +steps: +- task: NodeTool@0 + inputs: + versionSpec: '14.x' + #checkLatest: false # Optional + condition: and(gt(variables.pkg_count, 0), succeeded()) + +- script: npm install -g cspell + displayName: 'Install cspell npm' + condition: and(gt(variables.pkg_count, 0), succeeded()) --=20 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#83807): https://edk2.groups.io/g/devel/message/83807 Mute This Topic: https://groups.io/mt/87119756/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Apr 26 18:45:55 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+83808+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+83808+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=arm.com ARC-Seal: i=1; a=rsa-sha256; t=1637157965; cv=none; d=zohomail.com; s=zohoarc; b=hXzHjhJN69FzEUgp8LZQT/Mt9QBWXzznK4DU6u27pWRNhY59/fklQ3SWI04pyEIemXr/SyTLIuzHK2w5j3qYjOwFCkVdiRUnU/padg+3uDUbaLIgPIhqiWZBXxaJPah4hOoYTgvTqRmXVwlqt4RADIEyMcrst4xxoJJCy7MvVRk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1637157965; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=LrEpxUbcimeacdx8wniPPbj1agD/WFiZk2V3ZHiY3eE=; b=YoQ1yYgKl7/pite4KGIwMFSnq1bnHfmLHVDr1KpB2zf818q1EM6rgs6lnLD3eXOFkW+m2ThF67UkfH1aYUoha52iNJTpZvTDI7UXUm8YGyjqV4nVOrAoJZL8vyU9Lf50+pT9AZfWylvuO6dyab/eSl2FKSJtcQZnHHdmOdyoQaY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+83808+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1637157965538867.0845789931492; Wed, 17 Nov 2021 06:06:05 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id Gy9nYY1788612xx1LAHczR5c; Wed, 17 Nov 2021 06:06:05 -0800 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web11.7419.1637157964352043916 for ; Wed, 17 Nov 2021 06:06:04 -0800 X-Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id F16491FB; Wed, 17 Nov 2021 06:06:03 -0800 (PST) X-Received: from e120189.home (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 06BAB3F70D; Wed, 17 Nov 2021 06:06:01 -0800 (PST) From: "PierreGondois" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Leif Lindholm , Sean Brogan , Bret Barkelew , Michael D Kinney , Liming Gao , Sami Mujawar Subject: [edk2-devel] [PATCH edk2-platforms v6 5/6] .mergify: Add Mergify YML pull request rules configuration file Date: Wed, 17 Nov 2021 14:05:27 +0000 Message-Id: <20211117140528.13600-6-Pierre.Gondois@arm.com> In-Reply-To: <20211117140528.13600-1-Pierre.Gondois@arm.com> References: <20211117140528.13600-1-Pierre.Gondois@arm.com> Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pierre.gondois@arm.com X-Gm-Message-State: eVCcfTG1OAhirjRYyK5NLTVwx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1637157965; bh=6MOhkFeIXD3u5c9RCZLdKct7fD/ADfq3++s6MixRc4c=; h=Cc:Date:From:Reply-To:Subject:To; b=cBkS4S9MRffnXTifMlne2EiKeuaVxvJ0W4Sk6n6zoErvODi9jCpGM2Xs71Tr4LMn/5j n9kBcHsJ3XtulrU5UEN013lSxQfhDpn2LOcepWZt13dIVc9zE7BieRgNyUxN0lQa6azKQ VEyxQ01jWwH2l0ZGqASJJ01sDqpOUIuP6Hw= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1637158001378100021 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Pierre Gondois These files are copies of the files from the tianocore/edk2 repository. Any modification to the tianocore/edk2 files must be reflected on the tianocore/edk2-platforms copies. Initial commid-id in the edk2 repository: ab060128768b Initial message: Add directory for the Mergify YML configuration files that provides rules and actions used to process a pull request. * Auto commit a PR from EDK II Maintainer with 'push' label set and all CI checks pass * Auto close a PR from any developers without 'push' label set and all CI checks pass. * Auto close a PR from a non EDK II Maintainer that has the 'push' label set. * Post a comment to a PR that has a merge conflict. Submitter can resolved conflicts and reopen the PR. * Post a comment to a PR that fails PatchCheck.py Submitter can resolve PatchCheck.py issues and reopen the PR. Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3509 Cc: Ard Biesheuvel Cc: Leif Lindholm Cc: Sean Brogan Cc: Bret Barkelew Cc: Michael D Kinney Cc: Liming Gao Cc: Sami Mujawar Signed-off-by: Pierre Gondois --- .mergify/config.yml | 50 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 .mergify/config.yml diff --git a/.mergify/config.yml b/.mergify/config.yml new file mode 100644 index 000000000000..bd6da4c77937 --- /dev/null +++ b/.mergify/config.yml @@ -0,0 +1,50 @@ +## @file +# Mergify YML file that automatically merges a GitHub pull request against +# edk2-ci if all of the GitHub branch protections have passed. It also +# contains rules to: +# * auto close branches that are not from an EDK II Maintainer +# * post a comment on pull requests that have merge conflicts. +# * post a comment on pull requests that have PatchCheck.py errors. +# +# Configuration Notes: +# * Update the 'base=3Dedk2-ci' statements with the name of the branch to = merge +# pull requests. +# +# * Update the 'status-failure' statement with the name of the name of the= Azure +# Pipelines Build that performs the EDK II Maintainer check. +# +# * This file must be checked into the 'default' branch of a repo. Copies +# of this file on other branches of a repo are ignored by Mergify. +# +# Copyright (c) 2019 - 2021, Intel Corporation. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent +# +# https://github.com/apps/mergify +# https://doc.mergify.io/ +# +## + +queue_rules: + - name: default + conditions: + - base~=3D(^main|^master|^stable/) + - label=3Dpush + +pull_request_rules: + - name: Automatically merge a PR when all required checks pass and 'push= ' label is present + conditions: + - base~=3D(^main|^master|^stable/) + - label=3Dpush + actions: + queue: + method: rebase + rebase_fallback: none + name: default + + - name: Post a comment on a PR that can not be merged due to a merge con= flict + conditions: + - base~=3D(^main|^master|^stable/) + - conflict + actions: + comment: + message: PR can not be merged due to conflict. Please rebase and = resubmit --=20 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#83808): https://edk2.groups.io/g/devel/message/83808 Mute This Topic: https://groups.io/mt/87119758/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Fri Apr 26 18:45:55 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+83809+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+83809+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=arm.com ARC-Seal: i=1; a=rsa-sha256; t=1637157967; cv=none; d=zohomail.com; s=zohoarc; b=hnTVRkYt1Vy5aJ5dNDmZrR9o3xEfmxoPz0P75CBvoYE1q+mCe7v/9nFSUD/xN2O8sALrCXGUdR7rkk30Ci6d/qpCShzpyWGtjU9o5Ifle75cHRlhUcjLDmD8qDjJfU9tM6Zi3ryR21MdxQZE7o9C7tRtG5LIcjKCI1WuZWjsp0w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1637157967; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=duDExMNrVkvjz/vG+CZhlq6MPB+08Y7l+L0T5xQtJ9U=; b=JHdrsrK1QkgjjqZoy8DUX9qHoinAaEQVbwpaF6m+Q5OlWgiQVVTc+rfoRFZX6aDIq1lfiKbQZMlylC2N/9jC021mVgNRyHFAXA9VnLHY+ncDbAEB3puUkfry0cYSWzEBFXpZGn+ARnhXdVs3TU2uaRLYyZhThYye996BApdca+0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+83809+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1637157967764445.51672664390196; Wed, 17 Nov 2021 06:06:07 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id HJ77YY1788612xELWUldCFfR; Wed, 17 Nov 2021 06:06:07 -0800 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web12.7374.1637157966676177497 for ; Wed, 17 Nov 2021 06:06:06 -0800 X-Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 54B5613A1; Wed, 17 Nov 2021 06:06:06 -0800 (PST) X-Received: from e120189.home (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 5D64D3F70D; Wed, 17 Nov 2021 06:06:04 -0800 (PST) From: "PierreGondois" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Leif Lindholm , Sean Brogan , Bret Barkelew , Michael D Kinney , Liming Gao , Sami Mujawar Subject: [edk2-devel] [PATCH edk2-platforms v6 6/6] Platform/ARM: Juno: Add JunoPkg.ci.yaml for CI support Date: Wed, 17 Nov 2021 14:05:28 +0000 Message-Id: <20211117140528.13600-7-Pierre.Gondois@arm.com> In-Reply-To: <20211117140528.13600-1-Pierre.Gondois@arm.com> References: <20211117140528.13600-1-Pierre.Gondois@arm.com> Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,pierre.gondois@arm.com X-Gm-Message-State: 8HwOQeiKt8fudj2q14sw4rl3x1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1637157967; bh=ITThdN9WHV6urrZFvf5SB8oZ2pKoVAQcT0hrZpyvQgQ=; h=Cc:Date:From:Reply-To:Subject:To; b=jmh6cyEZMHQeGJtcrfJXkN1lGVqE268oIuN3+VnHtbR6dPasEmADzzBr7AK+ZZqIPgW xEiL63V3HHVleLl0wNYxTetfF5t7iqQDVSwW6jAb2Gfxs8E/x6ZSED5J9NRTI+UmnJymZ 2lLKyU72Uq2teal1Mb/ECrUoX6pldRi2pTY= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1637158003091100026 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Pierre Gondois Add a JunoPkg.ci.yaml file to enable the CI for the JunoPkg. Cc: Ard Biesheuvel Cc: Leif Lindholm Cc: Sean Brogan Cc: Bret Barkelew Cc: Michael D Kinney Cc: Liming Gao Cc: Sami Mujawar Signed-off-by: Pierre Gondois --- Platform/ARM/JunoPkg/JunoPkg.ci.yaml | 104 +++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 Platform/ARM/JunoPkg/JunoPkg.ci.yaml diff --git a/Platform/ARM/JunoPkg/JunoPkg.ci.yaml b/Platform/ARM/JunoPkg/Ju= noPkg.ci.yaml new file mode 100644 index 000000000000..7e7f201b40ec --- /dev/null +++ b/Platform/ARM/JunoPkg/JunoPkg.ci.yaml @@ -0,0 +1,104 @@ +## @file +# Core CI configuration for JunoPkg +# +# VExpressPkg is part of Platform CI for builds so this is only +# used for code analysis. +# +# Copyright (c) Microsoft Corporation +# Copyright (c) 2021, Arm Ltd. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent +## +{ + ## options defined .pytool/Plugin/LicenseCheck + "LicenseCheck": { + "IgnoreFiles": [] + }, + "EccCheck": { + ## Exception sample looks like below: + ## "ExceptionList": [ + ## "", "" + ## ] + "ExceptionList": [ + ], + ## Both file path and directory path are accepted. + "IgnoreFiles": [ + ] + }, + ## options defined .pytool/Plugin/CompilerPlugin + "CompilerPlugin": { + "DscPath": "" # Don't support this test + # Build the Package using a PlatformCI, similarly to= ArmVirtPkg. + }, + + ## options defined .pytool/Plugin/HostUnitTestCompilerPlugin + "HostUnitTestCompilerPlugin": { + "DscPath": "" # Don't support this test + }, + + ## options defined .pytool/Plugin/CharEncodingCheck + "CharEncodingCheck": { + "IgnoreFiles": [] + }, + + ## options defined .pytool/Plugin/DependencyCheck + "DependencyCheck": { + "AcceptableDependencies": [ + "ArmPkg/ArmPkg.dec", + "ArmPlatformPkg/ArmPlatformPkg.dec", + "DynamicTablesPkg/DynamicTablesPkg.dec", + "EmbeddedPkg/EmbeddedPkg.dec", + "MdePkg/MdePkg.dec", + "MdeModulePkg/MdeModulePkg.dec", + "Platform/ARM/ARM.dec", + "Platform/ARM/Drivers/FdtPlatformDxe/FdtPlatformDxe.dec", + "Platform/ARM/JunoPkg/ArmJuno.dec", + ], + # For host based unit tests + "AcceptableDependencies-HOST_APPLICATION":[ + "UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec" + ], + # For UEFI shell based apps + "AcceptableDependencies-UEFI_APPLICATION":[ + + ], + "IgnoreInf": [] + }, + + ## options defined .pytool/Plugin/DscCompleteCheck + "DscCompleteCheck": { + "IgnoreInf": [""], + "DscPath": "" # Don't support this test + # "DscPath": "ArmJuno.dsc" # Don't support this test + }, + + ## options defined .pytool/Plugin/HostUnitTestDscCompleteCheck + "HostUnitTestDscCompleteCheck": { + "IgnoreInf": [""], + "DscPath": "" # Don't support this test + }, + + ## options defined .pytool/Plugin/GuidCheck + "GuidCheck": { + "IgnoreGuidName": [], # Expected duplication for gEfiFirmwareVolum= eTopFileGuid + "IgnoreGuidValue": [ + ], + "IgnoreFoldersAndFiles": [], + "IgnoreDuplicates": [], + }, + + ## options defined .pytool/Plugin/LibraryClassCheck + "LibraryClassCheck": { + "IgnoreHeaderFile": [] + }, + + ## options defined .pytool/Plugin/SpellCheck + "SpellCheck": { + "AuditOnly": True, + "IgnoreFiles": [], # use gitignore syntax to ignore erro= rs in matching files + "ExtendWords": [ + + ], # words to extend to the dictionary for this package + "IgnoreStandardPaths": [], # Standard Plugin defined paths that = should be ignore + "AdditionalIncludePaths": [] # Additional paths to spell check (wi= ldcards supported) + } +} --=20 2.17.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#83809): https://edk2.groups.io/g/devel/message/83809 Mute This Topic: https://groups.io/mt/87119760/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-