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

Michael D Kinney posted 22 patches 4 years, 6 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
.azurepipelines/Ubuntu-GCC5.yml               |  18 ++
.azurepipelines/Ubuntu-PatchCheck.yml         |  35 +++
.azurepipelines/Windows-VS2019.yml            |  18 ++
.../templates/basetools-build-steps.yml       |  36 +++
.../templates/pr-gate-build-job.yml           |  60 +++++
.azurepipelines/templates/pr-gate-steps.yml   | 129 +++++++++
.../templates/spell-check-prereq-steps.yml    |  21 ++
.gitignore                                    |   5 +
.mergify/config.yml                           |  71 +++++
.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                             | 128 +++++++++
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 +
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                                     |  29 +-
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                              |   2 +
68 files changed, 3759 insertions(+), 14 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 v3 00/22] Enable Phase 1 of EDK II CI
Posted by Michael D Kinney 4 years, 6 months 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_V3

Previous versions of branches for reference:
* 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
  .merify: Add Megify 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/tools_def.template: Add RC_PATH define
  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         |  35 +++
 .azurepipelines/Windows-VS2019.yml            |  18 ++
 .../templates/basetools-build-steps.yml       |  36 +++
 .../templates/pr-gate-build-job.yml           |  60 +++++
 .azurepipelines/templates/pr-gate-steps.yml   | 129 +++++++++
 .../templates/spell-check-prereq-steps.yml    |  21 ++
 .gitignore                                    |   5 +
 .mergify/config.yml                           |  71 +++++
 .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                             | 128 +++++++++
 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 +
 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                                     |  29 +-
 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                              |   2 +
 68 files changed, 3759 insertions(+), 14 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 (#49584): https://edk2.groups.io/g/devel/message/49584
Mute This Topic: https://groups.io/mt/39614149/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [Patch v3 00/22] Enable Phase 1 of EDK II CI
Posted by Laszlo Ersek 4 years, 6 months ago
On 10/29/19 20:54, Michael D Kinney wrote:

> 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.

The edk2-staging repository has been added as a "git remote" to my local
edk2 clone for a long while now. Using the local identifier "staging".
(This makes perfect sense as edk2-staging is itself a fork of edk2, with
branches that are supposed to be rebased to edk2/master periodically.)

Furthermore, the identifier by which I refer to the remote at
<https://github.com/lersek/edk2.git> is "lersek".

I've now run the following commands:

$ git fetch staging
$ git checkout -b ci-test-1 staging/edk2-ci

[modify "SampleFile.txt"]

$ git add -p
$ git commit
$ git push lersek ci-test-1

Questions:

(a) How can I submit a pull request for the staging repo's edk2-ci
branch using the command line (and set the "push" label)?

(b) How can I submit a PR for the staging repo's edk2-ci branch
(regardless of command line vs. WebUI usage) against my
<https://github.com/lersek/edk2.git> repository?

When I go to the WebUI, the PR view does not offer
"tianocore/edk2-staging" as "base repository", it only offers
"tianocore/edk2". I thought I'd be able to pick any destination
repository at all.

By the instruction "fork edk2-staging repo", did you mean we should fork
edk2-staging *on github*? (Using the WebUI?)

Thanks!
Laszlo


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

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

Re: [edk2-devel] [Patch v3 00/22] Enable Phase 1 of EDK II CI
Posted by Michael D Kinney 4 years, 6 months ago
Hi Laszlo,

===================================================
Note for all reviewers:
---------------------------------------------------
Pull requests against edk2-staging/edk2-ci are not
being processed right now.  We are working on some
configuration changes after noticing that all the
checks were not being shown on the Web UI.  We will
let you know when it is back up.
===================================================

Yes.  You need to create a fork of the tianocore/edk2-staging repo.

You can do this with the WebUI or the hub command line utility.

* https://github.com/github/hub
* https://github.com/github/hub/releases
* https://hub.github.com/hub.1.html

The hub command also supports creating a pull request.
I have used it extensively to write some unit tests
for edk2-ci this week.

Once you create a branch with changes to submit in your
own fork of tianocore/edk2-staging the WebUI will show
that this pull request is possible and guide you through
it.

The use of edk2-staging/edk2-ci is only for the review
and unit testing.  Once the review is approved, it will
be enabled on edk2/master and you will be able to use
your own fork of edk2 to make branches and submit pull
requests.

Mike

> -----Original Message-----
> From: Laszlo Ersek <lersek@redhat.com>
> Sent: Thursday, October 31, 2019 2:55 AM
> To: devel@edk2.groups.io; Kinney, Michael D
> <michael.d.kinney@intel.com>
> 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>;
> 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: Re: [edk2-devel] [Patch v3 00/22] Enable Phase
> 1 of EDK II CI
> 
> On 10/29/19 20:54, Michael D Kinney wrote:
> 
> > 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.
> 
> The edk2-staging repository has been added as a "git
> remote" to my local
> edk2 clone for a long while now. Using the local
> identifier "staging".
> (This makes perfect sense as edk2-staging is itself a
> fork of edk2, with branches that are supposed to be
> rebased to edk2/master periodically.)
> 
> Furthermore, the identifier by which I refer to the
> remote at <https://github.com/lersek/edk2.git> is
> "lersek".
> 
> I've now run the following commands:
> 
> $ git fetch staging
> $ git checkout -b ci-test-1 staging/edk2-ci
> 
> [modify "SampleFile.txt"]
> 
> $ git add -p
> $ git commit
> $ git push lersek ci-test-1
> 
> Questions:
> 
> (a) How can I submit a pull request for the staging
> repo's edk2-ci branch using the command line (and set
> the "push" label)?
> 
> (b) How can I submit a PR for the staging repo's edk2-ci
> branch (regardless of command line vs. WebUI usage)
> against my <https://github.com/lersek/edk2.git>
> repository?
> 
> When I go to the WebUI, the PR view does not offer
> "tianocore/edk2-staging" as "base repository", it only
> offers "tianocore/edk2". I thought I'd be able to pick
> any destination repository at all.
> 
> By the instruction "fork edk2-staging repo", did you
> mean we should fork edk2-staging *on github*? (Using the
> WebUI?)
> 
> Thanks!
> Laszlo


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

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

