<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof"><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">Dun,</span></div>
<div class="elementToProof"><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof"><br>
</span></div>
<div class="elementToProof"><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof">I created this discussion on github hoping that others might have
 ideas/feedback.  </span></div>
<div class="elementToProof"><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);" class="elementToProof"><a href="https://github.com/tianocore/edk2/discussions/3739" id="LPlnkOWALinkPreview">Integrate
 target-based testing into Platform CI for Edk2 using OVMF · Discussion #3739 · tianocore/edk2 (github.com)</a><br>
</span></div>
<div class="elementToProof" style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<br>
</div>
<div class="elementToProof" style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
Lets use that to discuss and then on monday we can talk more if needed. </div>
<div class="elementToProof" style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<br>
</div>
<div class="elementToProof" style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
Thanks</div>
<div class="elementToProof" style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
Sean</div>
<div class="elementToProof" style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<br>
</div>
<div class="elementToProof" style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 11pt; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<br>
</div>
<div class="_Entity _EType_OWALinkPreview _EId_OWALinkPreview _EReadonly_1">
<div id="LPBorder_GTaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyL2Rpc2N1c3Npb25zLzM3Mzk." class="LPBorder999240" style="width: 100%; margin-top: 16px; margin-bottom: 16px; position: relative; max-width: 800px; min-width: 424px;">
<table id="LPContainer999240" role="presentation" style="padding: 12px 36px 12px 12px; width: 100%; border-width: 1px; border-style: solid; border-color: rgb(200, 200, 200); border-radius: 2px;">
<tbody>
<tr valign="top" style="border-spacing: 0px;">
<td>
<div id="LPImageContainer999240" style="position: relative; margin-right: 12px; height: 120px; overflow: hidden; width: 240px;">
<a target="_blank" id="LPImageAnchor999240" href="https://github.com/tianocore/edk2/discussions/3739"><img id="LPThumbnailImageId999240" alt="" height="120" style="display: block;" width="240" src="https://opengraph.githubassets.com/1743f87e9d9139f88783fef5e0cdeb31d956f016a4ea69c0c5489778f4834eb7/tianocore/edk2/discussions/3739"></a></div>
</td>
<td style="width: 100%;">
<div id="LPTitle999240" style="font-size: 21px; font-weight: 300; margin-right: 8px; font-family: wf_segoe-ui_light, "Segoe UI Light", "Segoe WP Light", "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; margin-bottom: 12px;">
<a target="_blank" id="LPUrlAnchor999240" href="https://github.com/tianocore/edk2/discussions/3739" style="text-decoration: none; color: var(--themePrimary);">Integrate target-based testing into Platform CI for Edk2 using OVMF · Discussion #3739 · tianocore/edk2</a></div>
<div id="LPDescription999240" style="font-size: 14px; max-height: 100px; color: rgb(102, 102, 102); font-family: wf_segoe-ui_normal, "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif; margin-bottom: 12px; margin-right: 8px; overflow: hidden;">
Starting a discussion here to see if more individuals in the community have opinions on how best to integrate target-based testing into edk2 CI. There is a current proposed patch on the mailing lis...</div>
<div id="LPMetadata999240" style="font-size: 14px; font-weight: 400; color: rgb(166, 166, 166); font-family: wf_segoe-ui_normal, "Segoe UI", "Segoe WP", Tahoma, Arial, sans-serif;">
github.com</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<br>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Tan, Dun <dun.tan@intel.com><br>
<b>Sent:</b> Thursday, December 8, 2022 12:17 AM<br>
<b>To:</b> Michael Kubacki <mikuback@linux.microsoft.com>; devel@edk2.groups.io <devel@edk2.groups.io><br>
<b>Cc:</b> Sean Brogan <sean.brogan@microsoft.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Ni, Ray <ray.ni@intel.com><br>
<b>Subject:</b> [EXTERNAL] RE: [edk2-devel] [PATCH 3/3] .azurepipelines: Expand PlatformCI template for Shell UnitTest</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">Thank you and Sean a lot! I'll attend the CI meeting if there is any open.<br>
<br>
Thanks,<br>
Dun<br>
-----Original Message-----<br>
From: Michael Kubacki <mikuback@linux.microsoft.com> <br>
Sent: Thursday, December 8, 2022 10:57 AM<br>
To: devel@edk2.groups.io; Tan, Dun <dun.tan@intel.com><br>
Cc: Sean Brogan <sean.brogan@microsoft.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Ni, Ray <ray.ni@intel.com><br>
Subject: Re: [edk2-devel] [PATCH 3/3] .azurepipelines: Expand PlatformCI template for Shell UnitTest<br>
<br>
Hi Dun,<br>
<br>
Sean Brogan and I have some feedback we'll send soon after we sync on it. If anything is still open as of the upcoming TianoCore tools & CI meeting and you're able to attend, we can talk there as well.<br>
<br>
Thanks,<br>
Michael<br>
<br>
On 12/5/2022 11:46 PM, duntan wrote:<br>
> Hi Michael,<br>
> Thanks for the reply! In the following PR, I added an unit test list in the new OvmfPkg platform CI JOB. In  PlatformCI_OvmfPkg_Ubuntu_GCC5_PR and PlatformCI_OvmfPkg_Windows_VS2019_PR, the CI for specific unit test list was triggered.<br>
> <a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2%2Fpull%2F3651&data=05%7C01%7Csean.brogan%40microsoft.com%7C884211b3375b4f0618de08dad8f4bdea%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C638060842928005678%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=%2FPbU3fGHlHv5%2FlKn8tvUdEO6%2Ff2SjCAzc7u2KVRxyK0%3D&reserved=0">
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2%2Fpull%2F3651&data=05%7C01%7Csean.brogan%40microsoft.com%7C884211b3375b4f0618de08dad8f4bdea%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C638060842928005678%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=%2FPbU3fGHlHv5%2FlKn8tvUdEO6%2Ff2SjCAzc7u2KVRxyK0%3D&reserved=0</a><br>
> <br>
> Thanks,<br>
> Dun<br>
> <br>
> -----Original Message-----<br>
> From: Michael Kubacki <mikuback@linux.microsoft.com><br>
> Sent: Tuesday, December 6, 2022 9:24 AM<br>
> To: devel@edk2.groups.io; Tan, Dun <dun.tan@intel.com><br>
> Cc: Sean Brogan <sean.brogan@microsoft.com>; Kinney, Michael D <br>
> <michael.d.kinney@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; <br>
> Ni, Ray <ray.ni@intel.com><br>
> Subject: Re: [edk2-devel] [PATCH 3/3] .azurepipelines: Expand <br>
> PlatformCI template for Shell UnitTest<br>
> <br>
> Sorry for the delay Dun. Can you please share an edk2 pull request with this change?<br>
> <br>
> Thanks,<br>
> Michael<br>
> <br>
> On 12/4/2022 10:57 PM, duntan wrote:<br>
>> Hi all,<br>
>> Is there anything else I can do to speed up the review process for this patch set? Looking forward to your reply.<br>
>><br>
>> Thanks,<br>
>> Dun<br>
>> -----Original Message-----<br>
>> From: Tan, Dun<br>
>> Sent: Monday, November 28, 2022 5:34 PM<br>
>> To: devel@edk2.groups.io; Tan, Dun <dun.tan@intel.com><br>
>> Cc: Sean Brogan <sean.brogan@microsoft.com>; Michael Kubacki <br>
>> <mikuback@linux.microsoft.com>; Kinney, Michael D <br>
>> <michael.d.kinney@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; <br>
>> Ni, Ray <ray.ni@intel.com><br>
>> Subject: RE: [edk2-devel] [PATCH 3/3] .azurepipelines: Expand <br>
>> PlatformCI template for Shell UnitTest<br>
>><br>
>> Hi all,<br>
>> Could you please help to review this patch? Thanks a lot!<br>
>><br>
>> Thanks,<br>
>> Dun<br>
>><br>
>> -----Original Message-----<br>
>> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of duntan<br>
>> Sent: Tuesday, November 22, 2022 7:48 PM<br>
>> To: devel@edk2.groups.io<br>
>> Cc: Sean Brogan <sean.brogan@microsoft.com>; Michael Kubacki <br>
>> <mikuback@linux.microsoft.com>; Kinney, Michael D <br>
>> <michael.d.kinney@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; <br>
>> Ni, Ray <ray.ni@intel.com><br>
>> Subject: [edk2-devel] [PATCH 3/3] .azurepipelines: Expand PlatformCI <br>
>> template for Shell UnitTest<br>
>><br>
>> Expand PlatformCI build and run steps template for Shell UnitTest. Add a new parameter unit_test_list to support building and running specific Shell UnitTest modules.<br>
>><br>
>> In stuart_pr_eval step, if the unit_test_list passed from platform yml file is not null, it will select some packages from the packages which contain the module in unit_test_list and set them into a new variable pkgs_to_build base on its evaluation rule.<br>
>> In stuart_build step, if unit_test_list is not null, '${{ parameters.unit_test_list}} -p $(pkgs_to_build)' will be added into the arguments to build specific UnitTest modules in pkgs_to_build.<br>
>> In 'Run to shell' step, if unit_test_list is not null, all the UnitTest modules built in stuart_build step will runs in shell.<br>
>><br>
>> Signed-off-by: Dun Tan <dun.tan@intel.com><br>
>> Cc: Sean Brogan <sean.brogan@microsoft.com><br>
>> Cc: Michael Kubacki <mikuback@linux.microsoft.com><br>
>> Cc: Michael D Kinney <michael.d.kinney@intel.com><br>
>> Cc: Liming Gao <gaoliming@byosoft.com.cn><br>
>> Cc: Ray Ni <ray.ni@intel.com><br>
>> ---<br>
>>    .azurepipelines/templates/platform-build-run-steps.yml | 21 +++++++++++++++++----<br>
>>    1 file changed, 17 insertions(+), 4 deletions(-)<br>
>><br>
>> diff --git a/.azurepipelines/templates/platform-build-run-steps.yml<br>
>> b/.azurepipelines/templates/platform-build-run-steps.yml<br>
>> index 40a31a509f..51503287c4 100644<br>
>> --- a/.azurepipelines/templates/platform-build-run-steps.yml<br>
>> +++ b/.azurepipelines/templates/platform-build-run-steps.yml<br>
>> @@ -30,6 +30,9 @@ parameters:<br>
>>    - name: run_flags<br>
>>      type: string<br>
>>      default: ''<br>
>> +- name: unit_test_list<br>
>> +  type: string<br>
>> +  default: ''<br>
>>    <br>
>>    - name: extra_install_step<br>
>>      type: stepList<br>
>> @@ -49,7 +52,9 @@ steps:<br>
>>      displayName: 'Install/Upgrade pip modules'<br>
>>    <br>
>>    # Set default<br>
>> -- bash: echo "##vso[task.setvariable variable=pkg_count]${{ 1 }}"<br>
>> +- bash: |<br>
>> +    echo "##vso[task.setvariable variable=pkg_count]${{ 1 }}"<br>
>> +    echo "##vso[task.setvariable variable=pkgs_to_build]${{ 'all' }}"<br>
>>    <br>
>>    # Fetch the target branch so that pr_eval can diff them.<br>
>>    # Seems like azure pipelines/github changed checkout process in nov 2020.<br>
>> @@ -62,7 +67,7 @@ steps:<br>
>>      displayName: Check if ${{ parameters.build_pkg }} need testing<br>
>>      inputs:<br>
>>        filename: stuart_pr_eval<br>
>> -    arguments: -c ${{ parameters.build_file }} -t ${{ parameters.build_target}} -a ${{ parameters.build_arch}} --pr-target origin/$(System.PullRequest.targetBranch) --output-count-format-string "##vso[task.setvariable variable=pkg_count;isOutpout=true]{pkgcount}"<br>
>> +    arguments: -c ${{ parameters.build_file }} -t ${{ <br>
>> + parameters.build_target}} -a ${{ parameters.build_arch}} <br>
>> + --pr-target<br>
>> + origin/$(System.PullRequest.targetBranch)<br>
>> + --output-count-format-string "##vso[task.setvariable variable=pkg_count;isOutpout=true]{pkgcount}"<br>
>> + --output-csv-format-string "##vso[task.setvariable <br>
>> + variable=pkgs_to_build]{pkgcsv}" ${{ parameters.unit_test_list}}<br>
>>      condition: eq(variables['Build.Reason'], 'PullRequest')<br>
>>    <br>
>>     # Setup repo<br>
>> @@ -97,14 +102,22 @@ steps:<br>
>>      inputs:<br>
>>        filename: stuart_build<br>
>>        arguments: -c ${{ parameters.build_file }} TOOL_CHAIN_TAG=${{ <br>
>> parameters.tool_chain_tag}} TARGET=${{ parameters.build_target}} -a <br>
>> ${{ parameters.build_arch}} ${{ parameters.build_flags}}<br>
>> -  condition: and(gt(variables.pkg_count, 0), succeeded())<br>
>> +  condition: and(and(gt(variables.pkg_count, 0), succeeded()), <br>
>> + eq(variables.unit_test_list, ''))<br>
>> +<br>
>> +# Build specific pkg for UnitTest<br>
>> +- task: CmdLine@1<br>
>> +  displayName: Build UnitTest<br>
>> +  inputs:<br>
>> +    filename: stuart_build<br>
>> +    arguments: ${{ parameters.unit_test_list}} -p $(pkgs_to_build) <br>
>> +-c ${{ parameters.build_file }} TOOL_CHAIN_TAG=${{ <br>
>> +parameters.tool_chain_tag}} TARGET=${{ parameters.build_target}} -a <br>
>> +${{ parameters.build_arch}} ${{ parameters.build_flags}}<br>
>> +  condition: and(and(gt(variables.pkg_count, 0), succeeded()), <br>
>> +not(eq(variables.unit_test_list, '')))<br>
>>    <br>
>>    # Run<br>
>>    - task: CmdLine@1<br>
>>      displayName: Run to shell<br>
>>      inputs:<br>
>>        filename: stuart_build<br>
>> -    arguments: -c ${{ parameters.build_file }} TOOL_CHAIN_TAG=${{ parameters.tool_chain_tag}} TARGET=${{ parameters.build_target}} -a ${{ parameters.build_arch}} ${{ parameters.build_flags}} ${{ parameters.run_flags }} --FlashOnly<br>
>> +    arguments: -c ${{ parameters.build_file }} TOOL_CHAIN_TAG=${{ <br>
>> + parameters.tool_chain_tag}} TARGET=${{ parameters.build_target}} -a <br>
>> + ${{ parameters.build_arch}} ${{ parameters.build_flags}} ${{ <br>
>> + parameters.run_flags }} --FlashOnly ${{ parameters.unit_test_list}}<br>
>>      condition: and(and(gt(variables.pkg_count, 0), succeeded()), eq(variables['Run'], true))<br>
>>      timeoutInMinutes: 1<br>
>>    <br>
>> --<br>
>> 2.31.1.windows.1<br>
>><br>
>><br>
>><br>
>><br>
>><br>
>><br>
>><br>
>><br>
>><br>
>><br>
> <br>
> <br>
> <br>
> <br>
> <br>
</div>
</span></font></div>
</body>
</html>


 <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/97157">View/Reply Online (#97157)</a> |    |  <a target="_blank" href="https://groups.io/mt/95306890/1813853">Mute This Topic</a>  | <a href="https://edk2.groups.io/g/devel/post">New Topic</a><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>