From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR03-DB5-obe.outbound.protection.outlook.com (EUR03-DB5-obe.outbound.protection.outlook.com [40.107.4.69]) by mx.groups.io with SMTP id smtpd.web10.46.1596816752797417652 for ; Fri, 07 Aug 2020 09:12:33 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=Av7y55NO; spf=pass (domain: arm.com, ip: 40.107.4.69, 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=PtgLOLbhxU0CpqFATqvO6BgmrBXpmti1rYbv40aRBQU=; b=Av7y55NOFKGlfhYC6aKJ5qQzLhy/DdX+jDlKNkF8jxb6ofK2EGsS4pAvDkgxY3HFspf7Ql4gpCCWzBMigVEfySFuSxmNkqgAMNQQbmUlbfxAs/lgA8MJzHptieMM/pqokWsxC1evCawUtyWedhiAl19bZPEjGzomVnJTmuYTi1g= Received: from AM5PR0202CA0020.eurprd02.prod.outlook.com (2603:10a6:203:69::30) by VI1PR0802MB2221.eurprd08.prod.outlook.com (2603:10a6:800:9a::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3261.17; Fri, 7 Aug 2020 16:12:30 +0000 Received: from AM5EUR03FT041.eop-EUR03.prod.protection.outlook.com (2603:10a6:203:69:cafe::9b) by AM5PR0202CA0020.outlook.office365.com (2603:10a6:203:69::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3261.19 via Frontend Transport; Fri, 7 Aug 2020 16:12:29 +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 AM5EUR03FT041.mail.protection.outlook.com (10.152.17.186) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3261.16 via Frontend Transport; Fri, 7 Aug 2020 16:12:29 +0000 Received: ("Tessian outbound 7fc8f57bdedc:v64"); Fri, 07 Aug 2020 16:12:29 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 49fe8f44971ad78b X-CR-MTA-TID: 64aa7808 Received: from e3f8fb4c5edb.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 9876ECB8-3E70-4BA5-A07A-6FF8B176A419.1; Fri, 07 Aug 2020 16:12:24 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e3f8fb4c5edb.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 07 Aug 2020 16:12:24 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AtKIRwcKNzbv+E59fqBKx1E9gdZuq30wplwMqvgdioDT/wyaIGhZQnSK37AxFXfH0W67cM7vT9nYf08XDQCBy0r75nUz098nKm4BAcrL5jvwpS6Kx8ne62rf89+mQuRY9GS2iG8oi3u40Tv31zKzik13QZ0yQxNZEhbJlzwKn/65+ndPOepszxzsDoEhABwusXV6/iKMjsQ9WzLrWyxHtI6dIQOYnTZLC/zCDTZkwGXQjOiDDpMJNUNFtq2n1jDL9K7kMFrxNsXbbzEH9pV6oAfCqXV/WMc5BJJcUKMAkUvhWQqBhiMWw5wzsMiw8PNIpW2aXclE2S2DT+W0RZooEA== 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=PtgLOLbhxU0CpqFATqvO6BgmrBXpmti1rYbv40aRBQU=; b=h0CqR2wq6usU8jIvyP9ygg71W7Q05DhDlBKEkKA1wAxTMnNIPwkt6is276/qUau+t4mnNVVUr+f8++6eU4nJaJ15ijZj4EXjpxBrl4foUSDM/IMbC4dCttCFr78aUknVkG7kvracN94EZOZ7GX2yHREuEZMrmqtgAuQg0ZUWc/IChU4kHDAtJccTrqzT3ovRnxjh6ug7UwZ54/MCbh+OYxj4qm2AUMv3RdicP+47NxONrO6DL1Sabeyit1qwoUSuriJs0Mqp+m6q1GPOYs7mYPPv9jMWvMiczO22GD+G5HA5HY5DFNKnyisqyUKu3LLFGhavtVbCfGRc1uNvtziCDQ== 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=PtgLOLbhxU0CpqFATqvO6BgmrBXpmti1rYbv40aRBQU=; b=Av7y55NOFKGlfhYC6aKJ5qQzLhy/DdX+jDlKNkF8jxb6ofK2EGsS4pAvDkgxY3HFspf7Ql4gpCCWzBMigVEfySFuSxmNkqgAMNQQbmUlbfxAs/lgA8MJzHptieMM/pqokWsxC1evCawUtyWedhiAl19bZPEjGzomVnJTmuYTi1g= Received: from AM6P192CA0057.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:82::34) by AM0PR08MB3266.eurprd08.prod.outlook.com (2603:10a6:208:66::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3261.16; Fri, 7 Aug 2020 16:12:21 +0000 Received: from VE1EUR03FT013.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:82:cafe::3) by AM6P192CA0057.outlook.office365.com (2603:10a6:209:82::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3261.17 via Frontend Transport; Fri, 7 Aug 2020 16:12:21 +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 VE1EUR03FT013.mail.protection.outlook.com (10.152.19.37) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.3261.16 via Frontend Transport; Fri, 7 Aug 2020 16:12:21 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2044.4; Fri, 7 Aug 2020 16:12:09 +0000 Received: from E107187.Arm.com (10.57.36.22) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2044.4 via Frontend Transport; Fri, 7 Aug 2020 16:12:09 +0000 From: "Sami Mujawar" To: CC: Sami Mujawar , , , , , , , , , Subject: [PATCH v3 2/2] DynamicTablesPkg: Add EDK2 Core CI support Date: Fri, 7 Aug 2020 17:12:05 +0100 Message-ID: <20200807161205.50468-3-sami.mujawar@arm.com> X-Mailer: git-send-email 2.11.0.windows.3 In-Reply-To: <20200807161205.50468-1-sami.mujawar@arm.com> References: <20200807161205.50468-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: e7751d7e-dd12-47ff-95c0-08d83aecaf22 X-MS-TrafficTypeDiagnostic: AM0PR08MB3266:|VI1PR0802MB2221: 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: LN7DlnjtpbIoPCGhIzdLdxFfbxKtQC8nOhsJc8sHE75KsKjh3ItNbIigSiPVrsffL9+WE+pmvKzgCWFjNQoYByv6nQ9BrzzBi4uHHF1oiaFmWZtYb2prdJobSQAf59c54gHa8RJE5DqRkSKG8zS1uFdLq/PHt7TRph7YVQpGMy9G/cJGbYto/TIhSfrWVZof24J5HNNrEdJ8Sti4X2+qt+UkYGJR1fQ5f0fAE8XjvHUZ3LOUuI4/vML9W9kH82XgFn4FF/1Lx7maexPheJmwEq5uRuK8XAScwnLDSMqUJDW5I6MjrjNm60ovcNJoi/bCwI9N+9c5FEqNpBnbA9W3GiFB/Fl4fhXvLcArfJPw80k58kEes3ZE9VwUKeNknfP43mHd2ffob8cAb5qQ2WFvvsJd8fzja+RQd38CB4z52rPsNEy6tbBKB1/Atdln7PJ1is9PeCkbnm5BcyrFhpI1dMd7PXFDu8ELd5Jfeqk0m38= 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)(39860400002)(136003)(376002)(346002)(396003)(46966005)(19627235002)(70586007)(356005)(81166007)(83380400001)(47076004)(8936002)(54906003)(316002)(7696005)(8676002)(478600001)(70206006)(82310400002)(82740400003)(4326008)(966005)(6666004)(2616005)(36756003)(44832011)(26005)(6916009)(426003)(86362001)(2906002)(336012)(186003)(5660300002)(1076003);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3266 Return-Path: Sami.Mujawar@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT041.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: d8ef7659-1d08-4493-9c79-08d83aecaa23 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7dOedS3NUs9gm7+pi9qJOeBWxSSxxzjM1Q/uf8AYi5fV1w/Sr7MIZ+Curp/nDu5/nqkKXMzPCf2RSztA7A7OvAdRxW0oi8N2KfzCOHRtsWJubc4AL8OevRMPiKvPiNDpeRs4sOHE7qZu9sf0G5U405/rbMLBWHPx3tIpNaRXQxDbBVa1ilgFCRYfmEYD5Gyk5IeGV1LX3Td56epBwufM46TbPucURLRqIJPtgTZv+R4PDWhUyu+Oc4n6m6Os0D0g6GRNzwD7Ega4Pnxpyubp6/yr0ZymQ0rwMp16e1+E1iF92moQTJ8Iw3vdrxDfgNYmVJk9fvg667GtlmhzppAaxP4eXG5T7FjQc8xFJcdhnvKNvoAKpERrc9luUQ3AFh7wG5nXAjRd4OQ/ne87iQ11PlQsTHd/Y4j8AT2VIjQA63BxmBo3G1Aq1j4kPUssaGsgrHhLP3Frdw0tOn74dhR3Ps9W7x8vOcpjgPFWieT8t04= 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)(346002)(376002)(136003)(39860400002)(46966005)(336012)(81166007)(82310400002)(316002)(36906005)(36756003)(83380400001)(44832011)(5660300002)(2616005)(86362001)(426003)(47076004)(82740400003)(26005)(478600001)(7696005)(4326008)(54906003)(8676002)(966005)(70206006)(70586007)(8936002)(1076003)(6916009)(19627235002)(2906002)(186003)(6666004);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Aug 2020 16:12:29.7077 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e7751d7e-dd12-47ff-95c0-08d83aecaf22 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: AM5EUR03FT041.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2221 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: v3: - No code change. Splitting v2 patch series into two series. [Sami] The v3 series contains the patches for DynamicTablesPkg. Ref: https://edk2.groups.io/g/devel/message/63256 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)'