[edk2-devel] [Patch v4 00/22] Enable Phase 1 of EDK II CI

Michael D Kinney posted 22 patches 2 weeks ago
Failed in applying to current master (apply log)
.azurepipelines/Ubuntu-GCC5.yml               |  18 ++
.azurepipelines/Ubuntu-PatchCheck.yml         |  32 +++
.azurepipelines/Windows-VS2019.yml            |  18 ++
.../templates/basetools-build-steps.yml       |  36 +++
.../templates/pr-gate-build-job.yml           |  79 ++++++
.azurepipelines/templates/pr-gate-steps.yml   | 129 +++++++++
.../templates/spell-check-prereq-steps.yml    |  21 ++
.gitignore                                    |   6 +-
.mergify/config.yml                           |  97 +++++++
.pytool/CISettings.py                         | 173 ++++++++++++
.../CharEncodingCheck/CharEncodingCheck.py    | 118 ++++++++
.../CharEncodingCheck_plug_in.yaml            |  11 +
.pytool/Plugin/CharEncodingCheck/Readme.md    |  13 +
.../Plugin/CompilerPlugin/CompilerPlugin.py   | 102 +++++++
.../CompilerPlugin/Compiler_plug_in.yaml      |  11 +
.../Plugin/DependencyCheck/DependencyCheck.py | 120 +++++++++
.../DependencyCheck_plug_in.yaml              |  13 +
.../DscCompleteCheck/DscCompleteCheck.py      | 118 ++++++++
.../DscCompleteCheck_plug_in.yaml             |  12 +
.pytool/Plugin/DscCompleteCheck/readme.md     |  22 ++
.pytool/Plugin/GuidCheck/GuidCheck.py         | 251 ++++++++++++++++++
.../Plugin/GuidCheck/GuidCheck_plug_in.yaml   |  11 +
.pytool/Plugin/GuidCheck/Readme.md            |  60 +++++
.../LibraryClassCheck/LibraryClassCheck.py    | 153 +++++++++++
.../LibraryClassCheck_plug_in.yaml            |  11 +
.pytool/Plugin/LibraryClassCheck/readme.md    |  22 ++
.pytool/Plugin/SpellCheck/Readme.md           | 100 +++++++
.pytool/Plugin/SpellCheck/SpellCheck.py       | 216 +++++++++++++++
.../Plugin/SpellCheck/SpellCheck_plug_in.yaml |  11 +
.pytool/Plugin/SpellCheck/cspell.base.yaml    | 165 ++++++++++++
.pytool/Readme.md                             | 191 +++++++++++++
BaseTools/Bin/gcc_aarch64_linux_ext_dep.yaml  |  21 ++
BaseTools/Bin/gcc_arm_linux_ext_dep.yaml      |  21 ++
BaseTools/Bin/iasl_ext_dep.yaml               |  21 ++
BaseTools/Bin/nasm_ext_dep.yaml               |  18 ++
.../BinWrappers/PosixLike/posix_path_env.yaml |  10 +
.../WindowsLike/win_build_tools_path_env.yaml |  10 +
BaseTools/Conf/tools_def.template             |  18 +-
BaseTools/Edk2ToolsBuild.py                   | 163 ++++++++++++
.../BuildToolsReportGenerator.py              |  69 +++++
.../BuildToolsReportGenerator_plug_in.yaml    |  12 +
.../BuildToolsReport_Template.html            | 126 +++++++++
.../LinuxGcc5ToolChain/LinuxGcc5ToolChain.py  |  85 ++++++
.../LinuxGcc5ToolChain_plug_in.yaml           |  12 +
.../WindowsResourceCompiler/WinRcPath.py      |  29 ++
.../WinRcPath_plug_in.yaml                    |  13 +
.../WindowsVsToolChain/WindowsVsToolChain.py  | 126 +++++++++
.../WindowsVsToolChain_plug_in.yaml           |  11 +
.../basetool_tiano_python_path_env.yaml       |  11 +
BaseTools/basetools_calling_path_env.yaml     |  11 +
BaseTools/basetools_path_env.yaml             |  11 +
BaseTools/set_vsprefix_envs.bat               |  10 +
CryptoPkg/CryptoPkg.ci.yaml                   |  48 ++++
FatPkg/FatPkg.ci.yaml                         |  50 ++++
FmpDevicePkg/FmpDevicePkg.ci.yaml             |  43 +++
FmpDevicePkg/FmpDevicePkg.dsc                 |   6 +-
Maintainers.txt                               |  23 ++
MdeModulePkg/MdeModulePkg.ci.yaml             |  81 ++++++
MdePkg/MdePkg.ci.yaml                         |  90 +++++++
NetworkPkg/NetworkPkg.ci.yaml                 |  62 +++++
NetworkPkg/NetworkPkg.dsc                     |   5 +
PcAtChipsetPkg/PcAtChipsetPkg.ci.yaml         |  46 ++++
Readme.md                                     |  11 +
SecurityPkg/SecurityPkg.ci.yaml               |  80 ++++++
SecurityPkg/SecurityPkg.dsc                   |  32 ++-
ShellPkg/ShellPkg.ci.yaml                     |  55 ++++
SignedCapsulePkg/SignedCapsulePkg.dsc         |  38 ++-
UefiCpuPkg/UefiCpuPkg.ci.yaml                 |  51 ++++
requirements.txt                              |  17 ++
69 files changed, 3878 insertions(+), 8 deletions(-)
create mode 100644 .azurepipelines/Ubuntu-GCC5.yml
create mode 100644 .azurepipelines/Ubuntu-PatchCheck.yml
create mode 100644 .azurepipelines/Windows-VS2019.yml
create mode 100644 .azurepipelines/templates/basetools-build-steps.yml
create mode 100644 .azurepipelines/templates/pr-gate-build-job.yml
create mode 100644 .azurepipelines/templates/pr-gate-steps.yml
create mode 100644 .azurepipelines/templates/spell-check-prereq-steps.yml
create mode 100644 .mergify/config.yml
create mode 100644 .pytool/CISettings.py
create mode 100644 .pytool/Plugin/CharEncodingCheck/CharEncodingCheck.py
create mode 100644 .pytool/Plugin/CharEncodingCheck/CharEncodingCheck_plug_in.yaml
create mode 100644 .pytool/Plugin/CharEncodingCheck/Readme.md
create mode 100644 .pytool/Plugin/CompilerPlugin/CompilerPlugin.py
create mode 100644 .pytool/Plugin/CompilerPlugin/Compiler_plug_in.yaml
create mode 100644 .pytool/Plugin/DependencyCheck/DependencyCheck.py
create mode 100644 .pytool/Plugin/DependencyCheck/DependencyCheck_plug_in.yaml
create mode 100644 .pytool/Plugin/DscCompleteCheck/DscCompleteCheck.py
create mode 100644 .pytool/Plugin/DscCompleteCheck/DscCompleteCheck_plug_in.yaml
create mode 100644 .pytool/Plugin/DscCompleteCheck/readme.md
create mode 100644 .pytool/Plugin/GuidCheck/GuidCheck.py
create mode 100644 .pytool/Plugin/GuidCheck/GuidCheck_plug_in.yaml
create mode 100644 .pytool/Plugin/GuidCheck/Readme.md
create mode 100644 .pytool/Plugin/LibraryClassCheck/LibraryClassCheck.py
create mode 100644 .pytool/Plugin/LibraryClassCheck/LibraryClassCheck_plug_in.yaml
create mode 100644 .pytool/Plugin/LibraryClassCheck/readme.md
create mode 100644 .pytool/Plugin/SpellCheck/Readme.md
create mode 100644 .pytool/Plugin/SpellCheck/SpellCheck.py
create mode 100644 .pytool/Plugin/SpellCheck/SpellCheck_plug_in.yaml
create mode 100644 .pytool/Plugin/SpellCheck/cspell.base.yaml
create mode 100644 .pytool/Readme.md
create mode 100644 BaseTools/Bin/gcc_aarch64_linux_ext_dep.yaml
create mode 100644 BaseTools/Bin/gcc_arm_linux_ext_dep.yaml
create mode 100644 BaseTools/Bin/iasl_ext_dep.yaml
create mode 100644 BaseTools/Bin/nasm_ext_dep.yaml
create mode 100644 BaseTools/BinWrappers/PosixLike/posix_path_env.yaml
create mode 100644 BaseTools/BinWrappers/WindowsLike/win_build_tools_path_env.yaml
create mode 100644 BaseTools/Edk2ToolsBuild.py
create mode 100644 BaseTools/Plugin/BuildToolsReport/BuildToolsReportGenerator.py
create mode 100644 BaseTools/Plugin/BuildToolsReport/BuildToolsReportGenerator_plug_in.yaml
create mode 100644 BaseTools/Plugin/BuildToolsReport/BuildToolsReport_Template.html
create mode 100644 BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain.py
create mode 100644 BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain_plug_in.yaml
create mode 100644 BaseTools/Plugin/WindowsResourceCompiler/WinRcPath.py
create mode 100644 BaseTools/Plugin/WindowsResourceCompiler/WinRcPath_plug_in.yaml
create mode 100644 BaseTools/Plugin/WindowsVsToolChain/WindowsVsToolChain.py
create mode 100644 BaseTools/Plugin/WindowsVsToolChain/WindowsVsToolChain_plug_in.yaml
create mode 100644 BaseTools/Source/Python/basetool_tiano_python_path_env.yaml
create mode 100644 BaseTools/basetools_calling_path_env.yaml
create mode 100644 BaseTools/basetools_path_env.yaml
create mode 100644 CryptoPkg/CryptoPkg.ci.yaml
create mode 100644 FatPkg/FatPkg.ci.yaml
create mode 100644 FmpDevicePkg/FmpDevicePkg.ci.yaml
create mode 100644 MdeModulePkg/MdeModulePkg.ci.yaml
create mode 100644 MdePkg/MdePkg.ci.yaml
create mode 100644 NetworkPkg/NetworkPkg.ci.yaml
create mode 100644 PcAtChipsetPkg/PcAtChipsetPkg.ci.yaml
create mode 100644 SecurityPkg/SecurityPkg.ci.yaml
create mode 100644 ShellPkg/ShellPkg.ci.yaml
create mode 100644 UefiCpuPkg/UefiCpuPkg.ci.yaml
create mode 100644 requirements.txt

