These tests require using the "edk2-pytool" stuff but are easy to integrate 
with the github PR or CI flow.  Example of it running the code compliance tests 
is here: 
https://dev.azure.com/tianocore/edk2-ci-play/_build?definitionId=13&_a=summary 
A test run takes about 3 minutes.

The past week or so we also have been working on a more complete test run which 
adds to the above test suite three more tests.  Compile each package for Debug, 
Release, and Host Based Unit tests.  Obviously this adds more time and takes 
more resources but at the moment we have it down to 13 minutes. You can see it 
here: 
https://dev.azure.com/tianocore/edk2-ci-play/_build?definitionId=12&_a=summary

To enable this framework you need the following.

1. pip install a couple of edk2-pytool packages (see requirements.txt file)
2. Add the pytool based plugins to the edk2 code tree  See here: 
https://github.com/spbrogan/edk2-staging/tree/edk2-stuart-ci-latest/BaseTools/Plugin/Ci
3. Add a CiSettings.py file that satisfies the setup, update, and ci_build  See 
here: 
https://github.com/spbrogan/edk2-staging/blob/edk2-stuart-ci-latest/CISettings.py
4. Add a *.ci.yaml file to each package to configure test settings, ignore 
files, and other configuration for testing the package.  Example here: 
https://github.com/spbrogan/edk2-staging/blob/edk2-stuart-ci-latest/MdeModulePkg/MdeModulePkg.ci.yaml
5.  For Azure pipeline support (cloud based CI) you will need to add Azure 
pipeline.yaml flles.

This can all be seen in the branch here. 
https://github.com/spbrogan/edk2-staging/tree/edk2-stuart-ci-latest
Be aware that in that same branch we are enabling "Host based unit tests" which 
also requires more code changes so if diffing with clean edk2 you can ignore 
those (although that is all part of another RFC for unit test so any feedback 
on that would be great too).

Feedback would be appreciated.  I am hoping this RFC can move forward in the 
next few weeks.

Thanks
Sean

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

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

Reply via email to