Hello, Quick update on the CompareBuild failures with EmulatorPkg VS2019 IA32/X64. It was pilot error running comparison against the incorrect git reference.
PR #1 (Update EmulatorPkg Win Host [BuildOptions] MSFT CC_FLAGS to not force debug information) is required for both runs to do the comparison. I re-ran the BuildCompare GitHub Action using the following settings: Branch: https://github.com/mdkinney/edk2/tree/TestOnly_Uncrustify_PR_Series --ref1: 198028bf5e46d17f9c502b4ae35ecc406e211c37 --ref2: TestOnly_Uncrustify_PR_Series Extra Options: -n 4 --quiet Results: https://github.com/mdkinney/edk2/actions/runs/1498056902 30 VS2019 build comparisons PASS 40 GCC5 build comparisons PASS 100% PASS The following git log shows the set of patches from --ref1 to --ref 2across which there are no differences in any of the OBJ/LIB/DLL/EFI/FFS/FV/FD files. --ref2 641895102bcc (HEAD -> TestOnly_Uncrustify_PR_Series) UnitTestFrameworkPkg: Apply uncrusitify changes abdb2f5634db UefiPayloadPkg: Apply uncrusitify changes cb9d471105c2 UefiCpuPkg: Apply uncrusitify changes e52477cd96a1 StandaloneMmPkg: Apply uncrusitify changes c94b69de1b0c SourceLevelDebugPkg: Apply uncrusitify changes f4732a917d54 SignedCapsulePkg: Apply uncrusitify changes 815dcf7b2cd6 ShellPkg: Apply uncrusitify changes 8a699af3521c SecurityPkg: Apply uncrusitify changes d5907a145b37 RedfishPkg: Apply uncrusitify changes 5ce406d3823b PcAtChipsetPkg: Apply uncrusitify changes 082006536617 OvmfPkg: Apply uncrusitify changes 9c670c478ab4 NetworkPkg: Apply uncrusitify changes 51fa52ef0066 MdePkg: Apply uncrusitify changes 1b4476301abb MdeModulePkg: Apply uncrusitify changes 3701ed8a5588 IntelFsp2WrapperPkg: Apply uncrusitify changes 87db8c3e8f31 IntelFsp2Pkg: Apply uncrusitify changes add105d79021 FmpDevicePkg: Apply uncrusitify changes f8543fc3e5c5 FatPkg: Apply uncrusitify changes 65b5fc52fbb4 EmulatorPkg: Apply uncrusitify changes 3f436d2570b0 EmbeddedPkg: Apply uncrusitify changes cf01f39dd80d DynamicTablesPkg: Apply uncrusitify changes 550476264900 CryptoPkg: Apply uncrusitify changes c09e92b19e13 ArmVirtPkg: Apply uncrusitify changes 3d86c449ef90 ArmPlatformPkg: Apply uncrusitify changes bfa1b9c09f07 ArmPkg: Apply uncrusitify changes 541b0f55afa8 UefiCpuPkg: Change use of EFI_D_* to DEBUG_* b783d2499182 SourceLevelDebugPkg: Change use of EFI_D_* to DEBUG_* df1821d6ac0e ShellPkg: Change use of EFI_D_* to DEBUG_* 0c8159204288 SecurityPkg: Change use of EFI_D_* to DEBUG_* cb6643c08293 PcAtChipsetPkg: Change use of EFI_D_* to DEBUG_* db3f085cb414 OvmfPkg: Change use of EFI_D_* to DEBUG_* 04199e7b8779 NetworkPkg: Change use of EFI_D_* to DEBUG_* a429397c68ef MdePkg: Change use of EFI_D_* to DEBUG_* 408daf989bb1 MdeModulePkg: Change use of EFI_D_* to DEBUG_* 7846ceaf387e FatPkg: Change use of EFI_D_* to DEBUG_* 9934d3b85a31 EmulatorPkg: Change use of EFI_D_* to DEBUG_* e5b2066f2cc7 EmbeddedPkg: Change use of EFI_D_* to DEBUG_* c4b99a53238f ArmVirtPkg: Change use of EFI_D_* to DEBUG_* db8702afc3cf ArmPlatformPkg: Change use of EFI_D_* to DEBUG_* f62ed485f30f ArmPkg: Change use of EFI_D_* to DEBUG_* 04e68228fbbb .pytool/Plugin/Uncrustify: Add Uncrustify plugin 3d136bbc9935 .azurepipelines/templates: Update max pipeline job time to 2 hours 34bd4be55e66 UnitTestFrameworkPkg: Update YAML to ignore specific ECC files/errors 793bedcdfb00 UefiPayloadPkg: Update YAML to ignore specific ECC files/errors 7e2e089a77f2 StandaloneMmPkg: Update YAML to ignore specific ECC files/errors 504e1839503c ShellPkg: Update YAML to ignore specific ECC files/errors fda332b58dfb SecurityPkg: Update YAML to ignore specific ECC files/errors 8d24c7c5e971 MdePkg: Update YAML to ignore specific ECC files/errors e1182fcdbcea MdeModulePkg: Update YAML to ignore specific ECC files/errors 8a2b93ad4848 EmulatorPkg: Update YAML to ignore specific ECC files/errors eabfb14f432a CryptoPkg: Update YAML to ignore specific ECC files/errors cc4fc209113e ArmVirtPkg: Update YAML to ignore specific ECC files/errors 9ec1a1f0e996 ArmPlatformPkg: Update YAML to ignore specific ECC files/errors 3e6a038a080a ArmPkg: Update YAML to ignore specific ECC files/errors b93693132ec6 .pytools/Plugin/LicenseCheck: Use temp directory for git diff output b9fee7fe9d75 .pytool/Plugin/EccCheck: Add performance optimizations 26164e6e120c .pytool/Plugin/EccCheck: Remove temp directory on exception 8715acca4b68 .pytool/Plugin/EccCheck: Remove RevertCode() --ref1 198028bf5e46 EmulatorPkg/Win/Host: Update CC_FLAGS e1e7306b5414 (origin/master) OvmfPkg/Library/ResetSystemLib: Fix Microvm VS2019 NOOPT build issue Best regards, Mike > -----Original Message----- > From: Kinney, Michael D <michael.d.kin...@intel.com> > Sent: Tuesday, November 23, 2021 7:51 PM > To: devel@edk2.groups.io; Kinney, Michael D <michael.d.kin...@intel.com>; > Michael Kubacki <mikub...@linux.microsoft.com> > Subject: Uncrustify Conversion Detailed Plan and Extended Hard Freeze > Importance: High > > Hello, > > Michael Kubacki and I have prepared the patches required to apply the > uncrustify changes and enable EDK II CI to check all submitted > patches have been run through uncrustify. > > There are a couple minor updates expected over the next day. > New versions of this email will be sent with the latest links and > updates based on feedback from the community. > > We have verified through the CompareBuild GitHub Action that the > format changes performed by uncrustify have no functional changes. > All of the OBJ, LIB, DLL, EFI, FFS, FV, and FD files match 100% > across 70 VS2019/GCC5 builds of all package/platform DSC files in > the edk2 repo. > > The hard freeze will be extended after the edk2-stable202111 tag until > all uncrustify related changes are committed. We do not expect this > to take more than a few days. Do not push any PRs until the hard > freeze is lifted. > > The changes are broken up into 7 patch series/PRs. The PRs are ordered > so they can be submitted using the normal submission process and EDK II > CI will pass for each one. Details are listed below. > > Uncrustify 73.0.3 for EDK II > ============================= > * Sources: https://dev.azure.com/projectmu/_git/Uncrustify > * Documentation: > https://dev.azure.com/projectmu/Uncrustify/_wiki/wikis/Uncrustify.wiki/1/Project-Mu-(EDK-II)-Fork-Readme > * Download: > https://dev.azure.com/projectmu/Uncrustify/_packaging?_a=package&feed=mu_uncrustify&package=mu-uncrustify- > release&protocolType=NuGet&version=73.0.3 > > Installing Uncrustify > ====================== > The Uncrustify tool is installed automatically when the Pytools > environment is used and the stuart* commands are run to complete the > environment setup. Please see: > > https://github.com/tianocore/edk2/tree/master/.pytool#running-ci-locally > > Uncrustify can also be installed from the download page listed above > or built from sources from the source link above. > > The Documentation link provides instruction on how to run uncrustify from > the command line or install as a Visual Studio Code plugin. The main > uncrustify documentation also describes how to integrate with a few other > editors. > > We have also discussed a client side githook. That effort has not started. > Let us know if that is a feature you would find useful. > > Developer impact for new code reviews > ====================================== > Once the uncrustify checker is active in EDK II CI, developers must > make sure their patches are run through the uncrustify tool before > sending the patches for review. > > Developers must install and run uncrustify against changes files before > sending patch review emails or submitting PR for EDK II CI. If EDK II CI > detects and differences in soure formatting, then EDK II CI will fail > and the developer must run uncrustify and resubmit the patches. > > Developer impact to patch series/PRs reviewed during edk2-stable201121 > soft/hard freeze > ======================================================================================= > Developers must rebase their changes after the uncrustify source changes are > committed. The branch with a preview of the uncrustify changes can be used > to start this rebase work. > > > https://github.com/mdkinney/edk2/tree/Bug_3737_3739_ApplyUncrustifyChanges_V5 > > Impacts to tracing history across the uncrusity changes > ======================================================= > <<TBD details on how to use git blame>> > <<TBD details on other techniques>> > > Order of PRs to apply during extended hard freeze > ================================================== > 1) Update EmulatorPkg Win Host [BuildOptions] MSFT CC_FLAGS to not force > debug information > * https://bugzilla.tianocore.org/show_bug.cgi?id=3747 > * > https://github.com/mdkinney/edk2/tree/Bug_3747_EmulatorPkg_WinHost_ReproducibleBuild > * https://github.com/tianocore/edk2/pull/2215 > * Required for EmulatorPkg to pass CompareBuild for VS2019 IA32/X64 builds. > > 2) EccCheck should not revert staged and local changes > * https://bugzilla.tianocore.org/show_bug.cgi?id=2986 > * https://github.com/mdkinney/edk2/tree/Bug_2986_EccCheckRemoveGitRevert_V2 > * https://github.com/tianocore/edk2/pull/2216 > * Required for EDK II CI to complete in a reasonable period of time when > processing the 4000+ source file style changes made by uncrustify. > * Also fixes critical bugs that can potentially corrupt git state when > EccCheck is run locally. > > 3) Update pytool LicenseCheck plugin to use temp directory for diff output > file > * https://bugzilla.tianocore.org/show_bug.cgi?id=3746 > * > https://github.com/mdkinney/edk2/tree/Bug_3746_LicenseCheckUseDiffOutputFile_V2 > * https://github.com/tianocore/edk2/pull/2217 > * Required to reduce EDK II CI build times. > > 4) Update Package YAML to ignore specific ECC files/errors > * https://bugzilla.tianocore.org/show_bug.cgi?id=3749 > * https://github.com/mdkinney/edk2/tree/Bug_3749_EccCheckIgnoreFilesErrors > * https://github.com/tianocore/edk2/pull/2218 > * Required to pass EccCheck > > 5) Update max job time from 60 min to 120 minutes in .azurepipelines/templates > * https://bugzilla.tianocore.org/show_bug.cgi?id=3750 > * > https://github.com/mdkinney/edk2/tree/Bug_3750_IncreaseAzurePipelinesTimeout > * https://github.com/tianocore/edk2/pull/2219 > * Required to allow EccCheck of uncrustify changes to complete on Azure > Pipelines CI agents without timing out. > > 6) UncrustifyCheck EDK II CI Plugin > * https://bugzilla.tianocore.org/show_bug.cgi?id=3748 > * https://edk2.groups.io/g/devel/message/83982 > * Required to enforce all PRs submitted to EDK II CI match uncrustify > format. > > 7) Uncrustify Source Changes > * https://bugzilla.tianocore.org/show_bug.cgi?id=3737 > * https://bugzilla.tianocore.org/show_bug.cgi?id=3739 > * > https://github.com/mdkinney/edk2/tree/Bug_3737_3739_ApplyUncrustifyChanges_V5 > * EFI_D_ -> DEBUG changes required to pass PatchCheck > * Uncrustify format changes required to pass UncrustifyCheck > * PR not created yet because it will fail EccCheck without BZ #3749 > > Combined Branch/PR for Review/Test > ================================== > * Branch: https://github.com/mdkinney/edk2/tree/TestOnly_Uncrustify_PR_Series > * PR: https://github.com/tianocore/edk2/pull/2220 > Status = PASS > * CompareBuild: https://github.com/mdkinney/edk2/actions/runs/1497388377 > Status = FAIL for EmulatorPkg VS2019 IA32/X64 - Under investigation > * Build Comparison results must pass 100% across the full set of PRs before > the individual PRs can be pushed in the order listed above. > > Best regards, > > Mike -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#84055): https://edk2.groups.io/g/devel/message/84055 Mute This Topic: https://groups.io/mt/87275050/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-