From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR02-HE1-obe.outbound.protection.outlook.com (EUR02-HE1-obe.outbound.protection.outlook.com [40.107.1.40]) by mx.groups.io with SMTP id smtpd.web11.5579.1593545807739394912 for ; Tue, 30 Jun 2020 12:36:48 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=5w9zpP74; spf=pass (domain: arm.com, ip: 40.107.1.40, mailfrom: sami.mujawar@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8hzLENOTGxNnhRTC2AehAIqqdC6xpcq1k1udchkuay8=; b=5w9zpP74eHVQ8WueUnRooFc0AmRrRWeKVYxTtIR3MVoIcX8JMerhhn51dnsnirLbD7hT6PA28mCDTLHp+7k9E1Hjn3xvM8UrtfVzOKZgENtuAbr9A31G716vEui9xTMnq2kpOPedgLv0vo/YNEFwslylmFhqhOKFnydyrRYH6No= Received: from AM6PR04CA0025.eurprd04.prod.outlook.com (2603:10a6:20b:92::38) by VI1PR0801MB1662.eurprd08.prod.outlook.com (2603:10a6:800:52::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.24; Tue, 30 Jun 2020 19:36:45 +0000 Received: from VE1EUR03FT037.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:92:cafe::72) by AM6PR04CA0025.outlook.office365.com (2603:10a6:20b:92::38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.23 via Frontend Transport; Tue, 30 Jun 2020 19:36:45 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; edk2.groups.io; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;edk2.groups.io; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT037.mail.protection.outlook.com (10.152.19.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.20 via Frontend Transport; Tue, 30 Jun 2020 19:36:44 +0000 Received: ("Tessian outbound 90a05f5dce10:v61"); Tue, 30 Jun 2020 19:36:44 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 7a658873bd642450 X-CR-MTA-TID: 64aa7808 Received: from 8c4dcf5723ef.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id F449F977-D9E6-41C0-A614-BC78468F7124.1; Tue, 30 Jun 2020 19:36:39 +0000 Received: from EUR02-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 8c4dcf5723ef.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 30 Jun 2020 19:36:39 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cuZR36De4kk+tY/buiWOh7M1rdHdLBYM8800r92BVDdylwiqpPxxRxPHzVb+K9yZn2kJJzEh5zyWbrMZOGDu+9RguY5j2v/W6lYZrk9TFwNMzWsic8lrO+3JvuU04aJSd2FuxHJxwqK++GgGmnbfYC06lAaoPey/PFfzCetIRDF++QjrCUOjp2pKF73XWofhY8PuH9XasVkOjvd9YiZpU6M1fbteNpfFkNCH9dJyGHsQWT4cQc8+ZeNX9Vo/IvJWWOEsz7V8B5LLRzPLCyeCHJG7ockAh/lFuRSiU2RXpWT/gYOFBqaoaqMJ34qSKBhiDgsS9y0odrRAGQHulJvufw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8hzLENOTGxNnhRTC2AehAIqqdC6xpcq1k1udchkuay8=; b=dkPtSUpfyI9+1gNSrtbCTccwfBZXgRxt2Itila4ld7fM1IX94CQrv/42LWo8PFdhJhes1misgn1y5shhVsnnfnRryOmQZvzRYaCt7UvfTZZQjRoOzosn4xKBowjplVVFtdmbGbbcRiUrnv9CkEBbw1xsFcjmZptsRLvh4Gi5VyzqDeqaAMiHhiT138lOh9Hw/pUz/xWChjB2Lun/fJy3T6w2cCKWUitDU5XuYIrjInoudHgJmjuKyKJahCIoRygKYh3+xZYUX7jKFzHk43E6KCT2QeSN0BOkL0kYSo7T1oHzMaOiwxWDOI1Tlq/VJ8QcXLx2sw61juQxZ1+mh5DFQQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=arm.com; dmarc=bestguesspass action=none header.from=arm.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8hzLENOTGxNnhRTC2AehAIqqdC6xpcq1k1udchkuay8=; b=5w9zpP74eHVQ8WueUnRooFc0AmRrRWeKVYxTtIR3MVoIcX8JMerhhn51dnsnirLbD7hT6PA28mCDTLHp+7k9E1Hjn3xvM8UrtfVzOKZgENtuAbr9A31G716vEui9xTMnq2kpOPedgLv0vo/YNEFwslylmFhqhOKFnydyrRYH6No= Received: from AM6PR08CA0037.eurprd08.prod.outlook.com (2603:10a6:20b:c0::25) by DB8PR08MB5242.eurprd08.prod.outlook.com (2603:10a6:10:e8::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.24; Tue, 30 Jun 2020 19:36:37 +0000 Received: from AM5EUR03FT010.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:c0:cafe::c8) by AM6PR08CA0037.outlook.office365.com (2603:10a6:20b:c0::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.21 via Frontend Transport; Tue, 30 Jun 2020 19:36:37 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; Received: from nebula.arm.com (40.67.248.234) by AM5EUR03FT010.mail.protection.outlook.com (10.152.16.134) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.3131.20 via Frontend Transport; Tue, 30 Jun 2020 19:36:37 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX04.Arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1415.2; Tue, 30 Jun 2020 19:36:35 +0000 Received: from E107187.Arm.com (10.57.23.40) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.1415.2 via Frontend Transport; Tue, 30 Jun 2020 19:36:35 +0000 From: "Sami Mujawar" To: CC: Sami Mujawar , , , , , , , , , Subject: [PATCH v2 2/3] DynamicTablesPkg: Add EDK2 Core CI support Date: Tue, 30 Jun 2020 20:36:31 +0100 Message-ID: <20200630193633.22804-3-sami.mujawar@arm.com> X-Mailer: git-send-email 2.11.0.windows.3 In-Reply-To: <20200630193633.22804-1-sami.mujawar@arm.com> References: <20200630193633.22804-1-sami.mujawar@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFTY:;SFS:(4636009)(376002)(136003)(39860400002)(346002)(396003)(46966005)(7696005)(86362001)(26005)(8676002)(47076004)(426003)(82310400002)(1076003)(336012)(316002)(8936002)(6916009)(44832011)(4326008)(36756003)(5660300002)(478600001)(2906002)(6666004)(70586007)(81166007)(356005)(19627235002)(54906003)(83380400001)(70206006)(186003)(966005)(2616005)(82740400003);DIR:OUT;SFP:1101; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cab4fdf5-5b21-4e9a-20f3-08d81d2cebf5 X-MS-TrafficTypeDiagnostic: DB8PR08MB5242:|VI1PR0801MB1662: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:9508;OLM:9508; X-Forefront-PRVS: 0450A714CB X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: FRXuHhH4lYzu9fBjTyqTKX+cHZNTf/uHFV6/lfzrRW0CmG1ir0WxYU4VfhAt3WRKVxR3zkxkEnPsCTVXf9QG2UCaoAa13w5llJr+eRviJrVAtA+50X1tMrPtTh59aujhOvXBe3I9qbH6ZuGjaGjs4uIFFTx3j6wx2Z57ekkP5AvP37g9hED/1DVEj0WbOopxrCI0qTlnTpwPzX06TMNJJL4o6QPqGPgJJelVXaNqrhUa8Y9I+y60qXPpbLNwmQB3L2IEmHt8hs/hWkPh3Hj4NNv8tb6+LrfYhQ5zed/bdezphWI0sbUi+zIoz+fSwamYBftB6sS/YwY6doybmObkwbd5cKboqEFxBycLOg71Q+rGoGRMAmpgHFSDQ2p5xvwFgRYngWUvNmliM8YyK6dFQn0yJfV9+EToE5dWDtdSqe3qWOtHA8EoWPOoTzOJYOCOJUCXMxVN5PKTzMiaEPigOe+T87q6/0OywMXUQFjKj+M= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5242 Return-Path: Sami.Mujawar@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT037.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFTY:;SFS:(4636009)(396003)(376002)(136003)(39860400002)(346002)(46966005)(81166007)(5660300002)(478600001)(36756003)(86362001)(8936002)(2906002)(6666004)(54906003)(966005)(47076004)(82740400003)(336012)(70586007)(316002)(83380400001)(186003)(6916009)(36906005)(70206006)(2616005)(26005)(8676002)(7696005)(4326008)(1076003)(19627235002)(426003)(82310400002)(44832011);DIR:OUT;SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: 6f8af411-9888-4c2d-8c8b-08d81d2ce762 X-Forefront-PRVS: 0450A714CB X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bF/aHSG0dYSUpXkYZ2Ci8Ybcam2RFHhzJJ8j2JsRMVA6Bt3DythnYSDdfA/ogb49hucKy/6JDuRu24Uur/vOkE3PEnN1JXrmkEK2m5C6wqfjHt3s10/oNGiSUCOMymSN914VX2KHRm4skbBLKQhkZx54+pXsO1Odgaa5oddixLxqe0mtCnNoZB8LlDN9wKQcjdIrm31NPptn8woytEJ02imfNRw068ZM/yhxKDzNtKxDxUSIKtbTCKwc8YoZF/eTM2FmdCJy3AgkE0XIdrUAGiDoLebz1F3wT8G5apAM0QtiPfaEawE96qUB7dzUhbV86zxrg6YhFlRDKTVsxZk5iPs0QX5ZeoK0dbsyMf6AvUeJJTLBgN2Q0r2VIGweGTuPKE7ifxHP8bG+Vqk1poKSUExFVZVpQlfqSPM46GynGCNPOm3vtVaXE93H/p8JUzKZabPAqPIZ6ERMxXqg75VlrLqPr3Migb9QiMGJtCUhV4k= X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jun 2020 19:36:44.5902 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cab4fdf5-5b21-4e9a-20f3-08d81d2cebf5 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT037.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB1662 Content-Type: text/plain The TianoCore EDKII project has introduced a Core CI infrastructure using TianoCore EDKII Tools PIP modules: * https://pypi.org/project/edk2-pytool-library/ * https://pypi.org/project/edk2-pytool-extensions/ The edk2\.pytool\Readme.md provides information to configure the environment and to run local builds. This patch defines the necessary settings for enabling the Core CI builds for DynamicTablesPkg. - Add DynamicTablesPkg.ci.yaml for Core CI - Update ReadMe.md for details and instructions Signed-off-by: Sami Mujawar --- Notes: v2: - Removed INF files from the DscCompleteCheck ignore list [Sami] as these are now included in the component section of the dsc file. - Why are there modules not built during ci (The files [Sean] listed in the DscCompleteCheck[IgnoreInf] list) v1: - Add EDK2 core CI support fro DynamicTablesPkg [Sami] DynamicTablesPkg/DynamicTablesPkg.ci.yaml | 92 ++++++++++++++++++++ DynamicTablesPkg/Readme.md | 71 +++++++++++++++ 2 files changed, 163 insertions(+) diff --git a/DynamicTablesPkg/DynamicTablesPkg.ci.yaml b/DynamicTablesPkg/DynamicTablesPkg.ci.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f39b8019461ea151f9b1cf4bc751604d6e044af2 --- /dev/null +++ b/DynamicTablesPkg/DynamicTablesPkg.ci.yaml @@ -0,0 +1,92 @@ +## @file +# CI configuration for DynamicTablesPkg +# +# Copyright (c) 2020, ARM Limited. All rights reserved.
+# SPDX-License-Identifier: BSD-2-Clause-Patent +## +{ + ## options defined .pytool/Plugin/CompilerPlugin + "CompilerPlugin": { + "DscPath": "DynamicTablesPkg.dsc" + }, + + ## 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": [ + "ArmPlatformPkg/ArmPlatformPkg.dec", + "EmbeddedPkg/EmbeddedPkg.dec", + "DynamicTablesPkg/DynamicTablesPkg.dec", + "MdeModulePkg/MdeModulePkg.dec", + "MdePkg/MdePkg.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": "DynamicTablesPkg.dsc" + }, + + ## options defined .pytool/Plugin/HostUnitTestDscCompleteCheck + "HostUnitTestDscCompleteCheck": { + "IgnoreInf": [""], + "DscPath": "" # Don't support this test + }, + + ## options defined .pytool/Plugin/GuidCheck + "GuidCheck": { + "IgnoreGuidName": [], + "IgnoreGuidValue": [], + "IgnoreFoldersAndFiles": [], + "IgnoreDuplicates": [], + }, + + ## options defined .pytool/Plugin/LibraryClassCheck + "LibraryClassCheck": { + "IgnoreHeaderFile": [] + }, + + ## options defined .pytool/Plugin/SpellCheck + "SpellCheck": { + "AuditOnly": False, + "IgnoreFiles": [], # use gitignore syntax to ignore errors + # in matching files + "ExtendWords": [ + "CCIDX", + "CCSIDR", + "countof", + "EOBJECT", + "GTBLOCK", + "MPIDR", + "pytool", + "Roadmap", + "SMMUV", + "standardised", + "TABLEEX", + "TNSID", + "Vatos", + "WBINVD" + ], # words to extend to the dictionary for this package + "IgnoreStandardPaths": [], # Standard Plugin defined paths that + # should be ignore + "AdditionalIncludePaths": [] # Additional paths to spell check + # (wildcards supported) + } +} diff --git a/DynamicTablesPkg/Readme.md b/DynamicTablesPkg/Readme.md index bcaae6daa5fff24d9f62639149e9f82c2665c682..e17ed3ac6fd2fbcaced7d64393b316d4d6f75283 100644 --- a/DynamicTablesPkg/Readme.md +++ b/DynamicTablesPkg/Readme.md @@ -131,9 +131,80 @@ Ensure that the iASL compiler used for building *Dynamic Tables Framework* has t This feature was made available in the *ACPICA Compiler update [Version 20180508](https://www.acpica.org/node/156)*, dated 8 May 2018 (2018-05-08). + +Running CI builds locally +------------------------- + +The TianoCore EDKII project has introduced Core CI infrastructure using TianoCore EDKII Tools PIP modules: + + - *[edk2-pytool-library](https://pypi.org/project/edk2-pytool-library)* + + - *[edk2-pytool-extensions](https://pypi.org/project/edk2-pytool-extensions)* + + +The instructions to setup the CI environment are in *'edk2\\.pytool\\Readme.md'* + +## Building DynamicTablesPkg with Pytools + +1. [Optional] Create a Python Virtual Environment - generally once per workspace + + ``` + python -m venv + + e.g. python -m venv edk2-ci + ``` + +2. [Optional] Activate Virtual Environment - each time new shell/command window is opened + + ``` + /Scripts/activate + + e.g. On a windows host PC run: + edk2-ci\Scripts\activate.bat + ``` +3. Install Pytools - generally once per virtual env or whenever pip-requirements.txt changes + + ``` + pip install --upgrade -r pip-requirements.txt + ``` + +4. Initialize & Update Submodules - only when submodules updated + + ``` + stuart_setup -c .pytool/CISettings.py TOOL_CHAIN_TAG= -a + + e.g. stuart_setup -c .pytool/CISettings.py TOOL_CHAIN_TAG=GCC5 + ``` + +5. Initialize & Update Dependencies - only as needed when ext_deps change + + ``` + stuart_update -c .pytool/CISettings.py TOOL_CHAIN_TAG= -a + + e.g. stuart_update -c .pytool/CISettings.py TOOL_CHAIN_TAG=GCC5 + ``` + +6. Compile the basetools if necessary - only when basetools C source files change + + ``` + python BaseTools/Edk2ToolsBuild.py -t + ``` + +7. Compile DynamicTablesPkg + + ``` + stuart_build-c .pytool/CISettings.py TOOL_CHAIN_TAG= -a + + e.g. stuart_ci_build -c .pytool/CISettings.py TOOL_CHAIN_TAG=GCC5 -p DynamicTablesPkg -a AARCH64 --verbose + ``` + + - use `stuart_build -c .pytool/CISettings.py -h` option to see help on additional options. + + Documentation ------------- Refer to the following presentation from *UEFI Plugfest Seattle 2018*: [Dynamic Tables Framework: A Step Towards Automatic Generation of Advanced Configuration and Power Interface (ACPI) & System Management BIOS (SMBIOS) Tables](http://www.uefi.org/sites/default/files/resources/Arm_Dynamic%20Tables%20Framework%20A%20Step%20Towards%20Automatic%20Generation%20of%20Advanced%20Configuration%20and%20Power%20Interface%20%28ACPI%29%20%26%20System%20Management%20BIOS%20%28SMBIOS%29%20Tables%20_0.pdf) + -- 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'