From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (EUR04-VI1-obe.outbound.protection.outlook.com [40.107.8.48]) by mx.groups.io with SMTP id smtpd.web11.812.1595611684345676417 for ; Fri, 24 Jul 2020 10:28:05 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=MGcqFPQ5; spf=pass (domain: arm.com, ip: 40.107.8.48, 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=iWRkOQADPXPxouvB3F0pW25JbXCINhLlXpYgHGPHRb0=; b=MGcqFPQ5xMdDwJcIzGiuY2bPzWyBuKuMNhj3L9MQJvAtljO6xD5NeIZm1qXukdR/dwX8criJ19gqqsGdGlxV9XX3OrU2QswpOLbW6odwhN2PblvvKSM8UV//pHdjlWf+biAj70MoMC6ldnYBiXGlhGbPv+EqYiQ7dY6lFs4SRl8= Received: from AM6PR01CA0047.eurprd01.prod.exchangelabs.com (2603:10a6:20b:e0::24) by VI1PR08MB4351.eurprd08.prod.outlook.com (2603:10a6:803:fd::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3195.25; Fri, 24 Jul 2020 17:28:01 +0000 Received: from VE1EUR03FT061.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:e0:cafe::9e) by AM6PR01CA0047.outlook.office365.com (2603:10a6:20b:e0::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.20 via Frontend Transport; Fri, 24 Jul 2020 17:28:01 +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 VE1EUR03FT061.mail.protection.outlook.com (10.152.19.220) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.10 via Frontend Transport; Fri, 24 Jul 2020 17:28:00 +0000 Received: ("Tessian outbound 1c27ecaec3d6:v62"); Fri, 24 Jul 2020 17:28:00 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: da863d48a164ec55 X-CR-MTA-TID: 64aa7808 Received: from d1cb32357021.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id D6500BEC-7774-4D93-9A23-D4AE57FA043B.1; Fri, 24 Jul 2020 17:27:55 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d1cb32357021.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 24 Jul 2020 17:27:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=alWphkhBpfZzG5zvg5QIKA5Fxdibtatd5KiNRi3LyxKpp5JJHJ92pVbP6X1ZuvQSBBkYL2BP4Qp/hB91LMzS4NkUJSApQmuYS7wR1R9bApNvpMTebYguFcPdfQYCF3VWxyaSqRY/9Hli96TBY584Tcyh0bA7+0Akzp/DqEbnSWwXGv8e+760SLv/iE+DiaVjVQyIgyJ68Itmw9uiBH/nmnmt07n1YiKN6Q7R4BYHm9CAWq2VK+4edlV7rDPYOvnIGY3EqDHd7riAoHLHdgeYIjjvEGo2WKp5C1pnYkAzZ6UVIP0jNnNVyUH2k4L8rkxcC99+glhXaIwjlocVRhEacA== 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=iWRkOQADPXPxouvB3F0pW25JbXCINhLlXpYgHGPHRb0=; b=GC5vh81EvaU/RpiIWXysGxrDtkvk8DSuAythnovef3/bC6LNQFXYm3CxXa0+edIPEOI1nDBg7jp77uDG8OJmuZpIFonEVSoU2L4XA2vI0piAyy+MWk6cRlfSZON+PE1I71BVM5IqosBocbBXRPEYhgO+ayp+gvkW8bcuNhlcG7dKYWw0p2O4Xl04CPZ0hLuUZHX7nTKYffzE5EydPCG1O+zIQaIeyGmXEZ4jL2cSSs4Oqe2xhNuwZUYvdYwLlFY44+OZ3baYfShqWYHBlns8D889iI3YFbZE/bjfx7dajkJMOBB2utAY72YoUTZTndoeg9sB5f6uXjdg68df/HkzvQ== 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=iWRkOQADPXPxouvB3F0pW25JbXCINhLlXpYgHGPHRb0=; b=MGcqFPQ5xMdDwJcIzGiuY2bPzWyBuKuMNhj3L9MQJvAtljO6xD5NeIZm1qXukdR/dwX8criJ19gqqsGdGlxV9XX3OrU2QswpOLbW6odwhN2PblvvKSM8UV//pHdjlWf+biAj70MoMC6ldnYBiXGlhGbPv+EqYiQ7dY6lFs4SRl8= Received: from AM6PR04CA0021.eurprd04.prod.outlook.com (2603:10a6:20b:92::34) by DB7PR08MB3356.eurprd08.prod.outlook.com (2603:10a6:5:1c::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.24; Fri, 24 Jul 2020 17:27:51 +0000 Received: from VE1EUR03FT017.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:92:cafe::4b) by AM6PR04CA0021.outlook.office365.com (2603:10a6:20b:92::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.22 via Frontend Transport; Fri, 24 Jul 2020 17:27:51 +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 VE1EUR03FT017.mail.protection.outlook.com (10.152.18.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.3216.10 via Frontend Transport; Fri, 24 Jul 2020 17:27:51 +0000 Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) 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; Fri, 24 Jul 2020 17:27:46 +0000 Received: from E107187.Arm.com (10.57.37.159) by mail.arm.com (10.251.24.31) with Microsoft SMTP Server id 15.1.1415.2 via Frontend Transport; Fri, 24 Jul 2020 17:27:45 +0000 From: "Sami Mujawar" To: CC: Sami Mujawar , , , , , , , , , Subject: [PATCH v2-resend 2/4] DynamicTablesPkg: Add EDK2 Core CI support Date: Fri, 24 Jul 2020 18:27:38 +0100 Message-ID: <20200724172740.10920-3-sami.mujawar@arm.com> X-Mailer: git-send-email 2.11.0.windows.3 In-Reply-To: <20200724172740.10920-1-sami.mujawar@arm.com> References: <20200724172740.10920-1-sami.mujawar@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-Office365-Filtering-HT: Tenant X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a9fa1f79-d76a-448d-4eb9-08d82ff6ea0c X-MS-TrafficTypeDiagnostic: DB7PR08MB3356:|VI1PR08MB4351: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:9508;OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: cNTe/4W82o3OwOm2bl18JApPguLsvXdrRj6Hti30MgpnBIafZP95W19Gx0ndztdRNlkMF63joAiFR6D+LvbKW9PR9i1SkF7oCYjOtVPwbMioUgN+kS5+zWtKkb4fjUFdAkU22XLI34X1F3mlWp6Gs/eznAawsdqv06zdSiYEWZlmgmrv6JtNuxazdWvVEhkvC2IGABQ7uEZO4hZ1vcXUxkxFPnLbZF3a//V6yqSLSpiYexGXnEw+XCP/9tk7/I9oAc3ZROumV96Tkw3cGay07lM23p0tcQiMAPVIXL2Ne6qES977JAPr3WzNR7gxcgQaGKzkreD7E2G5yoWYP5R0A1X/RLABxKunyDxHY2fu6s3tJtr9qpnCHnSYpo0l+0fQD5/q07wDYtu0az74hkznwaCOLXKV3/KJn1SPndVRRoJVlryJvKL8iItXUoGy/Gkpg2Fr5tNJTKRVu++QcswZHtad1xcTUfLLF4D3qe7GxxM= 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)(136003)(39860400002)(376002)(346002)(396003)(46966005)(2906002)(966005)(86362001)(82740400003)(5660300002)(44832011)(26005)(7696005)(81166007)(36756003)(6666004)(47076004)(8676002)(356005)(478600001)(426003)(186003)(316002)(83380400001)(8936002)(336012)(82310400002)(4326008)(70586007)(54906003)(1076003)(70206006)(19627235002)(2616005)(6916009);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3356 Return-Path: Sami.Mujawar@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT061.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 53eeb27c-e44a-4f8f-adff-08d82ff6e493 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 71jmqnqd6DW4WIUgO3pg1osiQdaOrYgCasHmt/CuQN5NA9qcx3XBOArgf/fqTS7XLIV/lxmeiWRtYKuXsX+VlT/PTsf4BX7wH3sqpUpbIdxRGmy1FoyM0+Ty4I9TeyH0grESdW9I9skM+FcaVsKp9f8b6UCgJJXLHl8zEbI9WBVwt5+h5AFJ8A23Beq1Aj1fVuuVeMtlZMsC1DmLsKz2iVsvhnwIYjwY61a4MotoIEgWHEqwxNZua3WGDBvtzCFlMdi35XaAxWNydIcchOrHp+KsgdxlyR2lCWQl++MrE/5W6INKnsw9T9TJXVBt6dcs6LYqCN5rvmutngPzP2hH/m24xVpqIHKT87gMY3fv+CXWKVEZc1J/14KGx4tELzPoCiY1LAyo6nLCnCgDyjkUsNIOPYVqAbq22e9IoEdExbDnaW4HuepR0A375YDbTQqksAOM4UkMCksQvwNJ3OZs/5ntuXvr5ecRYsuUC+sp8UU= 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)(39860400002)(376002)(346002)(396003)(136003)(46966005)(47076004)(83380400001)(81166007)(7696005)(478600001)(44832011)(966005)(82310400002)(2616005)(26005)(1076003)(5660300002)(82740400003)(6666004)(336012)(426003)(2906002)(19627235002)(86362001)(6916009)(186003)(8936002)(316002)(36906005)(54906003)(70206006)(8676002)(70586007)(36756003)(4326008);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2020 17:28:00.6571 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a9fa1f79-d76a-448d-4eb9-08d82ff6ea0c 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: VE1EUR03FT061.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4351 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 Reviewed-by: Alexei Fedorov --- 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)'