There are two parts of this I think should be discussed.
1. Core-Ci for emulator, ovmf, armvirt packages.
a. I think there is some value here for those package maintainers.  The core ci 
does spell checks, char encoding checks, lib class declaration, etc.  Those 
seem valuable to help keep the package clean.
B. The core ci works on an assumption that the DSC builds every module within 
the package and for that I think you would want to create new DSC file in those 
packages that included every module in the package and used NULL libs to 
resolve as many dependencies as possible. That DSC would be only for Core CI.

2. Platform Ci for emulator, ovmf, armvirt packages.
a. I think this is what we want long term.  It would compile the platform and 
ideally do boot testing and checks.
b. Platform Ci should scale out to all sorts of platforms (open and closed src) 
that want to register for CI and are willing to keep their platform current.
c. Should be a signal into the PR process.  I don't think it should block by 
policy, but reviewers should use the results to evaluate the impact of the PR.
d. I have setup a branch here with Platform CI.
1. Code changes to enable pytool to build of OVMF and EmulatorPkg. 
https://github.com/spbrogan/edk2/tree/ci-for-ovmf
2. 4 pipelines here: 
https://dev.azure.com/tianocore/edk2-ci-play/_build?treeState=XEVtdWxhdG9yUGtnJFxPVk1G&view=folders
3. OVMF GCC5: 8 builds.  see the matrix here 
https://dev.azure.com/tianocore/edk2-ci-play/_build/results?buildId=4915&view=results
 and 
https://github.com/spbrogan/edk2/blob/ci-for-ovmf/.azurepipelines/platforms/Ovmf/Ubuntu-GCC5.yml#L22.
  This worked without issue.
4.  OVMF VS2019: Same 8 builds.  Results here: 
https://dev.azure.com/tianocore/edk2-ci-play/_build/results?buildId=4916&view=results
 and matrix file here 
https://github.com/spbrogan/edk2/blob/ci-for-ovmf/.azurepipelines/platforms/Ovmf/Windows-VS2019.yml#L22.
  The full build fails 2 of the "flavors".  See 
https://bugzilla.tianocore.org/show_bug.cgi?id=2636
5. EmulatorPkg GCC: 2 builds. 
https://dev.azure.com/tianocore/edk2-ci-play/_build?definitionId=39&_a=summary 
IA32 fails so it currently only builds X64
6. EmulatorPkg VS2019: 2 builds 
https://dev.azure.com/tianocore/edk2-ci-play/_build?definitionId=40&_a=summary 
IA32 fails so it currently only builds X64.

Feedback wanted.   Happy to add more if there is some agreement that you like 
this direction.

Also if you have ideas how to run the images and then exit from the shell with 
a status so we can tell success/failure that would be great.

Thanks
Sean

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

View/Reply Online (#56521): https://edk2.groups.io/g/devel/message/56521
Mute This Topic: https://groups.io/mt/72559106/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to