[edk2-devel] [Patch v4 00/22] Enable Phase 1 of EDK II CI

Posted by Michael D Kinney 2 weeks ago
https://bugzilla.tianocore.org/show_bug.cgi?id=2315

RFC Proposals:
* https://edk2.groups.io/g/rfc/message/93
* https://edk2.groups.io/g/devel/message/46607

Wiki Page:
* https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Continuous-Integration

Branch for review:
* https://github.com/tianocore/edk2-staging/tree/edk2-ci_V4

Changes in V4
* Only copy BaseTools build logs if BaseTools are built
* Add FINISHED and FAILED jobs to prevent multiple email notifications from 
  Mergify for PR close and PR comment actions
* Reformat .pytools/Readme.md to 80 columns
* Set WINSDK_PATH_FOR_RC_EXE in BaseTools/set_vsprefix_env.bat for VS2017/VS2019
* Update .gitignore to alphabetic ordering
* Update Maintainers.txt to alphabetic ordering
* Add file header comment block to requirements.txt
* Remove license badge and formatting changes from Readme.md

Previous versions of branches for reference:
* https://github.com/tianocore/edk2-staging/tree/edk2-ci_V3
* https://github.com/tianocore/edk2-staging/tree/edk2-ci_V2
* https://github.com/tianocore/edk2-staging/tree/edk2-ci_V1