Re: [edk2-devel] [Patch v3 00/22] Enable Phase 1 of EDK II CI
Posted by Laszlo Ersek 4 years, 6 months ago
Hi Mike,

On 11/01/19 06:03, Kinney, Michael D wrote:
> Hi Laszlo,
> 
> ===================================================
> Note for all reviewers:
> ---------------------------------------------------
> Pull requests against edk2-staging/edk2-ci are not
> being processed right now.  We are working on some
> configuration changes after noticing that all the
> checks were not being shown on the Web UI.  We will
> let you know when it is back up.
> ===================================================
> 
> Yes.  You need to create a fork of the tianocore/edk2-staging repo.
> 
> You can do this with the WebUI or the hub command line utility.
> 
> * https://github.com/github/hub
> * https://github.com/github/hub/releases
> * https://hub.github.com/hub.1.html
> 
> The hub command also supports creating a pull request.
> I have used it extensively to write some unit tests
> for edk2-ci this week.
> 
> Once you create a branch with changes to submit in your
> own fork of tianocore/edk2-staging the WebUI will show
> that this pull request is possible and guide you through
> it.
> 
> The use of edk2-staging/edk2-ci is only for the review
> and unit testing.  Once the review is approved, it will
> be enabled on edk2/master and you will be able to use
> your own fork of edk2 to make branches and submit pull
> requests.

* For now, I submitted a pull request using the WebUi.

https://github.com/tianocore/edk2-staging/pull/87

I can see the processing is paused at the moment, as you state above.


* When I submitted PR#87, there had been no conflicts; the PR was simply
blocked on the CI tasks. Now, there are conflicts (I assume due to
intervening pushes, while my PR#87 was blocked). It's useful that the
WebUI points out this change in the status of the PR (i.e., "now
conflicting" vs. "no conflicts just waiting for CI"). However, this
status change has not been emailed to me.

When this occurs to a PR (for example due to an intervening PR that is
merged), what happens to the pre-empted PR? Does it remain suspended
forever? How does the submitter learn about it?


* Regarding my question (b) below, the answer is "I can't". I cannot
submit a PR against tianocore/edk2-staging.git with reference to
lersek/edk2.git, given that the latter is a not a "github-level fork" of
the former.

This is quite regrettable, but once the CI system is in production, it
will be OK in practice (I will only submit PRs against tianocore/edk2.git).


* I've explored the "hub" command a bit. (This relates to my question
(a); thanks for your suggestion.)

On the positive side, it is packaged in EPEL7, therefore I could readily
install it on my RHEL7 laptop, from a distribution-level package.

On the negative side, I quickly noticed two issues with "hub". I went
looking in the "hub" issue tracker, and to my relief, others had
reported the same problems before me (so I only commented on, and
subscribed to, the reports):

https://github.com/github/hub/issues/2338#issuecomment-548952413
https://github.com/github/hub/issues/2222#issuecomment-548967446

Issue#2338 is more technically challenging, but in practice (once CI is
enabled for edk2 itself), it's not really going to affect me.

