I like it.

 

- Bret

 

From: Kinney, Michael D
Sent: Saturday, December 19, 2020 10:59 AM
To: rfc@edk2.groups.io; devel@edk2.groups.io; Bret Barkelew; Laszlo Ersek <lersek@redhat.com> (lersek@redhat.com); liming.gao
Subject: [EXTERNAL] RE: [RFC] UnitTestFrameworkPkg cmocka submodule alternatives

 

Hello,

There have been a few suggestions to create a mirror of cmocka in TianoCore
org in GitHub.

I have found a GitHub action that can do a repo sync.

    https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmarketplace%2Factions%2Fgithub-repo-sync&amp;data=04%7C01%7CBret.Barkelew%40microsoft.com%7C92da18aaec1443463b2508d8a45023a2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637440011398666049%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=AX2EFVoGvtYoOZRtyFjwwTRbZkmQMgOCnjNNhWot7eo%3D&amp;reserved=0

I have created a temporary mirror of cmocka in my personal GitHub area that
uses this GitHub action to sync all branches and all tags once a day.

    https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmdkinney%2Fmirror-cmocka&amp;data=04%7C01%7CBret.Barkelew%40microsoft.com%7C92da18aaec1443463b2508d8a45023a2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637440011398666049%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=U7ThFHC2fsgO9rVTNre3b0dI23b1Iudi1tw%2FjiFEdZc%3D&amp;reserved=0

Here is the GitHub workflow file.  It must be in the default branch for the
repo using a branch name that is not present in the repo being mirrored.
In this case, I used a branch name of 'repo-sync'.

    https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmdkinney%2Fmirror-cmocka%2Fblob%2Frepo-sync%2F.github%2Fworkflows%2Frepo-sync.yml&amp;data=04%7C01%7CBret.Barkelew%40microsoft.com%7C92da18aaec1443463b2508d8a45023a2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637440011398666049%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=CuxE3Ljy2M7APvXfnuOqb6YPnFCX%2FUkDxsiIGEUHcvY%3D&amp;reserved=0

Please provide feedback on this approach.  If we like this approach, then
I suggest we create a new repo in TianoCore called edk2-cmocka that is a
mirror that is synced once a day and we update the cmocka submodule in the
edk2 repo to use edk2-cmocka.

Best regards,

Mike

> -----Original Message-----
> From: Kinney, Michael D <michael.d.kinney@intel.com>
> Sent: Wednesday, December 16, 2020 10:46 AM
> To: rfc@edk2.groups.io; devel@edk2.groups.io; Kinney, Michael D <michael.d.kinney@intel.com>; 'Bret Barkelew'
> <Bret.Barkelew@microsoft.com>
> Subject: [RFC] UnitTestFrameworkPkg cmocka submodule alternatives
>
> Hello,
>
> We have had at least three incidents in the last year where the link to the
> cmocka submodule in the UnitTestFrameworkPkg has not been available, and this
> impacted the EDK II CI system.  The following submodule link is the one that
> is not reliable:
>
>        https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.cryptomilk.org%2Fprojects%2Fcmocka.git&amp;data=04%7C01%7CBret.Barkelew%40microsoft.com%7C92da18aaec1443463b2508d8a45023a2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637440011398666049%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=m4tHEei6OQUwJu6jcldgxycoBJoajqPb9o5aKTDra%2F0%3D&amp;reserved=0
>
> We have identified two potential mirrors of this repo:
>
>        https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fneverware-mirrors%2Fcmocka.git&amp;data=04%7C01%7CBret.Barkelew%40microsoft.com%7C92da18aaec1443463b2508d8a45023a2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637440011398676045%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=19d9nV6kG4FQE3GC3ZzDTmE6%2F7EjNdMMWM%2BbSGT6bSI%3D&amp;reserved=0
>        https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.com%2Fcmocka%2Fcmocka.git&amp;data=04%7C01%7CBret.Barkelew%40microsoft.com%7C92da18aaec1443463b2508d8a45023a2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637440011398676045%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=xgErAgcMsMSKbrLZB9kgCHHl3r%2FzJM%2FJy6jhxpi0ObY%3D&amp;reserved=0
>
> The following patch provided a temporary fix for the EDK II CI agents, but
> does not help other consumers of the edk2 repository.
>
>        https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Ftianocore%2Fedk2%2Fcommit%2Fbe746104d1766a8c363e74d6063144657820d688&amp;data=04%7C01%7CBret.Barkelew%40microsoft.com%7C92da18aaec1443463b2508d8a45023a2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637440011398676045%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=Nyx8mBIwNxMEu4SdHYGiQhBGcpAPxxPHXBgI%2BM0CIU0%3D&amp;reserved=0
>
> I have seen one suggestion that TianoCore create its own
> mirror of cmocka.  This does require monitoring and maintenance
> by the  TianoCore community.  I would prefer to use a well
> maintained mirror in github as long as we do not observe any
> issues with the support of that mirror.
>
> I propose we update the submodule in the UnitTestFrameworkPkg
> to use the https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fneverware-mirrors%2Fcmocka.git&amp;data=04%7C01%7CBret.Barkelew%40microsoft.com%7C92da18aaec1443463b2508d8a45023a2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637440011398676045%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=19d9nV6kG4FQE3GC3ZzDTmE6%2F7EjNdMMWM%2BbSGT6bSI%3D&amp;reserved=0 mirror.
> By using a mirror in github, we remove one external dependency.
>
> Please provide feedback and comments on this proposal.  If there
> are no objections, then we will proceed with a patch review for
> this update.
>
> Thanks,
>
> Mike