Active branch for testing/evaluation:
* https://github.com/tianocore/edk2-staging/tree/edk2-ci
* To test, fork edk2-staging repo, create a branch with a change, and submit
  a pull request targeting edk2-staging/edk2-ci.  NOTE: the default branch for
  the edk2-staging is 'about'.  You must select the 'edk2-ci' branch when
  a pull request is opened.  Set the 'push' label to require commit if all
  checks pass.

Pull request history on active branch for testing/evaluation:
* https://github.com/tianocore/edk2-staging/pulls?q=is%3Apr+is%3Aclosed

This patch series enables pre-commit and post-commit checks on edk2/master The
goal is to improve quality of code submissions by requiring all pre-commit
checks to pass before any change is committed to edk2/master. In order to
minimize the impact to the developer process, when an EDK II Maintainer is ready
to commit changes to edk2/master, the EDK II Maintainer pushes a branch to their
personal fork of the edk2 repository and opens a pull request targeting
edk2/master and sets the 'push' label.  If all checks pass, then the pull
request is automatically committed.

A developer that wants to know if a patch series passes all checks can either
run the checks locally or open a pull request without setting the 'push' label.

The post-commit checks build all packages and provide status badges and links to
reports in the Readme.md file at the root of edk2/master.

A combination of GitHub, Azure Pipelines, Mergify, and edk2-pytool features are
used to implement this feature.  GitHub and Azure Pipelines configuration steps
are required to activate this feature on edk2/master.

Once this feature is active and shown to be stable for 1-2 weeks, write access
to the edk2 repository will be removed for all EDK II Maintainers.  Only admins
will retain write access, and admins should avoid use of direct push to resolve
an issue unless there is no method to resolve the issue using the pull request
method.

The following checks are made available by this patch series.  Not all checks
are enabled for all packages.  Enabling all checks on all packages can be done
incrementally as well as adding more checks over time.
* PatchCheck
* CharEncodingCheck
* CompilerPlugin
* DependencyCheck
* DscCompleteCheck
* GuidCheck
* LibraryClassCheck
* SpellCheck

Cc: Sean Brogan <sean.brogan@microsoft.com>
Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Andrew Fish <afish@apple.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Xiaoyu Lu <xiaoyux.lu@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Jiaxin Wu <jiaxin.wu@intel.com>
Cc: Siyuan Fu <siyuan.fu@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Chao Zhang <chao.b.zhang@intel.com>
Cc: Zhichao Gao <zhichao.gao@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>

Michael D Kinney (14):
  Maintainers.txt: Add continuous integration(CI) directories
  CryptoPkg: Add YAML file for CI builds
  FatPkg: Add YAML file for CI builds
  FmpDevicePkg: Add YAML file for CI builds
  MdeModulePkg: Add YAML file for CI builds
  MdePkg: Add YAML file for CI builds
  NetworkPkg: Add YAML file for CI builds
  PcAtChipsetPkg: Add YAML files for CI builds
  SecurityPkg: Add YAML files for CI builds
  ShellPkg: Add YAML file for CI builds
  UefiCpuPkg: Add YAML file for CI builds
  SignedCapsulePkg: Use BaseCryptLibNull to reduce package CI time
  .mergify: Add Mergify YML pull request rules configuration file
  Readme.md: Add CI build status badges