Issue#2222 should be easy to solve, technically speaking, but until it's
solved, I find it quite disappointing.

Thanks!
Laszlo

>> -----Original Message-----
>> From: Laszlo Ersek <lersek@redhat.com>
>> Sent: Thursday, October 31, 2019 2:55 AM
>> To: devel@edk2.groups.io; Kinney, Michael D
>> <michael.d.kinney@intel.com>
>> 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>;
>> 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: Re: [edk2-devel] [Patch v3 00/22] Enable Phase
>> 1 of EDK II CI
>>
>> On 10/29/19 20:54, Michael D Kinney wrote:
>>
>>> 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.
>>
>> The edk2-staging repository has been added as a "git
>> remote" to my local
>> edk2 clone for a long while now. Using the local
>> identifier "staging".
>> (This makes perfect sense as edk2-staging is itself a
>> fork of edk2, with branches that are supposed to be
>> rebased to edk2/master periodically.)
>>
>> Furthermore, the identifier by which I refer to the
>> remote at <https://github.com/lersek/edk2.git> is
>> "lersek".
>>
>> I've now run the following commands:
>>
>> $ git fetch staging
>> $ git checkout -b ci-test-1 staging/edk2-ci
>>
>> [modify "SampleFile.txt"]
>>
>> $ git add -p
>> $ git commit
>> $ git push lersek ci-test-1
>>
>> Questions:
>>
>> (a) How can I submit a pull request for the staging
>> repo's edk2-ci branch using the command line (and set
>> the "push" label)?
>>
>> (b) How can I submit a PR for the staging repo's edk2-ci
>> branch (regardless of command line vs. WebUI usage)
>> against my <https://github.com/lersek/edk2.git>
>> repository?
>>
>> When I go to the WebUI, the PR view does not offer
>> "tianocore/edk2-staging" as "base repository", it only
>> offers "tianocore/edk2". I thought I'd be able to pick
>> any destination repository at all.
>>
>> By the instruction "fork edk2-staging repo", did you
>> mean we should fork edk2-staging *on github*? (Using the
>> WebUI?)
>>
>> Thanks!
>> Laszlo
> 


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

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

Re: [edk2-devel] [Patch v3 00/22] Enable Phase 1 of EDK II CI
Posted by Laszlo Ersek 4 years, 6 months ago
On 11/01/19 23:39, Laszlo Ersek wrote:

