Re: running CI locally
Laszlo Ersek
Hi Mike, Sean;
On 08/19/20 19:59, Laszlo Ersek wrote:
Installed the "mono-complete" package (+its deps).
Installed the "nodejs" package.
Installed "cspell" (+deps) with "npm" (with the latter coming from the
nodejs package).
Edk2 checked out at current HEAD
(5a6d764e1d073d28e8f398289ccb5592bf9a72ba).
* Platform CI results:
- <https://github.com/tianocore/edk2/tree/master/OvmfPkg/PlatformCI>:
Built successfully for IA32, X64, and IA32X64 (toolchain: GCC5).
- <https://github.com/tianocore/edk2/tree/master/ArmVirtPkg/PlatformCI>:
Built successfully for ARM and AARCH64 (toolchain: GCC5).
* Core CI results:
- <https://github.com/tianocore/edk2/blob/master/.pytool/Readme.md>
Complete run successful (toolchain: GCC5); no package / arch / target
/ test restrictions.
I got the following WARNINGs:
- ArmVirtPkg, EmulatorPkg, and OvmfPkg are covered by Platform CI, not
Core CI -- these are expected:
NetworkPkg, OvmfPkg, PcAtChipsetPkg, SecurityPkg and ShellPkg are
not covered by host-based unit tests -- I think also expected:
for a subset of the above packages. I read the docs at
<https://github.com/tianocore/edk2/blob/master/.pytool/Readme.md#host-module-inclusion-test---hostunittestdsccompletecheck>
but I still don't understand :)
warnings, for FmpDevicePkg, MdeModulePkg, MdePkg, UefiCpuPkg, and
UnitTestFrameworkPkg, report that running the tests on the build
host (understandably) prevents the tests from covering all edk2
architectures:
mode" known issues at
<https://github.com/tianocore/edk2/blob/master/.pytool/Readme.md>.
What does "audit mode" mean?
FWIW, the packages listed below (EmulatorPkg, MdeModulePkg,
MdePkg, NetworkPkg, OvmfPkg, ShellPkg, UefiCpuPkg) is a proper
subset of the packges noted in ".pytool/Readme.md" -- the latter
mentions CryptoPkg and SecurityPkg in addition.
* One suggestion (in addition to the others made in this thread):
- Please add "BaseToolsBuild" to "BaseTools/.gitignore".
* A question:
- On github, there is some logic that restricts the full Core CI build
to packages that may be affected by a patch series. Is this available
locally?
According to the Core CI documentation, the "stuart_ci_build" command
can be limited with "-p" / "-a" / "-t" flags; given a commit range,
how do we calculate the "tightest" flag values?
Thank you very much!
Laszlo
On 08/19/20 19:59, Laszlo Ersek wrote:
I'll report back with more results.I installed a Fedora 32 Server VM.
Installed the "mono-complete" package (+its deps).
Installed the "nodejs" package.
Installed "cspell" (+deps) with "npm" (with the latter coming from the
nodejs package).
Edk2 checked out at current HEAD
(5a6d764e1d073d28e8f398289ccb5592bf9a72ba).
* Platform CI results:
- <https://github.com/tianocore/edk2/tree/master/OvmfPkg/PlatformCI>:
Built successfully for IA32, X64, and IA32X64 (toolchain: GCC5).
- <https://github.com/tianocore/edk2/tree/master/ArmVirtPkg/PlatformCI>:
Built successfully for ARM and AARCH64 (toolchain: GCC5).
* Core CI results:
- <https://github.com/tianocore/edk2/blob/master/.pytool/Readme.md>
Complete run successful (toolchain: GCC5); no package / arch / target
/ test restrictions.
I got the following WARNINGs:
- ArmVirtPkg, EmulatorPkg, and OvmfPkg are covered by Platform CI, not
Core CI -- these are expected:
PROGRESS - --Running ArmVirtPkg: Compiler Plugin DEBUG --
WARNING - --->Test Skipped: in plugin! Compiler Plugin DEBUG
PROGRESS - --Running ArmVirtPkg: Compiler Plugin RELEASE --
WARNING - --->Test Skipped: in plugin! Compiler Plugin RELEASE
PROGRESS - --Running EmulatorPkg: Compiler Plugin DEBUG --
WARNING - --->Test Skipped: in plugin! Compiler Plugin DEBUG
PROGRESS - --Running EmulatorPkg: Compiler Plugin RELEASE --
WARNING - --->Test Skipped: in plugin! Compiler Plugin RELEASE
PROGRESS - --Running OvmfPkg: Compiler Plugin DEBUG --- ArmVirtPkg, DynamicTablesPkg, CryptoPkg, EmulatorPkg, FatPkg,
WARNING - --->Test Skipped: in plugin! Compiler Plugin DEBUG
PROGRESS - --Running OvmfPkg: Compiler Plugin RELEASE --
WARNING - --->Test Skipped: in plugin! Compiler Plugin RELEASE
NetworkPkg, OvmfPkg, PcAtChipsetPkg, SecurityPkg and ShellPkg are
not covered by host-based unit tests -- I think also expected:
PROGRESS - --Running ArmVirtPkg: Host Unit Test Compiler Plugin NOOPT --
WARNING - --->Test Skipped: in plugin! Host Unit Test Compiler Plugin NOOPT
PROGRESS - --Running DynamicTablesPkg: Host Unit Test Compiler Plugin NOOPT --
WARNING - --->Test Skipped: in plugin! Host Unit Test Compiler Plugin NOOPT
PROGRESS - --Running CryptoPkg: Host Unit Test Compiler Plugin NOOPT --
WARNING - --->Test Skipped: in plugin! Host Unit Test Compiler Plugin NOOPT
PROGRESS - --Running EmulatorPkg: Host Unit Test Compiler Plugin NOOPT --
WARNING - --->Test Skipped: in plugin! Host Unit Test Compiler Plugin NOOPT
PROGRESS - --Running FatPkg: Host Unit Test Compiler Plugin NOOPT --
WARNING - --->Test Skipped: in plugin! Host Unit Test Compiler Plugin NOOPT
PROGRESS - --Running NetworkPkg: Host Unit Test Compiler Plugin NOOPT --
WARNING - --->Test Skipped: in plugin! Host Unit Test Compiler Plugin NOOPT
PROGRESS - --Running OvmfPkg: Host Unit Test Compiler Plugin NOOPT --
WARNING - --->Test Skipped: in plugin! Host Unit Test Compiler Plugin NOOPT
PROGRESS - --Running PcAtChipsetPkg: Host Unit Test Compiler Plugin NOOPT --
WARNING - --->Test Skipped: in plugin! Host Unit Test Compiler Plugin NOOPT
PROGRESS - --Running SecurityPkg: Host Unit Test Compiler Plugin NOOPT --
WARNING - --->Test Skipped: in plugin! Host Unit Test Compiler Plugin NOOPT
PROGRESS - --Running ShellPkg: Host Unit Test Compiler Plugin NOOPT --- I'm not really sure about the following warnings. They were emitted
WARNING - --->Test Skipped: in plugin! Host Unit Test Compiler Plugin NOOPT
for a subset of the above packages. I read the docs at
<https://github.com/tianocore/edk2/blob/master/.pytool/Readme.md#host-module-inclusion-test---hostunittestdsccompletecheck>
but I still don't understand :)
PROGRESS - --Running CryptoPkg: Host Unit Test Dsc Complete Check Test NO-TARGET --
WARNING - --->Test Skipped: in plugin! Host Unit Test Dsc Complete Check Test NO-TARGET
PROGRESS - --Running FatPkg: Host Unit Test Dsc Complete Check Test NO-TARGET --
WARNING - --->Test Skipped: in plugin! Host Unit Test Dsc Complete Check Test NO-TARGET
PROGRESS - --Running NetworkPkg: Host Unit Test Dsc Complete Check Test NO-TARGET --
WARNING - --->Test Skipped: in plugin! Host Unit Test Dsc Complete Check Test NO-TARGET
PROGRESS - --Running PcAtChipsetPkg: Host Unit Test Dsc Complete Check Test NO-TARGET --
WARNING - --->Test Skipped: in plugin! Host Unit Test Dsc Complete Check Test NO-TARGET
PROGRESS - --Running SecurityPkg: Host Unit Test Dsc Complete Check Test NO-TARGET --
WARNING - --->Test Skipped: in plugin! Host Unit Test Dsc Complete Check Test NO-TARGET
PROGRESS - --Running ShellPkg: Host Unit Test Dsc Complete Check Test NO-TARGET --- Still related to host-based unit tests, I believe the following
WARNING - --->Test Skipped: in plugin! Host Unit Test Dsc Complete Check Test NO-TARGET
warnings, for FmpDevicePkg, MdeModulePkg, MdePkg, UefiCpuPkg, and
UnitTestFrameworkPkg, report that running the tests on the build
host (understandably) prevents the tests from covering all edk2
architectures:
PROGRESS - --Running FmpDevicePkg: Host Unit Test Compiler Plugin NOOPT --
WARNING - Allowing Override for key TARGET_ARCH
PROGRESS - --Running MdeModulePkg: Host Unit Test Compiler Plugin NOOPT --
WARNING - Allowing Override for key TARGET_ARCH
PROGRESS - --Running MdePkg: Host Unit Test Compiler Plugin NOOPT --
WARNING - Allowing Override for key TARGET_ARCH
PROGRESS - --Running UefiCpuPkg: Host Unit Test Compiler Plugin NOOPT --
WARNING - Allowing Override for key TARGET_ARCH
PROGRESS - --Running UnitTestFrameworkPkg: Host Unit Test Compiler Plugin NOOPT --- The below seems to be related to the "spell checking in audit
WARNING - Allowing Override for key TARGET_ARCH
mode" known issues at
<https://github.com/tianocore/edk2/blob/master/.pytool/Readme.md>.
What does "audit mode" mean?
FWIW, the packages listed below (EmulatorPkg, MdeModulePkg,
MdePkg, NetworkPkg, OvmfPkg, ShellPkg, UefiCpuPkg) is a proper
subset of the packges noted in ".pytool/Readme.md" -- the latter
mentions CryptoPkg and SecurityPkg in addition.
PROGRESS - --Running EmulatorPkg: Spell Check Test NO-TARGET --
WARNING - --->Test Skipped: in plugin! Spell Check Test NO-TARGET
PROGRESS - --Running MdeModulePkg: Spell Check Test NO-TARGET --
WARNING - --->Test Skipped: in plugin! Spell Check Test NO-TARGET
PROGRESS - --Running MdePkg: Spell Check Test NO-TARGET --
WARNING - --->Test Skipped: in plugin! Spell Check Test NO-TARGET
PROGRESS - --Running NetworkPkg: Spell Check Test NO-TARGET --
WARNING - --->Test Skipped: in plugin! Spell Check Test NO-TARGET
PROGRESS - --Running OvmfPkg: Spell Check Test NO-TARGET --
WARNING - --->Test Skipped: in plugin! Spell Check Test NO-TARGET
PROGRESS - --Running ShellPkg: Spell Check Test NO-TARGET --
WARNING - --->Test Skipped: in plugin! Spell Check Test NO-TARGET
PROGRESS - --Running UefiCpuPkg: Spell Check Test NO-TARGET --- Not sure about the last one:
WARNING - --->Test Skipped: in plugin! Spell Check Test NO-TARGET
PROGRESS - --Running FatPkg: Library Class Check Test NO-TARGET --
WARNING - --->Test Skipped: in plugin! Library Class Check Test NO-TARGET
* One suggestion (in addition to the others made in this thread):
- Please add "BaseToolsBuild" to "BaseTools/.gitignore".
* A question:
- On github, there is some logic that restricts the full Core CI build
to packages that may be affected by a patch series. Is this available
locally?
According to the Core CI documentation, the "stuart_ci_build" command
can be limited with "-p" / "-a" / "-t" flags; given a commit range,
how do we calculate the "tightest" flag values?
Thank you very much!
Laszlo