Sean Brogan (8):
  .gitignore: Ignore python compiled files, extdeps, and vscode
  requirements.txt: Add python pip requirements file
  BaseTools: Add RC_PATH define for VS2017/2019
  BaseTools: Add YAML files with path env and tool extdeps
  BaseTools: Add BaseTools plugins to support CI
  .pytool/Plugin: Add CI plugins
  .pytool: Add CISettings.py and Readme.md
  .azurepipelines: Add Azure Pipelines YML configuration files

 .azurepipelines/Ubuntu-GCC5.yml               |  18 ++
 .azurepipelines/Ubuntu-PatchCheck.yml         |  32 +++
 .azurepipelines/Windows-VS2019.yml            |  18 ++
 .../templates/basetools-build-steps.yml       |  36 +++
 .../templates/pr-gate-build-job.yml           |  79 ++++++
 .azurepipelines/templates/pr-gate-steps.yml   | 129 +++++++++
 .../templates/spell-check-prereq-steps.yml    |  21 ++
 .gitignore                                    |   6 +-
 .mergify/config.yml                           |  97 +++++++
 .pytool/CISettings.py                         | 173 ++++++++++++
 .../CharEncodingCheck/CharEncodingCheck.py    | 118 ++++++++
 .../CharEncodingCheck_plug_in.yaml            |  11 +
 .pytool/Plugin/CharEncodingCheck/Readme.md    |  13 +
 .../Plugin/CompilerPlugin/CompilerPlugin.py   | 102 +++++++
 .../CompilerPlugin/Compiler_plug_in.yaml      |  11 +
 .../Plugin/DependencyCheck/DependencyCheck.py | 120 +++++++++
 .../DependencyCheck_plug_in.yaml              |  13 +
 .../DscCompleteCheck/DscCompleteCheck.py      | 118 ++++++++
 .../DscCompleteCheck_plug_in.yaml             |  12 +
 .pytool/Plugin/DscCompleteCheck/readme.md     |  22 ++
 .pytool/Plugin/GuidCheck/GuidCheck.py         | 251 ++++++++++++++++++
 .../Plugin/GuidCheck/GuidCheck_plug_in.yaml   |  11 +
 .pytool/Plugin/GuidCheck/Readme.md            |  60 +++++
 .../LibraryClassCheck/LibraryClassCheck.py    | 153 +++++++++++
 .../LibraryClassCheck_plug_in.yaml            |  11 +
 .pytool/Plugin/LibraryClassCheck/readme.md    |  22 ++
 .pytool/Plugin/SpellCheck/Readme.md           | 100 +++++++
 .pytool/Plugin/SpellCheck/SpellCheck.py       | 216 +++++++++++++++
 .../Plugin/SpellCheck/SpellCheck_plug_in.yaml |  11 +
 .pytool/Plugin/SpellCheck/cspell.base.yaml    | 165 ++++++++++++
 .pytool/Readme.md                             | 191 +++++++++++++
 BaseTools/Bin/gcc_aarch64_linux_ext_dep.yaml  |  21 ++
 BaseTools/Bin/gcc_arm_linux_ext_dep.yaml      |  21 ++
 BaseTools/Bin/iasl_ext_dep.yaml               |  21 ++
 BaseTools/Bin/nasm_ext_dep.yaml               |  18 ++
 .../BinWrappers/PosixLike/posix_path_env.yaml |  10 +
 .../WindowsLike/win_build_tools_path_env.yaml |  10 +
 BaseTools/Conf/tools_def.template             |  18 +-
 BaseTools/Edk2ToolsBuild.py                   | 163 ++++++++++++
 .../BuildToolsReportGenerator.py              |  69 +++++
 .../BuildToolsReportGenerator_plug_in.yaml    |  12 +
 .../BuildToolsReport_Template.html            | 126 +++++++++
 .../LinuxGcc5ToolChain/LinuxGcc5ToolChain.py  |  85 ++++++
 .../LinuxGcc5ToolChain_plug_in.yaml           |  12 +
 .../WindowsResourceCompiler/WinRcPath.py      |  29 ++
 .../WinRcPath_plug_in.yaml                    |  13 +
 .../WindowsVsToolChain/WindowsVsToolChain.py  | 126 +++++++++
 .../WindowsVsToolChain_plug_in.yaml           |  11 +
 .../basetool_tiano_python_path_env.yaml       |  11 +
 BaseTools/basetools_calling_path_env.yaml     |  11 +
 BaseTools/basetools_path_env.yaml             |  11 +
 BaseTools/set_vsprefix_envs.bat               |  10 +
 CryptoPkg/CryptoPkg.ci.yaml                   |  48 ++++
 FatPkg/FatPkg.ci.yaml                         |  50 ++++
 FmpDevicePkg/FmpDevicePkg.ci.yaml             |  43 +++
 FmpDevicePkg/FmpDevicePkg.dsc                 |   6 +-
 Maintainers.txt                               |  23 ++
 MdeModulePkg/MdeModulePkg.ci.yaml             |  81 ++++++
 MdePkg/MdePkg.ci.yaml                         |  90 +++++++
 NetworkPkg/NetworkPkg.ci.yaml                 |  62 +++++
 NetworkPkg/NetworkPkg.dsc                     |   5 +
 PcAtChipsetPkg/PcAtChipsetPkg.ci.yaml         |  46 ++++
 Readme.md                                     |  11 +
 SecurityPkg/SecurityPkg.ci.yaml               |  80 ++++++
 SecurityPkg/SecurityPkg.dsc                   |  32 ++-
 ShellPkg/ShellPkg.ci.yaml                     |  55 ++++
 SignedCapsulePkg/SignedCapsulePkg.dsc         |  38 ++-
 UefiCpuPkg/UefiCpuPkg.ci.yaml                 |  51 ++++
 requirements.txt                              |  17 ++
 69 files changed, 3878 insertions(+), 8 deletions(-)
 create mode 100644 .azurepipelines/Ubuntu-GCC5.yml
 create mode 100644 .azurepipelines/Ubuntu-PatchCheck.yml
 create mode 100644 .azurepipelines/Windows-VS2019.yml
 create mode 100644 .azurepipelines/templates/basetools-build-steps.yml
 create mode 100644 .azurepipelines/templates/pr-gate-build-job.yml
 create mode 100644 .azurepipelines/templates/pr-gate-steps.yml
 create mode 100644 .azurepipelines/templates/spell-check-prereq-steps.yml
 create mode 100644 .mergify/config.yml
 create mode 100644 .pytool/CISettings.py
 create mode 100644 .pytool/Plugin/CharEncodingCheck/CharEncodingCheck.py
 create mode 100644 .pytool/Plugin/CharEncodingCheck/CharEncodingCheck_plug_in.yaml
 create mode 100644 .pytool/Plugin/CharEncodingCheck/Readme.md
 create mode 100644 .pytool/Plugin/CompilerPlugin/CompilerPlugin.py
 create mode 100644 .pytool/Plugin/CompilerPlugin/Compiler_plug_in.yaml
 create mode 100644 .pytool/Plugin/DependencyCheck/DependencyCheck.py
 create mode 100644 .pytool/Plugin/DependencyCheck/DependencyCheck_plug_in.yaml
 create mode 100644 .pytool/Plugin/DscCompleteCheck/DscCompleteCheck.py
 create mode 100644 .pytool/Plugin/DscCompleteCheck/DscCompleteCheck_plug_in.yaml
 create mode 100644 .pytool/Plugin/DscCompleteCheck/readme.md
 create mode 100644 .pytool/Plugin/GuidCheck/GuidCheck.py
 create mode 100644 .pytool/Plugin/GuidCheck/GuidCheck_plug_in.yaml
 create mode 100644 .pytool/Plugin/GuidCheck/Readme.md
 create mode 100644 .pytool/Plugin/LibraryClassCheck/LibraryClassCheck.py
 create mode 100644 .pytool/Plugin/LibraryClassCheck/LibraryClassCheck_plug_in.yaml
 create mode 100644 .pytool/Plugin/LibraryClassCheck/readme.md
 create mode 100644 .pytool/Plugin/SpellCheck/Readme.md
 create mode 100644 .pytool/Plugin/SpellCheck/SpellCheck.py
 create mode 100644 .pytool/Plugin/SpellCheck/SpellCheck_plug_in.yaml
 create mode 100644 .pytool/Plugin/SpellCheck/cspell.base.yaml
 create mode 100644 .pytool/Readme.md
 create mode 100644 BaseTools/Bin/gcc_aarch64_linux_ext_dep.yaml
 create mode 100644 BaseTools/Bin/gcc_arm_linux_ext_dep.yaml
 create mode 100644 BaseTools/Bin/iasl_ext_dep.yaml
 create mode 100644 BaseTools/Bin/nasm_ext_dep.yaml
 create mode 100644 BaseTools/BinWrappers/PosixLike/posix_path_env.yaml
 create mode 100644 BaseTools/BinWrappers/WindowsLike/win_build_tools_path_env.yaml
 create mode 100644 BaseTools/Edk2ToolsBuild.py
 create mode 100644 BaseTools/Plugin/BuildToolsReport/BuildToolsReportGenerator.py
 create mode 100644 BaseTools/Plugin/BuildToolsReport/BuildToolsReportGenerator_plug_in.yaml
 create mode 100644 BaseTools/Plugin/BuildToolsReport/BuildToolsReport_Template.html
 create mode 100644 BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain.py
 create mode 100644 BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain_plug_in.yaml
 create mode 100644 BaseTools/Plugin/WindowsResourceCompiler/WinRcPath.py
 create mode 100644 BaseTools/Plugin/WindowsResourceCompiler/WinRcPath_plug_in.yaml
 create mode 100644 BaseTools/Plugin/WindowsVsToolChain/WindowsVsToolChain.py
 create mode 100644 BaseTools/Plugin/WindowsVsToolChain/WindowsVsToolChain_plug_in.yaml
 create mode 100644 BaseTools/Source/Python/basetool_tiano_python_path_env.yaml
 create mode 100644 BaseTools/basetools_calling_path_env.yaml
 create mode 100644 BaseTools/basetools_path_env.yaml
 create mode 100644 CryptoPkg/CryptoPkg.ci.yaml
 create mode 100644 FatPkg/FatPkg.ci.yaml
 create mode 100644 FmpDevicePkg/FmpDevicePkg.ci.yaml
 create mode 100644 MdeModulePkg/MdeModulePkg.ci.yaml
 create mode 100644 MdePkg/MdePkg.ci.yaml
 create mode 100644 NetworkPkg/NetworkPkg.ci.yaml
 create mode 100644 PcAtChipsetPkg/PcAtChipsetPkg.ci.yaml
 create mode 100644 SecurityPkg/SecurityPkg.ci.yaml
 create mode 100644 ShellPkg/ShellPkg.ci.yaml
 create mode 100644 UefiCpuPkg/UefiCpuPkg.ci.yaml
 create mode 100644 requirements.txt