> * When I submitted PR#87, there had been no conflicts; the PR was simply
> blocked on the CI tasks. Now, there are conflicts (I assume due to
> intervening pushes, while my PR#87 was blocked). It's useful that the
> WebUI points out this change in the status of the PR (i.e., "now
> conflicting" vs. "no conflicts just waiting for CI"). However, this
> status change has not been emailed to me.
> 
> When this occurs to a PR (for example due to an intervening PR that is
> merged), what happens to the pre-empted PR? Does it remain suspended
> forever? How does the submitter learn about it?

Correction: I did get an email stating "PR can not be merged due to
conflict.  Please rebase and resubmit".

I missed it temporarily because it was apparently only sent to:

  tianocore/edk2-staging <edk2-staging@noreply.github.com>

and so it got filed into one of my list folders, not in my inbox.

I think this is OK after all.

Thanks!
Laszlo


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

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

Re: [edk2-devel] [Patch v3 00/22] Enable Phase 1 of EDK II CI
Posted by Michael D Kinney 4 years, 6 months ago
Hi Laszlo,

Everything is back online now.  Will be doing more extensive
CI unit tests next.

If there is a merge conflict at the time the PR is submitted
you should be notified by email.  I think you ran into what
should be an impossible case when the service is running
correctly.  The fact it was not auto merging push requests
at the time you sent your PR allowed other pushes to make
it in.

You should have since received an email that says:

  "PR can not be merged due to conflict. Please rebase and resubmit"

This came from the Mergify CI service when it was re-activated
And noticed the conflict.

Mike

> -----Original Message-----
> From: Laszlo Ersek <lersek@redhat.com>
> Sent: Friday, November 1, 2019 3:40 PM
> To: Kinney, Michael D <michael.d.kinney@intel.com>;
> 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>;
> 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: Re: [edk2-devel] [Patch v3 00/22] Enable Phase
> 1 of EDK II CI
> 
> Hi Mike,
> 
> On 11/01/19 06:03, Kinney, Michael D wrote:
> > Hi Laszlo,
> >
> > ===================================================
> > Note for all reviewers:
> > ---------------------------------------------------
> > Pull requests against edk2-staging/edk2-ci are not
> being processed
> > right now.  We are working on some configuration
> changes after
> > noticing that all the checks were not being shown on
> the Web UI.  We
> > will let you know when it is back up.
> > ===================================================
> >
> > Yes.  You need to create a fork of the tianocore/edk2-
> staging repo.
> >
> > You can do this with the WebUI or the hub command line
> utility.
> >
> > * https://github.com/github/hub
> > * https://github.com/github/hub/releases
> > * https://hub.github.com/hub.1.html
> >
> > The hub command also supports creating a pull request.
> > I have used it extensively to write some unit tests
> for edk2-ci this
> > week.
> >
> > Once you create a branch with changes to submit in
> your own fork of
> > tianocore/edk2-staging the WebUI will show that this
> pull request is
> > possible and guide you through it.
> >
> > The use of edk2-staging/edk2-ci is only for the review
> and unit
> > testing.  Once the review is approved, it will be
> enabled on
> > edk2/master and you will be able to use your own fork
> of edk2 to make
> > branches and submit pull requests.
> 
> * For now, I submitted a pull request using the WebUi.
> 
> https://github.com/tianocore/edk2-staging/pull/87
> 
> I can see the processing is paused at the moment, as you
> state above.
> 
> 
> * When I submitted PR#87, there had been no conflicts;
> the PR was simply blocked on the CI tasks. Now, there
> are conflicts (I assume due to intervening pushes, while
> my PR#87 was blocked). It's useful that the WebUI points
> out this change in the status of the PR (i.e., "now
> conflicting" vs. "no conflicts just waiting for CI").
> However, this status change has not been emailed to me.
> 
> When this occurs to a PR (for example due to an
> intervening PR that is merged), what happens to the pre-
> empted PR? Does it remain suspended forever? How does
> the submitter learn about it?
> 
> 
> * Regarding my question (b) below, the answer is "I
> can't". I cannot submit a PR against tianocore/edk2-
> staging.git with reference to lersek/edk2.git, given
> that the latter is a not a "github-level fork" of the
> former.
> 
> This is quite regrettable, but once the CI system is in
> production, it will be OK in practice (I will only
> submit PRs against tianocore/edk2.git).
> 
> 
> * I've explored the "hub" command a bit. (This relates
> to my question (a); thanks for your suggestion.)
> 
> On the positive side, it is packaged in EPEL7, therefore
> I could readily install it on my RHEL7 laptop, from a
> distribution-level package.
> 
> On the negative side, I quickly noticed two issues with
> "hub". I went looking in the "hub" issue tracker, and to
> my relief, others had reported the same problems before
> me (so I only commented on, and subscribed to, the
> reports):
> 
> https://github.com/github/hub/issues/2338#issuecomment-
> 548952413
> https://github.com/github/hub/issues/2222#issuecomment-
> 548967446
> 
> Issue#2338 is more technically challenging, but in
> practice (once CI is enabled for edk2 itself), it's not
> really going to affect me.
> 
> Issue#2222 should be easy to solve, technically
> speaking, but until it's solved, I find it quite
> disappointing.
> 
> Thanks!
> Laszlo
> 
> >> -----Original Message-----
> >> From: Laszlo Ersek <lersek@redhat.com>
> >> Sent: Thursday, October 31, 2019 2:55 AM
> >> To: devel@edk2.groups.io; Kinney, Michael D
> >> <michael.d.kinney@intel.com>
> >> 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>;
> >> 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: Re: [edk2-devel] [Patch v3 00/22] Enable
> Phase
> >> 1 of EDK II CI
> >>
> >> On 10/29/19 20:54, Michael D Kinney wrote:
> >>
> >>> 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.
> >>
> >> The edk2-staging repository has been added as a "git
> remote" to my
> >> local
> >> edk2 clone for a long while now. Using the local
> identifier
> >> "staging".
> >> (This makes perfect sense as edk2-staging is itself a
> fork of edk2,
> >> with branches that are supposed to be rebased to
> edk2/master
> >> periodically.)
> >>
> >> Furthermore, the identifier by which I refer to the
> remote at
> >> <https://github.com/lersek/edk2.git> is "lersek".
> >>
> >> I've now run the following commands:
> >>
> >> $ git fetch staging
> >> $ git checkout -b ci-test-1 staging/edk2-ci
> >>
> >> [modify "SampleFile.txt"]
> >>
> >> $ git add -p
> >> $ git commit
> >> $ git push lersek ci-test-1
> >>
> >> Questions:
> >>
> >> (a) How can I submit a pull request for the staging
> repo's edk2-ci
> >> branch using the command line (and set the "push"
> label)?
> >>
> >> (b) How can I submit a PR for the staging repo's
> edk2-ci branch
> >> (regardless of command line vs. WebUI usage) against
> my
> >> <https://github.com/lersek/edk2.git>
> >> repository?
> >>
> >> When I go to the WebUI, the PR view does not offer
> >> "tianocore/edk2-staging" as "base repository", it
> only offers
> >> "tianocore/edk2". I thought I'd be able to pick any
> destination
> >> repository at all.
> >>
> >> By the instruction "fork edk2-staging repo", did you
> mean we should
> >> fork edk2-staging *on github*? (Using the
> >> WebUI?)
> >>
> >> Thanks!
> >> Laszlo
> >


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

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

Re: [edk2-devel] [Patch v3 00/22] Enable Phase 1 of EDK II CI
Posted by Laszlo Ersek 4 years, 6 months ago
On 11/02/19 01:32, Kinney, Michael D wrote:
> Hi Laszlo,
> 
> Everything is back online now.  Will be doing more extensive
> CI unit tests next.

Thanks! I've submitted
<https://github.com/tianocore/edk2-staging/pull/99> now.

> If there is a merge conflict at the time the PR is submitted
> you should be notified by email.  I think you ran into what
> should be an impossible case when the service is running
> correctly.  The fact it was not auto merging push requests
> at the time you sent your PR allowed other pushes to make
> it in.
> 
> You should have since received an email that says:
> 
>   "PR can not be merged due to conflict. Please rebase and resubmit"

That's indeed the case. (See my other email.)

> This came from the Mergify CI service when it was re-activated
> And noticed the conflict.

Thanks!
Laszlo

>> -----Original Message-----
>> From: Laszlo Ersek <lersek@redhat.com>
>> Sent: Friday, November 1, 2019 3:40 PM
>> To: Kinney, Michael D <michael.d.kinney@intel.com>;
>> 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>;
>> 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: Re: [edk2-devel] [Patch v3 00/22] Enable Phase
>> 1 of EDK II CI
>>
>> Hi Mike,
>>
>> On 11/01/19 06:03, Kinney, Michael D wrote:
>>> Hi Laszlo,
>>>
>>> ===================================================
>>> Note for all reviewers:
>>> ---------------------------------------------------
>>> Pull requests against edk2-staging/edk2-ci are not
>> being processed
>>> right now.  We are working on some configuration
>> changes after
>>> noticing that all the checks were not being shown on
>> the Web UI.  We
>>> will let you know when it is back up.
>>> ===================================================
>>>
>>> Yes.  You need to create a fork of the tianocore/edk2-
>> staging repo.
>>>
>>> You can do this with the WebUI or the hub command line
>> utility.
>>>
>>> * https://github.com/github/hub
>>> * https://github.com/github/hub/releases
>>> * https://hub.github.com/hub.1.html
>>>
>>> The hub command also supports creating a pull request.
>>> I have used it extensively to write some unit tests
>> for edk2-ci this
>>> week.
>>>
>>> Once you create a branch with changes to submit in
>> your own fork of
>>> tianocore/edk2-staging the WebUI will show that this
>> pull request is
>>> possible and guide you through it.
>>>
>>> The use of edk2-staging/edk2-ci is only for the review
>> and unit
>>> testing.  Once the review is approved, it will be
>> enabled on
>>> edk2/master and you will be able to use your own fork
>> of edk2 to make
>>> branches and submit pull requests.
>>
>> * For now, I submitted a pull request using the WebUi.
>>
>> https://github.com/tianocore/edk2-staging/pull/87
>>
>> I can see the processing is paused at the moment, as you
>> state above.
>>
>>
>> * When I submitted PR#87, there had been no conflicts;
>> the PR was simply blocked on the CI tasks. Now, there
>> are conflicts (I assume due to intervening pushes, while
>> my PR#87 was blocked). It's useful that the WebUI points
>> out this change in the status of the PR (i.e., "now
>> conflicting" vs. "no conflicts just waiting for CI").
>> However, this status change has not been emailed to me.
>>
>> When this occurs to a PR (for example due to an
>> intervening PR that is merged), what happens to the pre-
>> empted PR? Does it remain suspended forever? How does
>> the submitter learn about it?
>>
>>
>> * Regarding my question (b) below, the answer is "I
>> can't". I cannot submit a PR against tianocore/edk2-
>> staging.git with reference to lersek/edk2.git, given
>> that the latter is a not a "github-level fork" of the
>> former.
>>
>> This is quite regrettable, but once the CI system is in
>> production, it will be OK in practice (I will only
>> submit PRs against tianocore/edk2.git).
>>
>>
>> * I've explored the "hub" command a bit. (This relates
>> to my question (a); thanks for your suggestion.)
>>
>> On the positive side, it is packaged in EPEL7, therefore
>> I could readily install it on my RHEL7 laptop, from a
>> distribution-level package.
>>
>> On the negative side, I quickly noticed two issues with
>> "hub". I went looking in the "hub" issue tracker, and to
>> my relief, others had reported the same problems before
>> me (so I only commented on, and subscribed to, the
>> reports):
>>
>> https://github.com/github/hub/issues/2338#issuecomment-
>> 548952413
>> https://github.com/github/hub/issues/2222#issuecomment-
>> 548967446
>>
>> Issue#2338 is more technically challenging, but in
>> practice (once CI is enabled for edk2 itself), it's not
>> really going to affect me.
>>
>> Issue#2222 should be easy to solve, technically
>> speaking, but until it's solved, I find it quite
>> disappointing.
>>
>> Thanks!
>> Laszlo
>>
>>>> -----Original Message-----
>>>> From: Laszlo Ersek <lersek@redhat.com>
>>>> Sent: Thursday, October 31, 2019 2:55 AM
>>>> To: devel@edk2.groups.io; Kinney, Michael D
>>>> <michael.d.kinney@intel.com>
>>>> 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>;
>>>> 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: Re: [edk2-devel] [Patch v3 00/22] Enable
>> Phase
>>>> 1 of EDK II CI
>>>>
>>>> On 10/29/19 20:54, Michael D Kinney wrote:
>>>>
>>>>> 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.
>>>>
>>>> The edk2-staging repository has been added as a "git
>> remote" to my
>>>> local
>>>> edk2 clone for a long while now. Using the local
>> identifier
>>>> "staging".
>>>> (This makes perfect sense as edk2-staging is itself a
>> fork of edk2,
>>>> with branches that are supposed to be rebased to
>> edk2/master
>>>> periodically.)
>>>>
>>>> Furthermore, the identifier by which I refer to the
>> remote at
>>>> <https://github.com/lersek/edk2.git> is "lersek".
>>>>
>>>> I've now run the following commands:
>>>>
>>>> $ git fetch staging
>>>> $ git checkout -b ci-test-1 staging/edk2-ci
>>>>
>>>> [modify "SampleFile.txt"]
>>>>
>>>> $ git add -p
>>>> $ git commit
>>>> $ git push lersek ci-test-1
>>>>
>>>> Questions:
>>>>
>>>> (a) How can I submit a pull request for the staging
>> repo's edk2-ci
>>>> branch using the command line (and set the "push"
>> label)?
>>>>
>>>> (b) How can I submit a PR for the staging repo's
>> edk2-ci branch
>>>> (regardless of command line vs. WebUI usage) against
>> my
>>>> <https://github.com/lersek/edk2.git>
>>>> repository?
>>>>
>>>> When I go to the WebUI, the PR view does not offer
>>>> "tianocore/edk2-staging" as "base repository", it
>> only offers
>>>> "tianocore/edk2". I thought I'd be able to pick any
>> destination
>>>> repository at all.
>>>>
>>>> By the instruction "fork edk2-staging repo", did you
>> mean we should
>>>> fork edk2-staging *on github*? (Using the
>>>> WebUI?)
>>>>
>>>> Thanks!
>>>> Laszlo
>>>
> 


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

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