<p class="DefangedMsoNormal" style="margin:0px;"><a name="_MailOriginal"></a>RFC  Edk2-ToolEnv creation</p>
<p class="DefangedMsoNormal" style="margin:0px;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi;"> </span></span></p>
<p class="MsoNormalCxSpMiddle" style="margin-bottom: 8.0pt; mso-add-space: auto; line-height: 105%;"><span style="mso-bookmark: _MailOriginal;">Create a new tianocore owned repository to host python code to support an extensible, pluggable, rich environment.  This environment has command line interfaces to support building a product, building CI, running tests, and downloading dependencies.<span style="mso-spacerun: yes;">  </span>This environment also provides the building blocks for developers to write their own tools to launch in the environment and leverage the capabilities provided by the environment. <span style="mso-spacerun: yes;"> </span>The unique capabilities provided help support building products with multiple repositories and having each repository contribute/plugin to the build process in a scalable way. <span style="mso-spacerun: yes;"> </span>The environment will scan the files in the code tree (multiple repos) and discover plugins, dependencies, path adjustments, environment variable settings, etc.<span style="mso-spacerun: yes;">   </span>This provides easy methods for common repos to share build tools/steps.<span style="mso-spacerun: yes;">  </span></span></p>
<p class="MsoNormalCxSpMiddle" style="margin-bottom: 8.0pt; mso-add-space: auto; line-height: 105%;"><span style="mso-bookmark: _MailOriginal;"> </span></p>
<p class="MsoNormalCxSpMiddle" style="margin-bottom: 8.0pt; mso-add-space: auto; line-height: 105%;"><span style="mso-bookmark: _MailOriginal;">Inclusion of this package and dependency management should be managed using Pip/Pypi.   To start this is a supplemental package and is not required to be used for edk2 builds. </span></p>
<p class="MsoNormalCxSpMiddle" style="margin-bottom: 8.0pt; mso-add-space: auto; line-height: 105%;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi;"> </span></span></p>
<p class="MsoNormalCxSpLast" style="margin-bottom: 8.0pt; mso-add-space: auto; line-height: 105%;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi;">More details below but much of this content is coming from combining two existing repos</span></span></p>
<ol style="margin-top: 0in;" start="1" type="1">
<li class="MsoListParagraphCxSpFirst" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l0 level1 lfo10;"><span style="mso-bookmark: _MailOriginal;"></span><a href="https://github.com/microsoft/mu_pip_environment"><span style="mso-bookmark: _MailOriginal;">https://github.com/microsoft/mu_pip_environment</span><span style="mso-bookmark: _MailOriginal;"></span></a><span style="mso-bookmark: _MailOriginal;"></span></li>
<li class="MsoListParagraphCxSpLast" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l0 level1 lfo10;"><span style="mso-bookmark: _MailOriginal;"></span><a href="https://github.com/microsoft/mu_pip_build"><span style="mso-bookmark: _MailOriginal;">https://github.com/microsoft/mu_pip_build</span><span style="mso-bookmark: _MailOriginal;"></span></a><span style="mso-bookmark: _MailOriginal;"></span></li>
</ol>
<p class="MsoNormalCxSpFirst" style="margin-bottom: 8.0pt; mso-add-space: auto; line-height: 105%;"><span style="mso-bookmark: _MailOriginal;"> </span></p>
<p class="MsoNormalCxSpMiddle" style="margin-bottom: 8.0pt; mso-add-space: auto; line-height: 105%;"><span style="mso-bookmark: _MailOriginal;">This RFC is part 2 of content from design review: </span><a href="https://edk2.groups.io/g/devel/files/Designs/2019/0418/2019-04-18%20Microsoft%20-%20Build%20Tools%20-%20Design%20Review%20.pdf"><span style="mso-bookmark: _MailOriginal;">https://edk2.groups.io/g/devel/files/Designs/2019/0418/2019-04-18%20Microsoft%20-%20Build%20Tools%20-%20Design%20Review%20.pdf</span><span style="mso-bookmark: _MailOriginal;"></span></a><span style="mso-bookmark: _MailOriginal;"></span></p>
<p class="MsoNormalCxSpMiddle" style="margin-bottom: 8.0pt; mso-add-space: auto; line-height: 105%;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi;"> </span></span></p>
<p class="MsoNormalCxSpMiddle" style="margin-bottom: 8.0pt; mso-add-space: auto; line-height: 105%;"><span style="mso-bookmark: _MailOriginal;"> </span></p>
<p class="MsoNormalCxSpLast" style="margin-bottom: 8.0pt; mso-add-space: auto; line-height: 105%;"><span style="mso-bookmark: _MailOriginal;">Examples of content here</span></p>
<ol style="margin-top: 0in;" start="1" type="1">
<li class="MsoListParagraphCxSpFirst" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l1 level1 lfo1;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">CI build support - </span></span><a href="https://github.com/microsoft/mu_pip_build/blob/master/MuBuild/MuBuild.py"><span style="mso-bookmark: _MailOriginal;">https://github.com/microsoft/mu_pip_build/blob/master/MuBuild/MuBuild.py</span><span style="mso-bookmark: _MailOriginal;"></span></a><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';"></span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l1 level1 lfo1;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Binary Dependency resolution</span></span></li>
<ol style="margin-top: 0in;" start="1" type="a">
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l1 level2 lfo1;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Nuget - </span></span><a href="https://github.com/microsoft/mu_pip_environment/blob/master/MuEnvironment/ExternalDependencies.py"><span style="mso-bookmark: _MailOriginal;">https://github.com/microsoft/mu_pip_environment/blob/master/MuEnvironment/ExternalDependencies.py</span><span style="mso-bookmark: _MailOriginal;"></span></a><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';"></span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l1 level2 lfo1;"><span style="mso-bookmark: _MailOriginal;">GitHub Releases - WIP</span><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';"></span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l1 level2 lfo1;"><span style="mso-bookmark: _MailOriginal;">URL dependency - WIP</span><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';"></span></span></li>
</ol>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l1 level1 lfo1;"><span style="mso-bookmark: _MailOriginal;">Logging </span><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';"></span></span></li>
<ol style="margin-top: 0in;" start="1" type="a">
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l1 level2 lfo1;"><span style="mso-bookmark: _MailOriginal;">File logger</span><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';"></span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l1 level2 lfo1;"><span style="mso-bookmark: _MailOriginal;">Markdown logger</span><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';"></span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l1 level2 lfo1;"><span style="mso-bookmark: _MailOriginal;">In Memory loggers - For tool parsing</span><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';"></span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l1 level2 lfo1;"><span style="mso-bookmark: _MailOriginal;">Console loggers with colors</span><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';"></span></span></li>
</ol>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l1 level1 lfo1;"><span style="mso-bookmark: _MailOriginal;">PlugIns</span><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';"></span></span></li>
<ol style="margin-top: 0in;" start="1" type="a">
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l1 level2 lfo1;"><span style="mso-bookmark: _MailOriginal;">Support pre/post build steps</span><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';"></span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l1 level2 lfo1;"><span style="mso-bookmark: _MailOriginal;">Support supplying functions</span><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';"></span></span></li>
</ol>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l1 level1 lfo1;"><span style="mso-bookmark: _MailOriginal;">UefiBuild - A wrapper around Edk2 build process that a Platform would subclass.<span style="mso-spacerun: yes;">  </span></span><a href="https://github.com/microsoft/mu_pip_environment/blob/master/MuEnvironment/UefiBuild.py"><span style="mso-bookmark: _MailOriginal;">https://github.com/microsoft/mu_pip_environment/blob/master/MuEnvironment/UefiBuild.py</span><span style="mso-bookmark: _MailOriginal;"></span></a><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';"></span></span></li>
<li class="MsoListParagraphCxSpLast" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l1 level1 lfo1;"><span style="mso-bookmark: _MailOriginal;">VarDict and ShellEnvironment - Manage the shell environment and all the name/value pairs used in the build process (including pre/post).<span style="mso-spacerun: yes;"> </span></span></li>
<li class="MsoListParagraphCxSpLast" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l1 level1 lfo1;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-spacerun: yes;">Omnicache - Support a super cache of git repos to speed up creating and updating multiple work spaces and minimizing filesystem impact</span></span></li>
</ol>
<p class="DefangedMsoNormal" style="margin-bottom: 8.0pt; mso-add-space: auto; line-height: 105%;" style="margin:0px;"><span style="mso-bookmark: _MailOriginal;">Maintainers</span></p>
<ol style="margin-top: 0in;" start="1" type="1">
<li class="MsoListParagraphCxSpFirst" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l8 level1 lfo2;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Sean Brogan</span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l8 level1 lfo2;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Bret Barkelew</span></span></li>
<li class="MsoListParagraphCxSpLast" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l8 level1 lfo2;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Placeholder for existing maintainer from the basetools</span></span></li>
</ol>
<p class="DefangedMsoNormal" style="margin-bottom: 8.0pt; mso-add-space: auto; line-height: 105%;" style="margin:0px;"><span style="mso-bookmark: _MailOriginal;">License</span></p>
<ol style="margin-top: 0in;" start="1" type="1">
<li class="MsoListParagraph" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l5 level1 lfo3;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">BSD + Patent (edk2 aligned)</span></span></li>
</ol>
<p class="DefangedMsoNormal" style="margin-bottom: 8.0pt; mso-add-space: auto; line-height: 105%;" style="margin:0px;"><span style="mso-bookmark: _MailOriginal;">Contribution process and issue tracking</span></p>
<ol style="margin-top: 0in;" start="1" type="1">
<li class="MsoListParagraphCxSpFirst" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l4 level1 lfo4;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Follow Github PR process for contributions and issue tracking</span></span></li>
<ol style="margin-top: 0in;" start="1" type="a">
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l4 level2 lfo4;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Contributor forks repo in github</span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l4 level2 lfo4;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Contributor creates branch for work</span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l4 level2 lfo4;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Contributor updates release notes to indicate change (if necessary) </span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l4 level2 lfo4;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Contributor submits PR to master branch of tianocore/Edk2-ToolEnv repo</span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l4 level2 lfo4;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Review feedback is given in PR</span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l4 level2 lfo4;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Python Tests are run on the repo (new contributions need unit tests)</span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l4 level2 lfo4;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Python Style (flake8) must pass</span></span></li>
<li class="MsoListParagraphCxSpLast" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l4 level2 lfo4;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">All review feedback must be completed, maintainers approved, and tests run successfully before PR is <strong><u>squash merged</u></strong> into master</span></span></li>
</ol>
</ol>
<p class="DefangedMsoNormal" style="margin-bottom: 8.0pt; mso-add-space: auto; line-height: 105%;" style="margin:0px;"><span style="mso-bookmark: _MailOriginal;">Documentation</span></p>
<ol style="margin-top: 0in;" start="1" type="1">
<li class="MsoListParagraphCxSpFirst" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l6 level1 lfo5;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Use Github IO documentation/wiki hosting</span></span></li>
<ol style="margin-top: 0in;" start="1" type="a">
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l6 level2 lfo5;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Example content</span></span></li>
</ol>
</ol>
<p class="MsoListParagraphCxSpMiddle" style="mso-add-space: auto; text-indent: -1.5in; mso-text-indent-alt: -9.0pt; line-height: 105%; mso-list: l6 level3 lfo5; margin: 0in 0in 8.0pt 1.5in;"><span style="mso-bookmark: _MailOriginal;"><!-- [if !supportLists]--><span style="mso-fareast-font-family: Calibri;"><span style="mso-list: Ignore;"><span style="font: 7.0pt 'Times New Roman';">                                                               </span>i.<span style="font: 7.0pt 'Times New Roman';">      </span></span></span><!--[endif]--> </span><a href="https://microsoft.github.io/mu/dyn/mu_pip_environment/developing/"><span style="mso-bookmark: _MailOriginal;">https://microsoft.github.io/mu/dyn/mu_pip_environment/developing/</span><span style="mso-bookmark: _MailOriginal;"></span></a><span style="mso-bookmark: _MailOriginal;"></span></p>
<p class="MsoListParagraphCxSpMiddle" style="mso-add-space: auto; text-indent: -1.5in; mso-text-indent-alt: -9.0pt; line-height: 105%; mso-list: l6 level3 lfo5; margin: 0in 0in 8.0pt 1.5in;"><span style="mso-bookmark: _MailOriginal;"><!-- [if !supportLists]--><span style="mso-fareast-font-family: Calibri;"><span style="mso-list: Ignore;"><span style="font: 7.0pt 'Times New Roman';">                                                             </span>ii.<span style="font: 7.0pt 'Times New Roman';">      </span></span></span><!--[endif]--></span><a href="https://microsoft.github.io/mu/dyn/mu_pip_environment/publishing/"><span style="mso-bookmark: _MailOriginal;">https://microsoft.github.io/mu/dyn/mu_pip_environment/publishing/</span><span style="mso-bookmark: _MailOriginal;"></span></a><span style="mso-bookmark: _MailOriginal;"></span></p>
<ol style="margin-top: 0in;" start="2" type="1">
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l6 level1 lfo5;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Readme at root of repo</span></span></li>
<ol style="margin-top: 0in;" start="1" type="a">
<li class="MsoListParagraphCxSpLast" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l6 level2 lfo5;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Example: </span></span><a href="https://github.com/Microsoft/mu_pip_environment"><span style="mso-bookmark: _MailOriginal;">https://github.com/Microsoft/mu_pip_environment</span><span style="mso-bookmark: _MailOriginal;"></span></a><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';"></span></span></li>
</ol>
</ol>
<p class="DefangedMsoNormal" style="margin-bottom: 8.0pt; mso-add-space: auto; line-height: 105%;" style="margin:0px;"><span style="mso-bookmark: _MailOriginal;">CI Builds</span></p>
<ol style="margin-top: 0in;" start="1" type="1">
<li class="MsoListParagraphCxSpFirst" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l9 level1 lfo6;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">CI build process using dev ops</span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l9 level1 lfo6;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Validation is done thru build process</span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l9 level1 lfo6;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Release publication done thru manual CI Build</span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l9 level1 lfo6;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Examples from Mu-Environment</span></span></li>
<ol style="margin-top: 0in;" start="1" type="a">
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l9 level2 lfo6;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Windows CI - </span></span><a href="https://dev.azure.com/projectmu/mu%20pip/_build?definitionId=10"><span style="mso-bookmark: _MailOriginal;">https://dev.azure.com/projectmu/mu%20pip/_build?definitionId=10</span><span style="mso-bookmark: _MailOriginal;"></span></a><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';"></span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l9 level2 lfo6;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Linux CI - </span></span><a href="https://dev.azure.com/projectmu/mu%20pip/_build?definitionId=11"><span style="mso-bookmark: _MailOriginal;">https://dev.azure.com/projectmu/mu%20pip/_build?definitionId=11</span><span style="mso-bookmark: _MailOriginal;"></span></a><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';"></span></span></li>
<li class="MsoListParagraphCxSpLast" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l9 level2 lfo6;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Publishing - </span></span><a href="https://dev.azure.com/projectmu/mu%20pip/_build?definitionId=17"><span style="mso-bookmark: _MailOriginal;">https://dev.azure.com/projectmu/mu%20pip/_build?definitionId=17</span><span style="mso-bookmark: _MailOriginal;"></span></a><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';"></span></span></li>
</ol>
</ol>
<p class="DefangedMsoNormal" style="margin-bottom: 8.0pt; mso-add-space: auto; line-height: 105%;" style="margin:0px;"><span style="mso-bookmark: _MailOriginal;">Release </span></p>
<ol style="margin-top: 0in;" start="1" type="1">
<li class="MsoListParagraphCxSpFirst" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l2 level1 lfo7;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Release to Pypi as Edk2-ToolEnv for easy usage in product environment</span></span></li>
<ol style="margin-top: 0in;" start="1" type="a">
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l2 level2 lfo7;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Versioned follows: Aa.bb.cc.dd</span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l2 level2 lfo7;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">AA == Major version.  Changes don’t need to be backward compatible</span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l2 level2 lfo7;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">BB == Minor version.  Significant new features.  Backward compatibility maintained </span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l2 level2 lfo7;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">CC == Bug fix/patch/small optional feature</span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l2 level2 lfo7;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">DD == build/Release version.  </span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l2 level2 lfo7;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Package on Pypi will be owned by Tianocore group</span></span></li>
</ol>
<li class="MsoListParagraphCxSpLast" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l2 level1 lfo7;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Example for mu-environment: </span></span><a href="https://pypi.org/project/mu-environment/"><span style="mso-bookmark: _MailOriginal;">https://pypi.org/project/mu-environment/</span><span style="mso-bookmark: _MailOriginal;"></span></a><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';"></span></span></li>
</ol>
<p class="DefangedMsoNormal" style="margin-bottom: 8.0pt; mso-add-space: auto; line-height: 105%;" style="margin:0px;"><span style="mso-bookmark: _MailOriginal;">Other Notes</span></p>
<ol style="margin-top: 0in;" start="1" type="1">
<li class="MsoListParagraphCxSpFirst" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l7 level1 lfo8;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">Only support Python 3 (prefer 3.7+)</span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l7 level1 lfo8;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi;">This was discussed on the edk2 design meetings (4/18) </span></span><a href="https://edk2.groups.io/g/devel/files/Designs/2019/0418"><span style="mso-bookmark: _MailOriginal;">https://edk2.groups.io/g/devel/files/Designs/2019/0418</span><span style="mso-bookmark: _MailOriginal;"></span></a><span style="mso-bookmark: _MailOriginal;"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi;"></span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l7 level1 lfo8;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi;">There is RFC #2.<span style="mso-spacerun: yes;">  </span>The 1<sup>st</sup> RFC is for Edk2-Library which this RFC depends on.<span style="mso-spacerun: yes;">  </span></span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l7 level1 lfo8;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi;">Simple example of usage on an open platform:<span style="mso-spacerun: yes;">  </span></span></span><a href="https://github.com/ms-iot/MU_PLATFORM_NXP/blob/master/NXP/MCIMX8M_MINI_EVK_2GB/PlatformBuildWorker.py"><span style="mso-bookmark: _MailOriginal;">https://github.com/ms-iot/MU_PLATFORM_NXP/blob/master/NXP/MCIMX8M_MINI_EVK_2GB/PlatformBuildWorker.py</span><span style="mso-bookmark: _MailOriginal;"></span></a><span style="mso-bookmark: _MailOriginal;"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi;"></span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l7 level1 lfo8;"><span style="mso-bookmark: _MailOriginal;">Example of CI of something like Tianocore: </span><span style="mso-bookmark: _MailOriginal;"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi;"></span></span></li>
<ol style="margin-top: 0in;" start="1" type="a">
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l7 level2 lfo8;"><span style="mso-bookmark: _MailOriginal;">Windows - Mu_Basecore: </span><a href="https://dev.azure.com/projectmu/mu/_build?definitionId=4&view=buildsHistory"><span style="mso-bookmark: _MailOriginal;">https://dev.azure.com/projectmu/mu/_build?definitionId=4&view=buildsHistory</span><span style="mso-bookmark: _MailOriginal;"></span></a><span style="mso-bookmark: _MailOriginal;"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi;"></span></span></li>
<li class="MsoListParagraphCxSpMiddle" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l7 level2 lfo8;"><span style="mso-bookmark: _MailOriginal;">Linux - Mu_Basecore: </span><a href="https://dev.azure.com/projectmu/mu/_build?definitionId=19&view=buildsHistory"><span style="mso-bookmark: _MailOriginal;">https://dev.azure.com/projectmu/mu/_build?definitionId=19&view=buildsHistory</span><span style="mso-bookmark: _MailOriginal;"></span></a><span style="mso-bookmark: _MailOriginal;"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi;"></span></span></li>
<li class="MsoListParagraphCxSpLast" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l7 level2 lfo8;"><span style="mso-bookmark: _MailOriginal;">Windows - Project Mu Plus code: </span><a href="https://dev.azure.com/projectmu/mu/_build?definitionId=6&view=buildsHistory"><span style="mso-bookmark: _MailOriginal;">https://dev.azure.com/projectmu/mu/_build?definitionId=6&view=buildsHistory</span><span style="mso-bookmark: _MailOriginal;"></span></a><span style="mso-bookmark: _MailOriginal;"> </span><span style="mso-bookmark: _MailOriginal;"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi;"></span></span></li>
</ol>
</ol>
<p class="MsoNormalCxSpFirst" style="mso-add-space: auto; line-height: 105%; margin: 0in 0in 8.0pt .25in;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi;"> </span></span></p>
<p class="MsoNormalCxSpLast" style="margin-bottom: 8.0pt; mso-add-space: auto; line-height: 105%;"><span style="mso-bookmark: _MailOriginal;">Timeline</span></p>
<ol style="margin-top: 0in;" start="1" type="1">
<li class="MsoListParagraph" style="margin-bottom: 8.0pt; margin-left: 0in; mso-add-space: auto; line-height: 105%; mso-list: l3 level1 lfo9;"><span style="mso-bookmark: _MailOriginal;"><span style="mso-fareast-font-family: 'Times New Roman';">RFC open for comment thru 5/21/2019</span></span><span style="mso-fareast-font-family: 'Times New Roman';"> since the same as RFC Edk2-Library</span></li>
</ol>

<div width="1" style="color:white;clear:both">_._,_._,_</div>
<hr>
Groups.io Links:<p>

You receive all messages sent to this group.


<p>

<a target="_blank" href="https://edk2.groups.io/g/devel/message/40567">View/Reply Online (#40567)</a> |


  


|


  
    <a target="_blank" href="https://groups.io/mt/31614611/1813853">Mute This Topic</a>
  

| <a href="https://edk2.groups.io/g/devel/post">New Topic</a><br>



<br>

<a href="https://edk2.groups.io/g/devel/editsub/1813853">Your Subscription</a> |
<a href="mailto:devel+owner@edk2.groups.io">Contact Group Owner</a> |

<a href="https://edk2.groups.io/g/devel/unsub">Unsubscribe</a>

 [edk2-devel-archive@redhat.com]<br>
<div width="1" style="color:white;clear:both">_._,_._,_</div>