-- 
2.21.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#50126): https://edk2.groups.io/g/devel/message/50126
Mute This Topic: https://groups.io/mt/44874037/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [Patch v4 00/22] Enable Phase 1 of EDK II CI

Posted by Liming Gao 1 week ago
Mike:
  Thanks for your update. I only have one minor comment in Patch7. The full patch set is OK to me. Reviewed-by: Liming Gao <liming.gao@intel.com>.

Thanks
Liming
> -----Original Message-----
> From: Kinney, Michael D <michael.d.kinney@intel.com>
> Sent: Thursday, November 7, 2019 9:13 AM
> To: devel@edk2.groups.io
> Cc: Sean Brogan <sean.brogan@microsoft.com>; Bret Barkelew <Bret.Barkelew@microsoft.com>; Gao, Liming <liming.gao@intel.com>;
> Feng, Bob C <bob.c.feng@intel.com>; Andrew Fish <afish@apple.com>; Laszlo Ersek <lersek@redhat.com>; Leif Lindholm
> <leif.lindholm@linaro.org>; Wang, Jian J <jian.j.wang@intel.com>; Lu, XiaoyuX <xiaoyux.lu@intel.com>; Ni, Ray <ray.ni@intel.com>; Wu,
> Hao A <hao.a.wu@intel.com>; Wu, Jiaxin <jiaxin.wu@intel.com>; Fu, Siyuan <siyuan.fu@intel.com>; Yao, Jiewen
> <jiewen.yao@intel.com>; Zhang, Chao B <chao.b.zhang@intel.com>; Gao, Zhichao <zhichao.gao@intel.com>; Dong, Eric
> <eric.dong@intel.com>
> Subject: [Patch v4 00/22] Enable Phase 1 of EDK II CI
> 
> https://bugzilla.tianocore.org/show_bug.cgi?id=2315
> 
> RFC Proposals:
> * https://edk2.groups.io/g/rfc/message/93
> * https://edk2.groups.io/g/devel/message/46607
> 
> Wiki Page:
> * https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Continuous-Integration
> 
> Branch for review:
> * https://github.com/tianocore/edk2-staging/tree/edk2-ci_V4
> 
> Changes in V4
> * Only copy BaseTools build logs if BaseTools are built
> * Add FINISHED and FAILED jobs to prevent multiple email notifications from
>   Mergify for PR close and PR comment actions
> * Reformat .pytools/Readme.md to 80 columns
> * Set WINSDK_PATH_FOR_RC_EXE in BaseTools/set_vsprefix_env.bat for VS2017/VS2019
> * Update .gitignore to alphabetic ordering
> * Update Maintainers.txt to alphabetic ordering
> * Add file header comment block to requirements.txt
> * Remove license badge and formatting changes from Readme.md
> 
> Previous versions of branches for reference:
> * https://github.com/tianocore/edk2-staging/tree/edk2-ci_V3
> * https://github.com/tianocore/edk2-staging/tree/edk2-ci_V2
> * https://github.com/tianocore/edk2-staging/tree/edk2-ci_V1
> 
> Active branch for testing/evaluation:
> * https://github.com/tianocore/edk2-staging/tree/edk2-ci
> * To test, fork edk2-staging repo, create a branch with a change, and submit
>   a pull request targeting edk2-staging/edk2-ci.  NOTE: the default branch for
>   the edk2-staging is 'about'.  You must select the 'edk2-ci' branch when
>   a pull request is opened.  Set the 'push' label to require commit if all
>   checks pass.
> 
> Pull request history on active branch for testing/evaluation:
> * https://github.com/tianocore/edk2-staging/pulls?q=is%3Apr+is%3Aclosed
> 
> This patch series enables pre-commit and post-commit checks on edk2/master The
> goal is to improve quality of code submissions by requiring all pre-commit
> checks to pass before any change is committed to edk2/master. In order to
> minimize the impact to the developer process, when an EDK II Maintainer is ready
> to commit changes to edk2/master, the EDK II Maintainer pushes a branch to their
> personal fork of the edk2 repository and opens a pull request targeting
> edk2/master and sets the 'push' label.  If all checks pass, then the pull
> request is automatically committed.
> 
> A developer that wants to know if a patch series passes all checks can either
> run the checks locally or open a pull request without setting the 'push' label.
> 
> The post-commit checks build all packages and provide status badges and links to
> reports in the Readme.md file at the root of edk2/master.
> 
> A combination of GitHub, Azure Pipelines, Mergify, and edk2-pytool features are
> used to implement this feature.  GitHub and Azure Pipelines configuration steps
> are required to activate this feature on edk2/master.
> 
> Once this feature is active and shown to be stable for 1-2 weeks, write access
> to the edk2 repository will be removed for all EDK II Maintainers.  Only admins
> will retain write access, and admins should avoid use of direct push to resolve
> an issue unless there is no method to resolve the issue using the pull request
> method.
> 
> The following checks are made available by this patch series.  Not all checks
> are enabled for all packages.  Enabling all checks on all packages can be done
> incrementally as well as adding more checks over time.
> * PatchCheck
> * CharEncodingCheck
> * CompilerPlugin
> * DependencyCheck
> * DscCompleteCheck
> * GuidCheck
> * LibraryClassCheck
> * SpellCheck
> 
> Cc: Sean Brogan <sean.brogan@microsoft.com>
> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Cc: Bob Feng <bob.c.feng@intel.com>
> Cc: Andrew Fish <afish@apple.com>
> Cc: Laszlo Ersek <lersek@redhat.com>
> Cc: Leif Lindholm <leif.lindholm@linaro.org>
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Xiaoyu Lu <xiaoyux.lu@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Hao A Wu <hao.a.wu@intel.com>
> Cc: Jiaxin Wu <jiaxin.wu@intel.com>
> Cc: Siyuan Fu <siyuan.fu@intel.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Chao Zhang <chao.b.zhang@intel.com>
> Cc: Zhichao Gao <zhichao.gao@intel.com>
> Cc: Eric Dong <eric.dong@intel.com>
> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
> 
> Michael D Kinney (14):
>   Maintainers.txt: Add continuous integration(CI) directories
>   CryptoPkg: Add YAML file for CI builds
>   FatPkg: Add YAML file for CI builds
>   FmpDevicePkg: Add YAML file for CI builds
>   MdeModulePkg: Add YAML file for CI builds
>   MdePkg: Add YAML file for CI builds
>   NetworkPkg: Add YAML file for CI builds
>   PcAtChipsetPkg: Add YAML files for CI builds
>   SecurityPkg: Add YAML files for CI builds
>   ShellPkg: Add YAML file for CI builds
>   UefiCpuPkg: Add YAML file for CI builds
>   SignedCapsulePkg: Use BaseCryptLibNull to reduce package CI time
>   .mergify: Add Mergify YML pull request rules configuration file
>   Readme.md: Add CI build status badges
> 
> Sean Brogan (8):
>   .gitignore: Ignore python compiled files, extdeps, and vscode
>   requirements.txt: Add python pip requirements file
>   BaseTools: Add RC_PATH define for VS2017/2019
>   BaseTools: Add YAML files with path env and tool extdeps
>   BaseTools: Add BaseTools plugins to support CI
>   .pytool/Plugin: Add CI plugins
>   .pytool: Add CISettings.py and Readme.md
>   .azurepipelines: Add Azure Pipelines YML configuration files
> 
>  .azurepipelines/Ubuntu-GCC5.yml               |  18 ++
>  .azurepipelines/Ubuntu-PatchCheck.yml         |  32 +++
>  .azurepipelines/Windows-VS2019.yml            |  18 ++
>  .../templates/basetools-build-steps.yml       |  36 +++
>  .../templates/pr-gate-build-job.yml           |  79 ++++++
>  .azurepipelines/templates/pr-gate-steps.yml   | 129 +++++++++
>  .../templates/spell-check-prereq-steps.yml    |  21 ++
>  .gitignore                                    |   6 +-
>  .mergify/config.yml                           |  97 +++++++
>  .pytool/CISettings.py                         | 173 ++++++++++++
>  .../CharEncodingCheck/CharEncodingCheck.py    | 118 ++++++++
>  .../CharEncodingCheck_plug_in.yaml            |  11 +
>  .pytool/Plugin/CharEncodingCheck/Readme.md    |  13 +
>  .../Plugin/CompilerPlugin/CompilerPlugin.py   | 102 +++++++
>  .../CompilerPlugin/Compiler_plug_in.yaml      |  11 +
>  .../Plugin/DependencyCheck/DependencyCheck.py | 120 +++++++++
>  .../DependencyCheck_plug_in.yaml              |  13 +
>  .../DscCompleteCheck/DscCompleteCheck.py      | 118 ++++++++
>  .../DscCompleteCheck_plug_in.yaml             |  12 +
>  .pytool/Plugin/DscCompleteCheck/readme.md     |  22 ++
>  .pytool/Plugin/GuidCheck/GuidCheck.py         | 251 ++++++++++++++++++
>  .../Plugin/GuidCheck/GuidCheck_plug_in.yaml   |  11 +
>  .pytool/Plugin/GuidCheck/Readme.md            |  60 +++++
>  .../LibraryClassCheck/LibraryClassCheck.py    | 153 +++++++++++
>  .../LibraryClassCheck_plug_in.yaml            |  11 +
>  .pytool/Plugin/LibraryClassCheck/readme.md    |  22 ++
>  .pytool/Plugin/SpellCheck/Readme.md           | 100 +++++++
>  .pytool/Plugin/SpellCheck/SpellCheck.py       | 216 +++++++++++++++
>  .../Plugin/SpellCheck/SpellCheck_plug_in.yaml |  11 +
>  .pytool/Plugin/SpellCheck/cspell.base.yaml    | 165 ++++++++++++
>  .pytool/Readme.md                             | 191 +++++++++++++
>  BaseTools/Bin/gcc_aarch64_linux_ext_dep.yaml  |  21 ++
>  BaseTools/Bin/gcc_arm_linux_ext_dep.yaml      |  21 ++
>  BaseTools/Bin/iasl_ext_dep.yaml               |  21 ++
>  BaseTools/Bin/nasm_ext_dep.yaml               |  18 ++
>  .../BinWrappers/PosixLike/posix_path_env.yaml |  10 +
>  .../WindowsLike/win_build_tools_path_env.yaml |  10 +
>  BaseTools/Conf/tools_def.template             |  18 +-
>  BaseTools/Edk2ToolsBuild.py                   | 163 ++++++++++++
>  .../BuildToolsReportGenerator.py              |  69 +++++
>  .../BuildToolsReportGenerator_plug_in.yaml    |  12 +
>  .../BuildToolsReport_Template.html            | 126 +++++++++
>  .../LinuxGcc5ToolChain/LinuxGcc5ToolChain.py  |  85 ++++++
>  .../LinuxGcc5ToolChain_plug_in.yaml           |  12 +
>  .../WindowsResourceCompiler/WinRcPath.py      |  29 ++
>  .../WinRcPath_plug_in.yaml                    |  13 +
>  .../WindowsVsToolChain/WindowsVsToolChain.py  | 126 +++++++++
>  .../WindowsVsToolChain_plug_in.yaml           |  11 +
>  .../basetool_tiano_python_path_env.yaml       |  11 +
>  BaseTools/basetools_calling_path_env.yaml     |  11 +
>  BaseTools/basetools_path_env.yaml             |  11 +
>  BaseTools/set_vsprefix_envs.bat               |  10 +
>  CryptoPkg/CryptoPkg.ci.yaml                   |  48 ++++
>  FatPkg/FatPkg.ci.yaml                         |  50 ++++
>  FmpDevicePkg/FmpDevicePkg.ci.yaml             |  43 +++
>  FmpDevicePkg/FmpDevicePkg.dsc                 |   6 +-
>  Maintainers.txt                               |  23 ++
>  MdeModulePkg/MdeModulePkg.ci.yaml             |  81 ++++++
>  MdePkg/MdePkg.ci.yaml                         |  90 +++++++
>  NetworkPkg/NetworkPkg.ci.yaml                 |  62 +++++
>  NetworkPkg/NetworkPkg.dsc                     |   5 +
>  PcAtChipsetPkg/PcAtChipsetPkg.ci.yaml         |  46 ++++
>  Readme.md                                     |  11 +
>  SecurityPkg/SecurityPkg.ci.yaml               |  80 ++++++
>  SecurityPkg/SecurityPkg.dsc                   |  32 ++-
>  ShellPkg/ShellPkg.ci.yaml                     |  55 ++++
>  SignedCapsulePkg/SignedCapsulePkg.dsc         |  38 ++-
>  UefiCpuPkg/UefiCpuPkg.ci.yaml                 |  51 ++++
>  requirements.txt                              |  17 ++
>  69 files changed, 3878 insertions(+), 8 deletions(-)
>  create mode 100644 .azurepipelines/Ubuntu-GCC5.yml
>  create mode 100644 .azurepipelines/Ubuntu-PatchCheck.yml
>  create mode 100644 .azurepipelines/Windows-VS2019.yml
>  create mode 100644 .azurepipelines/templates/basetools-build-steps.yml
>  create mode 100644 .azurepipelines/templates/pr-gate-build-job.yml
>  create mode 100644 .azurepipelines/templates/pr-gate-steps.yml
>  create mode 100644 .azurepipelines/templates/spell-check-prereq-steps.yml
>  create mode 100644 .mergify/config.yml
>  create mode 100644 .pytool/CISettings.py
>  create mode 100644 .pytool/Plugin/CharEncodingCheck/CharEncodingCheck.py
>  create mode 100644 .pytool/Plugin/CharEncodingCheck/CharEncodingCheck_plug_in.yaml
>  create mode 100644 .pytool/Plugin/CharEncodingCheck/Readme.md
>  create mode 100644 .pytool/Plugin/CompilerPlugin/CompilerPlugin.py
>  create mode 100644 .pytool/Plugin/CompilerPlugin/Compiler_plug_in.yaml
>  create mode 100644 .pytool/Plugin/DependencyCheck/DependencyCheck.py
>  create mode 100644 .pytool/Plugin/DependencyCheck/DependencyCheck_plug_in.yaml
>  create mode 100644 .pytool/Plugin/DscCompleteCheck/DscCompleteCheck.py
>  create mode 100644 .pytool/Plugin/DscCompleteCheck/DscCompleteCheck_plug_in.yaml
>  create mode 100644 .pytool/Plugin/DscCompleteCheck/readme.md
>  create mode 100644 .pytool/Plugin/GuidCheck/GuidCheck.py
>  create mode 100644 .pytool/Plugin/GuidCheck/GuidCheck_plug_in.yaml
>  create mode 100644 .pytool/Plugin/GuidCheck/Readme.md
>  create mode 100644 .pytool/Plugin/LibraryClassCheck/LibraryClassCheck.py
>  create mode 100644 .pytool/Plugin/LibraryClassCheck/LibraryClassCheck_plug_in.yaml
>  create mode 100644 .pytool/Plugin/LibraryClassCheck/readme.md
>  create mode 100644 .pytool/Plugin/SpellCheck/Readme.md
>  create mode 100644 .pytool/Plugin/SpellCheck/SpellCheck.py
>  create mode 100644 .pytool/Plugin/SpellCheck/SpellCheck_plug_in.yaml
>  create mode 100644 .pytool/Plugin/SpellCheck/cspell.base.yaml
>  create mode 100644 .pytool/Readme.md
>  create mode 100644 BaseTools/Bin/gcc_aarch64_linux_ext_dep.yaml
>  create mode 100644 BaseTools/Bin/gcc_arm_linux_ext_dep.yaml
>  create mode 100644 BaseTools/Bin/iasl_ext_dep.yaml
>  create mode 100644 BaseTools/Bin/nasm_ext_dep.yaml
>  create mode 100644 BaseTools/BinWrappers/PosixLike/posix_path_env.yaml
>  create mode 100644 BaseTools/BinWrappers/WindowsLike/win_build_tools_path_env.yaml
>  create mode 100644 BaseTools/Edk2ToolsBuild.py
>  create mode 100644 BaseTools/Plugin/BuildToolsReport/BuildToolsReportGenerator.py
>  create mode 100644 BaseTools/Plugin/BuildToolsReport/BuildToolsReportGenerator_plug_in.yaml
>  create mode 100644 BaseTools/Plugin/BuildToolsReport/BuildToolsReport_Template.html
>  create mode 100644 BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain.py
>  create mode 100644 BaseTools/Plugin/LinuxGcc5ToolChain/LinuxGcc5ToolChain_plug_in.yaml
>  create mode 100644 BaseTools/Plugin/WindowsResourceCompiler/WinRcPath.py
>  create mode 100644 BaseTools/Plugin/WindowsResourceCompiler/WinRcPath_plug_in.yaml
>  create mode 100644 BaseTools/Plugin/WindowsVsToolChain/WindowsVsToolChain.py
>  create mode 100644 BaseTools/Plugin/WindowsVsToolChain/WindowsVsToolChain_plug_in.yaml
>  create mode 100644 BaseTools/Source/Python/basetool_tiano_python_path_env.yaml
>  create mode 100644 BaseTools/basetools_calling_path_env.yaml
>  create mode 100644 BaseTools/basetools_path_env.yaml
>  create mode 100644 CryptoPkg/CryptoPkg.ci.yaml
>  create mode 100644 FatPkg/FatPkg.ci.yaml
>  create mode 100644 FmpDevicePkg/FmpDevicePkg.ci.yaml
>  create mode 100644 MdeModulePkg/MdeModulePkg.ci.yaml
>  create mode 100644 MdePkg/MdePkg.ci.yaml
>  create mode 100644 NetworkPkg/NetworkPkg.ci.yaml
>  create mode 100644 PcAtChipsetPkg/PcAtChipsetPkg.ci.yaml
>  create mode 100644 SecurityPkg/SecurityPkg.ci.yaml
>  create mode 100644 ShellPkg/ShellPkg.ci.yaml
>  create mode 100644 UefiCpuPkg/UefiCpuPkg.ci.yaml
>  create mode 100644 requirements.txt
> 
> --
> 2.21.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#50238): https://edk2.groups.io/g/devel/message/50238
Mute This Topic: https://groups.io/mt/44874037/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-