[edk2-devel] [edk2-rfc] [RFC] Create supported branch from edk2-stable* tag (Required to address critical bug BZ3111)

Michael D Kinney michael.d.kinney at intel.com
Tue Dec 15 18:56:09 UTC 2020


Hi Leif,

I think you are suggesting that a local branch could be created from edk2-stable202011 and the
2 commits cherry-picked onto that local branch and then create a tag on that local branch and
only push the new tag to edk2 repo (e.g. edk2-stable202011.01).  Correct?

I think with this approach, we would wait for the community to request a new stable dot tag
(e.g. edk2-stable202011.01) with a specific set of commits.

Another advantage of branch vs tag is that platforms that want to always use an edk2-stable*
tag with all the known critical bug fixes can pull the branch to get the latest fixes.  Or select
a tag on the branch or a specific sha on the branch based on their platform requirements.  If
a platform has to wait for a new stable dot tag then the platform can not test with those critical
fixes directly from the edk2 repo.  They would have to create their own downstream.

I think between the CI use case and this downstream platform use case, a branch has more
advantages than a tag.

I am fine with removing the redundant use of 'stable' and 'edk2' in the branch naming proposal.

    Proposal: stable/*
    Example:  stable/202011

Thanks,

Mike

> -----Original Message-----
> From: rfc at edk2.groups.io <rfc at edk2.groups.io> On Behalf Of Leif Lindholm
> Sent: Tuesday, December 15, 2020 9:17 AM
> To: Kinney, Michael D <michael.d.kinney at intel.com>
> Cc: devel at edk2.groups.io; rfc at edk2.groups.io; gaoliming at byosoft.com.cn; Andrew Fish (afish at apple.com) <afish at apple.com>;
> Laszlo Ersek <lersek at redhat.com> (lersek at redhat.com) <lersek at redhat.com>; 'Sean Brogan' <sean.brogan at microsoft.com>; 'Bret
> Barkelew' <Bret.Barkelew at microsoft.com>
> Subject: Re: [edk2-rfc] [RFC] Create supported branch from edk2-stable* tag (Required to address critical bug BZ3111)
> 
> Hi Mike,
> 
> This looks fine to me.
> I will add a potential tweak that I won't strongly advocate for, but
> think should be considered:
> We don't technically need a branch for this; a tag could be pushed
> directly.
> 
> On Tue, Dec 15, 2020 at 16:53:09 +0000, Kinney, Michael D wrote:
> > Hello,
> >
> > The following bug has been fixed on edk2/master
> >
> >     https://bugzilla.tianocore.org/show_bug.cgi?id=3111
> >     https://github.com/tianocore/edk2/pull/1226
> >
> > This bug is also considered a critical bug against edk2-stable202011.  The behavior
> > of the Variable Lock Protocol was changed in a non-backwards compatible manner in
> > edk2-stable202011 and this is impacting some downstream platforms.  The following
> > 2 commits on edk2/master restore the original behavior of the Variable Lock Protocol.
> >
> >     https://github.com/tianocore/edk2/pull/1226/commits/893cfe2847b83da74f53858d6acaa15a348bad7c
> >     https://github.com/tianocore/edk2/pull/1226/commits/16491ba6a6e9a91cedeeed45bc0fbdfde49f7968
> >
> > The request here is to create a supported branch from edk2-stable202011 tag and apply
> > these 2 commits as critical bug fixes on the supported branch.
> >
> > Since we started using the edk2-stable* tag process, there has not been a request to create
> > a supported branch from one of those tags.  As a result, there are a couple opens that
> > need to be addressed:
> >
> > 1) Supported branch naming convention.
> >
> >     Proposal: stable/edk2-stable*
> >     Example:  stable/edk2-stable202011
> 
> For the bikeshedding part, if we're doing the branches, I support
> using the stable/ prefix, but I also think this obviates the need to
> include the word stable in the portion after /.
> Since branches unlike tags don't have global namespace, I also think
> there is no need for the edk2 portion of the name.
> So an example branch name could be:
>   stable/202011
> 
> > 2) CI requirements for supported branches.
> >
> >     Proposal: Update .azurepipelines yml files to also trigger on stable/* branches
> >     and update GitHub settings so stable/* branches are protected branches.
> 
> This would of course mandate the use of branches.
> 
> > 3) Release requirements for supported branches.
> >
> >    Proposal: If there are a significant number of critical fixes applied to
> >    a stable/edk2-stable* branch, then a request for a release can be made that
> >    would trigger focused testing of the supported branch and creation of a new
> >    release.  If all testing passes, then a tag is created on the stable/edk2-stable*
> >    branch and a release is created on GitHub that summarizes the set of critical
> >    fixes and the testing performed.
> >
> >    Proposal: edk2-stable<YYYY><MM>.<XX>
> >    Example : edk2-stable201111.01
> 
> Sounds good to me.
> 
> Best Regards,
> 
> Leif
> 
> > Please let me know if you have any feedback or comments on this proposal.  The goal
> > is to close on this topic this week.
> >
> > Thank you,
> >
> > Mike
> 
> 
> 
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#68884): https://edk2.groups.io/g/devel/message/68884
Mute This Topic: https://groups.io/mt/78983466/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-






More information about the edk2-devel-archive mailing list