summaryrefslogtreecommitdiff
path: root/.pytool
AgeCommit message (Collapse)AuthorFilesLines
2023-10-12CryptoPkg: Add Mbedtls submodule in CIWenxing Hou1-0/+2
Change CI for new Mbedtls submodule. REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4177 Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Yi Li <yi1.li@intel.com> Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com> Cc: Guomin Jiang <guomin.jiang@intel.com> Signed-off-by: Wenxing Hou <wenxing.hou@intel.com> Reviewed-by: Yi Li <yi1.li@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2023-06-06CharEncodingCheckPlugin: Remove Noisy PrintOliver Smith-Denny1-3/+1
Currently, CharEncodingCheckPlugin prints a message for every file that passes the test, which for some platforms can cause most of the CI build log to be filled with this print. It does not add any value, so this patch removes the noisy print and only prints if the encoding check fails. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Michael Kubacki <mikuback@linux.microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com> Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
2023-05-11MdePkg: Add mipisyst submoduleGua Guo1-0/+2
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4144 This Library provides functions consuming MIPI SYS-T submodule. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <quic_llindhol@quicinc.com> Cc: Guo Gua <gua.guo@intel.com> Cc: Chan Laura <laura.chan@intel.com> Cc: Prakashan Krishnadas Veliyathuparambil <krishnadas.veliyathuparambil.prakashan@intel.com> Cc: K N Karthik <karthik.k.n@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Michael Kubacki <mikuback@linux.microsoft.com> Signed-off-by: Guo Gua <gua.guo@intel.com> Reviewed-by: Leif Lindholm <quic_llindhol@quicinc.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Michael Kubacki <mikuback@linux.microsoft.com> Acked-by: Liming Gao <gaoliming@byosoft.com.cn>
2023-05-05.pytool: Support FDT library.Benny Lin1-0/+2
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4392 Add FDT support in EDK2 by submodule 3rd party libfdt (https://github.com/devicetree-org/pylibfdt/tree/main/libfdt) Add RequiredSubmodule object for CI setting. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Michael Kubacki <mikuback@linux.microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Benny Lin <benny.lin@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2023-04-10.pytool/CISettings.py: Add subhook submoduleChris Johnson1-0/+2
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4389 Add submodule for https://github.com/Zeex/subhook This submodule is required to hook internal functions when using gmock. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Michael Kubacki <mikuback@linux.microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Chris Johnson <chris.n.johnson@intel.com> Reviewed-by: Leif Lindholm <quic_llindhol@quicinc.com> Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Oliver Smith-Denny <osde@linux.microsoft.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2023-02-08.pytool/Plugin/EccCheck: Add PACKAGES_PATH supportMarvin Ha?user1-1/+8
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4326 EccBuild currently assumes all packages reside in WORKSPACE. However, this is obviously not the case for many setups. Most notably, Ext4Pkg is located in edk2-platforms/Features and thus cannot be in WORKSPACE in any reasonable setup. Use Edk2Path to locate the package in WORKSPACE and PACKAGES_PATH. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Michael Kubacki <mikuback@linux.microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Pedro Falcato <pedro.falcato@gmail.com> Signed-off-by: Marvin H?user <mhaeuser@posteo.de> Acked-by: Pedro Falcato <pedro.falcato@gmail.com> Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
2023-01-17.pytool: CISettings.py: don't add scopes for GCCOliver Steffen1-9/+0
All ext_dep.yml files for gcc have been removed and gcc is expected to be installed on the system (GCC5_*_PREFIX may indicate the location). No need to adjust the toolchain scopes for Linux builds anymore. Signed-off-by: Oliver Steffen <osteffen@redhat.com> Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com> Acked-by: Ard Biesheuvel <ardb@kernel.org> Acked-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Chris Fernald <chfernal@microsoft.com>
2022-12-16.pytool/Readme.md: Add reference to new build instructionsMichael Kubacki1-35/+17
Adds a reference to the new build instructions on the TianoCore wiki that currently describe building with containers and Stuart. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Acked-by: Ard Biesheuvel <ardb@kernel.org> Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
2022-11-11.pytool: Add googletest submodule to CISettings.pyMichael D Kinney1-0/+2
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4134 Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Michael Kubacki <mikuback@linux.microsoft.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Michael Kubacki <mikuback@linux.microsoft.com>
2022-10-14.pytool: Add LoongArch64 architecture on LoongArch64 EDK2 CI.Chao Li1-1/+4
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4053 Add LoongArch64 architecture on LoongArch64 EDK2 CI testing. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Chao Li <lichao@loongson.cn> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2022-10-14.python/SpellCheck: Add "Loongson" and "LOONGARCH" to "words" sectionChao Li1-1/+3
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4053 Add Loongson and LOONGARCH to "words" section in cspell.base.yaml file to avoid spelling check error. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Chao Li <lichao@loongson.cn> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2022-10-06SourceLevelDebugPkg: Add package CI YAML fileMichael Kubacki1-0/+1
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4091 Adds the package as a supported package to .pytool/CISettings.py and adds a CI YAML for the package so it can be run in CI. Cc: Hao A Wu <hao.a.wu@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2022-10-04SignedCapsulePkg: Add package CI YAML fileMichael Kubacki1-0/+1
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4050 Adds the package as a supported package to .pytool/CISettings.py and adds a CI YAML for the package so it can be run in CI. Cc: Jian J Wang <jian.j.wang@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2022-10-04IntelFsp2WrapperPkg: Add CI YAML fileMichael Kubacki1-0/+1
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4048 Adds IntelFsp2WrapperPkg to the list of supported build packages for edk2 CI and defines an initial set of CI configuration options. Adds a special case for the Library Class check CI plugin to ignore FspWrapperPlatformMultiPhaseLib with an explanatory comment. Cc: Chasel Chiu <chasel.chiu@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Star Zeng <star.zeng@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Michael D Kinney <michael.d.kinney>
2022-10-04IntelFsp2Pkg: Add CI YAML fileMichael Kubacki1-0/+1
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4048 Adds IntelFsp2Pkg to the list of supported build packages for edk2 CI and defines an initial set of CI configuration options. Cc: Chasel Chiu <chasel.chiu@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Star Zeng <star.zeng@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Michael D Kinney <michael.d.kinney>
2022-10-03EmbeddedPkg: Add CI YAML fileMichael Kubacki1-0/+1
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4046 Adds EmbeddedPkg to the list of supported build packages for edk2 CI and fixes Library Class Check errors reported. These changes allow EmbeddedPkg to pass NO-TARGET CI testing. Cc: Leif Lindholm <quic_llindhol@quicinc.com> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Abner Chang <abner.chang@amd.com> Cc: Daniel Schaefer <git@danielschaefer.me> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com> Acked-by: Ard Biesheuvel <ardb@kernel.org>
2022-06-07.pytool: UncrustifyCheck: Set IgnoreFiles path relative to package pathKun Qin1-1/+1
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3942 `IgnoreFiles` tag is specified in the CI YAML files in each individual packages. The current logic for UncrustifyCheck script bases specified file paths from workspace, which requires the package name to be included in each entry. This change updates the ignore checking logic to be based on current package path in order to reduce redundancy. It also keeps the consistency of `IgnoreFiles` field other pytools such as SpellCheck and EccCheck. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Michael Kubacki <mikuback@linux.microsoft.com> Signed-off-by: Kun Qin <kuqin12@gmail.com> Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
2022-05-19.pytool/plugin/SpellCheck: Add more common wordsMichael Kubacki1-1/+112
Appends the word list to reduce the number of errors encountered by individual packages. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2022-05-19.pytool/plugin/SpellCheck: Allow compound wordsMichael Kubacki1-1/+1
Sets "allowCompoundWords" to "true" to reduce the number of compound word issues encountered in the future. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2022-05-09.pytool: Fix python command error in self introduction docChao Li1-2/+2
Fix misspelling of word "Prerequisites". In the step 5 of the Prerequisites section, the python command was missing the "-r" option, what the command really meant was to install from the given requirements file, so fix that. Cc: sean.brogan@microsoft.com Cc: Bret.Barkelew@microsoft.com Cc: michael.d.kinney@intel.com Cc: gaoliming@byosoft.com.cn Signed-off-by: Chao Li <lichao@loongson.cn> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2022-04-22.pytool/Plugin/UncrustifyCheck: Add Azure DevOps UI debug instructionsMichael Kubacki1-0/+5
Adds a link to the log output that contains instructions on how find detailed file formatting errors in the Azure DevOps UI. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Sean Brogan <sean.brogan@microsoft.com>
2022-04-05PrmPkg: Changes for edk2 repo transitionMichael Kubacki1-0/+1
Updates the Readme.md files to remove information that was specific to the package in edk2-staging and adds key definitions being added for PRM support in the ACPI Specification. Adds PrmPkg/PrmPkg.ci.yaml to support CI. Adds PrmPkg to .pytool/CISettings.py. Adds PrmPkg maintainers to Maintainers.txt. Cc: Andrew Fish <afish@apple.com> Cc: Kang Gao <kang.gao@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Michael Kubacki <michael.kubacki@microsoft.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Benjamin You <benjamin.you@intel.com> Cc: Liu Yun <yun.y.liu@intel.com> Cc: Ankit Sinha <ankit.sinha@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Acked-by: Michael D Kinney <michael.d.kinney@intel.com> Acked-by: Liming Gao <gaoliming@byosoft.com.cn> Acked-by: Leif Lindholm <quic_llindhol@quicinc.com> Reviewed-by: Ankit Sinha <ankit.sinha@intel.com>
2022-04-04.pytool/Plugin/UncrustifyCheck: Add ignore file supportMichael Kubacki2-0/+39
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3880 Currently UncrustifyCheck.py provides the following exclusion options: 1. Override the type of files UncrustifyCheck operates against by default (.c and .h files). Using the "IgnoreStandardPaths" configuration option. 2. By default, UncrustifyCheck skips files in git submodules and ignored by git (the "SkipGitExclusions" configuration option can override this behavior). The goal of UncrustifyCheck is to provide consistent formatting across the codebase. In some rare circumstances, maintainers might need to exclude a specific file (or file pattern) within their package. For example, a small set of auto-generated files from another repository. This change adds a new configuration option that can be specified in a package CI YAML file to describe a list of files within the package that should be ignored by UncrustifyCheck. The configuration option is called "IgnoreFiles" and it uses similar syntax to git ignore to ignore a list of files. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Sean Brogan <sean.brogan@microsoft.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2022-04-04.pytool/Plugin/UncrustifyCheck: Update func to return absolute pathsMichael Kubacki1-1/+6
Currently, UncrustifyCheck._get_git_ignored_paths() is documented to return a list of absolute file paths but it currently returns a list of relative file paths. This change updates the function to return a list of absolute file paths. The result is later compared to the list of absolute file paths for files to run against Uncrustify. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
2022-03-09.pytool: Update to newest pytoolsKen Lautner10-11/+11
Update to the newest pytools and resolves the API change for GetAbsolutePathOnThisSytemFromEdk2RelativePath Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Kenneth Lautner <kenlautner3@gmail.com> Reviewed-by: Sean Brogan <sean.brogan@microsoft.com>
2022-03-08.pytool/Plugin/UncrustifyCheck: Output file diffs by defaultMichael Kubacki2-5/+5
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3808 Changes the default for the "OutputFileDiffs" configuration option to "True" so the formatting suggestions detected by Uncrustify will be output in the test case log. The diff is printed in unified diff format. This was disabled by default during the initial enabling of Uncrustify to reduce overall execution time of the plugin against the codebase due to the large number of changes detected. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Rebecca Cran <quic_rcran@quicinc.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2021-12-07.pytool/Plugin/UncrustifyCheck: Add Uncrustify CI pluginMichael Kubacki8-0/+1255
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3748 Adds a new CI plugin for Uncrustify. This is used to check coding standard compliance of source code to the EDK II C Coding Standards Specification. An external dependency is added in the plugin directory to retrieve the Uncrustify executable. Currently, the executable is from an edk2 fork of the application host in this repository: https://dev.azure.com/projectmu/Uncrustify/ Note that the Uncrustify application outputs the commit ID that the application was built from when given the --version parameter. This ID can be mapped to the version specified in the Uncrustify CI plugin external dependency file (uncrustify_ext_dep.yaml) such as 73.0.3 by visiting the Uncrustify edk2 fork release pipeline page which associates the NuGet package version with the commit ID it was built from: https://dev.azure.com/projectmu/Uncrustify/_build The default Uncrustify configuration files are added in the plugin directory. Additional details are in the Readme.md file added in the Uncrustify plugin directory. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Bret Barkelew <bret.barkelew@microsoft.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com> Tested-by: Michael D Kinney <michael.d.kinney@intel.com>
2021-11-29.pytools/Plugin/LicenseCheck: Use temp directory for git diff outputMichael D Kinney1-6/+14
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3746 Use --output option in git diff command to remove code diffs from build log on stdout when LicenseCheck plugin is run. Instead, create a temp directory for the diff output file and remove the temp directory after the diff output is processed. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Michael Kubacki <michael.kubacki@microsoft.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Acked-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Reviewed-by: Sean Brogan <sean.brogan@microsoft.com>
2021-11-29.pytool/Plugin/EccCheck: Add performance optimizationsMichael D Kinney1-27/+94
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2986 Improve the performance of EccCheck by using a temp file instead of stdout to capture the results of the git diff commands. If a large patch set is passed into EccCheck, using stdout could be slow and also added the large diff content to the build log that is redundant information. A second performance improvement is to filter the modified directories to remove duplicate directories. Complex libraries and modules that have subdirectories with sources would be scanned twice if there were source changes in both the main directory and subdirectories. Filter out the subdirectories from the modified directory list when this case is detected. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Michael Kubacki <michael.kubacki@microsoft.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Acked-by: Sean Brogan <sean.brogan@microsoft.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2021-11-29.pytool/Plugin/EccCheck: Remove temp directory on exceptionMichael D Kinney1-31/+47
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2986 Add try/except to RunBuildPlugin() to remove temporary directory if a KeyboardInterrupt exception or an unexpected exception is detected. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Michael Kubacki <michael.kubacki@microsoft.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Acked-by: Sean Brogan <sean.brogan@microsoft.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2021-11-29.pytool/Plugin/EccCheck: Remove RevertCode()Michael D Kinney1-40/+53
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2986 The RevertCode() method uses git reset which can remove local changes. Instead of modifying the local files, a copy of the package passed into the EccCheck tool is copied to a temp directory in Build/ecctemp. This same temp directory is also used for exception.xml. The working directory used by ECC is also set to this same temp directory. The combination of these changes eliminates operations that that modified the git state. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Michael Kubacki <michael.kubacki@microsoft.com> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Acked-by: Sean Brogan <sean.brogan@microsoft.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2021-09-02.azurepipelines: Add UefiPayloadPkg in gate-build-job.yml and CISetting.pyduntan1-1/+2
Add UefiPayloadPkg in gate-build-job.yml to enable Core ci for UefiPayloadPkg. Add UefiPayloadPkg to supported Packages in CISettings. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: DunTan <dun.tan@intel.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2021-07-12.pytool/EccCheck: Set PACKAGES_PATH env var in EccPierre Gondois1-0/+1
When running Ecc on other repositories (e.g.: edk2-platforms with edk2 as a submodule), edk2 modules are referenced. E.g.: MdePkg/.. The PACKAGES_PATH env var can be used to reference other directories containing packages. Set it so that Ecc can find these packages. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Sami Mujawar <sami.mujawar@arm.com> Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2021-07-12.pytool/EccCheck: Check ecc_csv existsPierre Gondois1-3/+2
'workspace_path' being an absolute path leads to 'ecc_csv' being an absolute path. Then it won't be found among 'file' as they are relative paths. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Sami Mujawar <sami.mujawar@arm.com> Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2021-07-12.pytool/EccCheck: Rename edk2_path as workspace_pathPierre Gondois1-16/+16
The edk2 path and the workspace path are identical when running Ecc on edk2. When running Ecc on another repository (e.g.: edk2-platforms with edk2 as a submodule of edk2-platforms), these directories are different. Indeed, in the latter configuration, Ecc must run git commands on the tested repository, i.e. the workspace directory, edk2-platforms. Thus, rename edk2_path as workspace_path. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Sami Mujawar <sami.mujawar@arm.com> Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2021-07-12.pytool/EccCheck: Locate BaseTools dir with EDK_TOOLS_PATHPierre Gondois1-8/+10
The BaseTools directory is currently being located as a sub-directory of the WORKSPACE env var. This might not be true in other environments. Cf EDKII Build Specification, s4.1.3 "Build Process Restrictions": There is no restriction on the location of the EDK_TOOLS_PATH, it may be located within a directory identified as the WORKSPACE directory, or in any other location that is accessible on the development workstation. Locate the BaseTools directory using EDK_TOOLS_PATH instead. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Sami Mujawar <sami.mujawar@arm.com> Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2021-07-09Pytool: SpellCheck: Defer path expansion in cspell parametersSean Brogan1-1/+2
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3454 On Linux the shell expands the wildcard paths and causes multiple files to be missed. This change adds additional quotes to defer expansion in order to bring parity in cspell result. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Sean Brogan <sean.brogan@microsoft.com> Signed-off-by: Kun Qin <kuqin12@gmail.com> Reviewed-by: Sean Brogan <sean.brogan@microsoft.com> Reviewed-by: Bret Barkelew <bret.barkelew@microsoft.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2021-06-15Pytool: SpellCheck: Fix incorrect file mask across package matricesSean Brogan1-3/+4
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3443 Existing implementation could modify class global data that causes potential incorrect file mask to be used for execution of plugin. This change switches class variable to be tuple so that it cannot be accidently modified. Local usage of STANDARD_PLUGIN_DEFINED_PATHS is also changed to copy to new list before modification. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Sean Brogan <sean.brogan@microsoft.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2021-04-28.pytool: Document LicenseCheck and EccCheckPierre Gondois1-0/+10
Add an entry in the documentation for the LicenseCheck and EccCheck plugins. Cc: Bret Barkelew <bret.barkelew@microsoft.com> Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Sami Mujawar <sami.mujawar@arm.com> Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com> Acked-by: Bret Barkelew <bret.barkelew@microsoft.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
2021-04-28.pytool: Enable CI for ArmPlatformPkgPierre Gondois2-1/+2
Enable the CI for the ArmPlatformPkg. Cc: Bret Barkelew <bret.barkelew@microsoft.com> Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Sami Mujawar <sami.mujawar@arm.com> Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com> Reviewed-by: Bret Barkelew <bret.barkelew@microsoft.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
2021-04-28.pytool: Enable CI for ArmPkgPierre Gondois2-2/+3
Enable the CI for the ArmPkg. Cc: Bret Barkelew <bret.barkelew@microsoft.com> Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Sami Mujawar <sami.mujawar@arm.com> Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com> Reviewed-by: Bret Barkelew <bret.barkelew@microsoft.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
2021-02-09BaseTools: Use pip module if available, CI uses it by defaultMatthew Carlson1-15/+42
Use the new edk2-basetools pip module. Includes a helpful message in setup to let users know which has been selected. Cc: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Yuwei Chen <yuwei.chen@intel.com> Reviewed-by: Bob Feng <bob.c.feng@intel.com> Reviewed-by: Yuwei <Chen<yuwei.chen@intel.com> Signed-off-by: Matthew Carlson <matthewfcarlson@gmail.com>
2021-01-09.pytool: Add required submodule for JsonLibAbner Chang1-0/+2
Open source project jansson is leveraged by edk2 JsonLib. Add jansson to the required submodule in CiSettings.py. Signed-off-by: Abner Chang <abner.chang@hpe.com> Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Cc: Nickle Wang <nickle.wang@hpe.com> Cc: Peter O'Hanley <peter.ohanley@hpe.com> Reviewed-by: Bret Barkelew <Bret.Barkelew@microsoft.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2021-01-07.pytool: CI Settings to support StandaloneMmPkgSami Mujawar2-2/+3
Bugzilla: 3150 (https://bugzilla.tianocore.org/show_bug.cgi?id=3150) Update pytools configuration to enable StandaloneMmPkg and update package status in documentation. Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Bret Barkelew <bret.barkelew@microsoft.com> Acked-by: Jiewen Yao <Jiewen.yao@intel.com> Acked-by: Ard Biesheuvel <ard.biesheuvel@arm.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2020-10-16.python/SpellCheck: Add 'XIPFLAGS' to "words" sectionSami Mujawar1-0/+1
The EDKII Core CI reports spelling error for XIPFLAGS. The XIPFLAGS are typically used to specify XIP options to the compiler. e.g. GCC:*_*_*_CC_XIPFLAGS = -fno-jump-tables Add 'XIPFLAGS' to "words" section in cspell.base.yaml file to avoid spelling check error. Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Acked-by: Ard Biesheuvel <ard.biesheuvel@arm.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
2020-10-15.pytool: Add CI on RedfishPkgAbner Chang1-1/+2
Add RedfishPkg to CI test. Signed-off-by: Abner Chang <abner.chang@hpe.com> Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Nickle Wang <nickle.wang@hpe.com> Reviewed-by: Bret Barkelew <Bret.Barkelew@microsoft.com> Acked-by: Laszlo Ersek <lersek@redhat.com>
2020-09-03Revert ".pytool/EccCheck: Disable Ecc error code 10014 for open CI"edk2-stable202008Zhang, Shenglei1-1/+0
This reverts commit d4e0b9607c9a64a8eff20724b2e35ea2cd5bd33f. REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2951 Previously false positive Ecc issue whose error code is 10014 was reported under Linux OS. So we disabled it in EccCheck plugin for edk2 open CI. As the bug is fixed, we need to revert the change and re-enable it. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2020-08-24.pytool/EccCheck: Disable Ecc error code 10014 for open CIShenglei Zhang1-0/+1
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2920 Ecc issues whose error code is 10014, can't be correctly handled under Linux OS, resulting from a bug in Ecc tool. So we need to disable it before ecc tool is repaired. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2020-08-19.pytool: CI Settings to support DynamicTablesPkgSami Mujawar2-1/+3
Update pytools configuration to enable DynamicTablesPkg and update package status in documentation. Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Alexei Fedorov <Alexei.Fedorov@arm.com> Reviewed-by: Shenglei Zhang <shenglei.zhang@intel.com>
2020-08-17.pytool/Plugin: Add a plugin EccCheckShenglei Zhang3-0/+335
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2606 EccCheck is a plugin to report Ecc issues for code in pull request , which will be run on open ci. But note not each kind of issue could be reported out. It can only handle the issues, whose line number in CSV report accurately map with their code in source code files. And Ecc issues about comments can also be handled. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com>