Leif,

I could see edk2-platforms/master being the platform branch that
contains the set of platforms that are synced with edk2/master and
are required to be tested when changes are made to edk2/master.
Or at least guaranteed to be tested when a stable release of 
edk2/master is made.

Similar to what we expect for the platforms in edk2/master such
as OvmfPkg, EmulatorPkg, and Nt32Pkg.

Given that not everyone would have access to platform targets to 
run tests, the minimum requirement could be build tests.

Mike

> -----Original Message-----
> From: Kinney, Michael D
> Sent: Friday, October 14, 2016 12:15 AM
> To: Leif Lindholm <leif.lindh...@linaro.org>; Andrew Fish (af...@apple.com)
> <af...@apple.com>; Kinney, Michael D <michael.d.kin...@intel.com>
> Cc: edk2-devel@lists.01.org
> Subject: RE: [edk2] [RFC V2] EDK2 Platform Proposal
> 
> Leif and Andrew,
> 
> I have added the content of this proposal to a new Readme.md file in
> the edk2-platforms/about branch and removed the old README file.
> 
>   https://github.com/tianocore/edk2-platforms/tree/about
> 
> I have also added a template at the bottom of the process description
> for a Readme.md that describes multiple platforms with links to a
> Readme.md in each platform specific subdirectory.
> 
> I have also addressed the all the feedback from Leif except for
> adding platforms to edk2-platforms/master.  I think platforms
> should start in an edk2-platforms/devel-* branch and when they
> become stable move to an edk2-platforms/stable-* branch.  Stable
> branches may support multiple platform.
> 
> Using this model, there would not be an edk2-platforms/master
> branch.
> 
> Mike
> 
> 
> > -----Original Message-----
> > From: Leif Lindholm [mailto:leif.lindh...@linaro.org]
> > Sent: Wednesday, September 28, 2016 3:23 PM
> > To: Kinney, Michael D <michael.d.kin...@intel.com>
> > Cc: edk2-devel@lists.01.org
> > Subject: Re: [edk2] [RFC V2] EDK2 Platform Proposal
> >
> > Hi Mike,
> >
> > On Thu, Sep 22, 2016 at 08:54:50PM +0000, Kinney, Michael D wrote:
> > > Hello,
> > >
> > >
> > >
> > > Here is the V2 version of the proposal for the edk2-platforms repo.
> >
> > I'm happy with the proposal in this state, but have a few suggested
> > updates (mostly to clarify that, long term, we expect most platforms
> > to exist in master) and a small suggested addition.
> >
> > > Changes from V1:
> > >
> > > ================
> > >
> > > * edk2-platform is not a fork of edk2.
> > >
> > > * edk2-platforms branches contain CPU, Chipset, SoC, and platform specific
> > >
> > >   packages
> > >
> > > * edk2-plaforms/master contains all open platforms that are synced with
> > >
> > >   edk2/master.
> > >
> > > * Each edk2-platforms branch may support many platforms (not just one)
> > >
> > > * Use PACKAGES_PATH to do builds using packages from multiple repositories
> > >
> > > * Update edk2-platforms branch naming to clearly identify platforms that
> > >
> > >   are considered stable and platforms that are under active development.
> > >
> > > * edk2 developers may be required to verify platforms in edk2-platforms
> > >
> > >   builds as part of test criteria.  Especially platforms that are intended
> > >
> > >   to be used with edk2/master in edk2-platforms/stable-* branches.
> > >
> > >
> > >
> > > =================
> > >
> > >
> > >
> > > Similar to edk2-staging, we also have a need to manage platforms
> > >
> > > that have been ported to edk2.  Jordan has created a repository
> > >
> > > called edk2-platforms and has created a branch for the
> > >
> > > minnowboard-max that uses a validated release of the UDK 2015 for
> > >
> > > the dependent packages:
> > >
> > >
> > >
> > > https://github.com/tianocore/edk2-platforms
> > >
> > >
> > >
> > > https://github.com/tianocore/edk2-platforms/tree/minnowboard-max-udk2015
> > >
> > >
> > >
> > > Instead of creating a branch per feature in edk2-staging, the
> > >
> > > proposal is to create a branch per platform or set of platforms
> > >
> > > in edk2-platforms.  The maintainer(s) that create and support a
> > >
> > > platform branch can decide if the platform uses edk2/master for
> > >
> > > dependent packages, or uses a stable release of the edk2 for dependent
> > >
> > > packages.
> > >
> > >
> > >
> > > This proposal provides an area for platform development so we can
> > >
> > > minimize the number of platforms that are included in edk2/master.
> > >
> > > It is important to keep some platforms in edk2/master so we can use
> > >
> > > those platforms to validate features in non-platform packages in
> > >
> > > edk2/master.  If a new platform does not add feature coverage to
> > >
> > > edk2/master, then an edk2-platforms branch would be recommended.
> >
> > Suggest: ", then edk2-platforms would be recommended.".
> >
> > >
> > >
> > > Please review the proposal below for edk2-platforms.
> > >
> > >
> > >
> > > If this proposal is accepted, then a review of the platforms in
> > >
> > > edk2/master can be done to see if any of them should be moved to
> > >
> > > branches in edk2-platforms.
> >
> > Suggest: "should be moved to edk2-platforms.".
> > >
> > >
> > >
> > > <proposal>
> > >
> > >
> > >
> > > Problem statement
> > >
> > > =================
> > >
> > > Need place on tianocore.org where platforms can be maintained by the
> > >
> > > EDK II community.  This serves several purposes:
> > >
> > >
> > >
> > > * Encourage more platforms sources to be shared earlier in the
> > >
> > >   development process
> > >
> > > * Allow platform sources to be shared that may not yet meet all edk2
> > >
> > >   required quality criteria
> > >
> > > * Allow platform source to be shared so the EDK II community may
> > >
> > >   choose to help finish and validate
> > >
> > > * Allow more platforms to be used as part of the edk2 validation and
> > >
> > >   release cycle.
> > >
> > > * Not intended to be used for bug fixes.
> >
> > Does this final point still apply, now we're going to be using
> > PACKAGES_PATH rather than keep rebasing on top of edk2/master?
> >
> > >
> > >
> > >
> > > Proposal
> > >
> > > ========
> > >
> > > 1) Create a new repo called edk2-platforms
> > >
> > >     a) The default branch edk2-platforms/master contains all open
> > >
> > >        platforms that are actively validated against the packages
> > >
> > >        in edk2/master.
> > >
> > >     b) The intent is for packages in edk2-platforms to be CPU, Chipset,
> > >
> > >        SoC, or platform specific.  Drivers that are CPU arch and platform
> > >
> > >        agnostic should be put into the edk2 repo.
> > >
> > >
> > >
> > > 2) edk2-platforms discussions use the edk2-devel mailing list
> > >
> > >    for design/patch/test using the following style for discussion
> > >
> > >    of a platform branch in edk2-platforms repo.
> > >
> > >
> > >
> > >      [platforms/branch]: Subject
> > >
> > >
> > >
> > > 3) All commits to edk2-platforms must follow same rules use for
> > >
> > >    commits to edk2 (e.g. Tiano Contributor's Agreement)
> > >
> > >
> > >
> > > 4) Process to add a new branch to edk2-platforms
> > >
> > >
> > >
> > >      a) Maintainer sends patch email to edk2-devel mailing list
> > >
> > >         announcing the creation of a new branch in edk2-platforms
> > >
> > >         with Readme.MD.  Readme.MD must be in root of branch with
> > >
> > >         summary, owners, status, build instructions, target update
> > >
> > >         instructions, OS compatibility, known issues/limitations,
> > >
> > >         links to related materials, and anything else a developer
> > >
> > >         needs to use platform(s) in that branch.
> > >
> > >
> > >
> > >     b) Readme.MD must provide the PACKAGES_PATH setting required to
> > >
> > >         build along with the branch names of other repos that platform
> > >
> > >         requires.  This allows a platform developer(s) to use packages
> > >
> > >         from edk2/master or to use packages from a validates UDK release
> >
> > 'validates' -> 'validated'
> >
> > >
> > >         (e.g. edk2/UDK2015).
> > >
> > >
> > >
> > >      c) Maintainer creates branch with Readme.MD in edk2-platforms
> > >
> > >
> > >
> > >      d) An edk2-platforms branch for platforms under developer use the
> >
> > 'under development'?
> >
> > >         following branch naming convention:
> > >
> > >           edk2-platforms/devel-*
> > >
> > >
> > >
> > >      e) An edk2-platforms branch for stable platforms use the following
> > >
> > >         branch naming convention:
> > >
> > >
> > >
> > >           edk2-platforms/stable-*
> > >
> > >
> >
> > Do we need a:
> > ---
> > X) Process to add platform to master?
> >    a) Maintainer ensures any code conflicts are resolved and merged to
> >       edk2-platforms/master.
> >
> >    b) Maintainer sends email request to edk2-devel mailing list
> >       announcing intent to integrate a devel-* branch into master.
> >
> >    c) Platform is reviewed for maturity, and merged to master when
> >       ready.
> >
> > How would we do about Readme.MD on master?
> > Should it be something added to a common Readme.MD for all platforms
> > (sounds like it would expload), or should we simply make it move to
> > the platform-specific directory?
> > ---
> >
> > > 5) Process to update sources in edk2-platforms branch
> > >
> > >
> > >
> > >      a) Commit message subject format:
> > >
> > >
> > >
> > >           [platforms/branch PATCH]: Package/Module: Subject
> >
> > Apologies for the late bikeshedding, but could we do this:
> > [PATCH][platforms/branch]
> > instead?
> > To reduce command line tedium with git format-patch.
> >
> > >
> > >
> > >      b) Directly commit changes to branch or if community review is 
> > > desired,
> > >
> > >         use edk2-devel review process.
> > >
> > >
> > >
> > > 7) Process to remove an edk2-platforms branch
> > >
> > >
> > >
> > >      a) Stewards may periodically review of branches in edk2-platforms
> > >
> > >         (once a quarter?)
> > >
> > >
> > >
> > >      b) If no activity on a branch for extended period of time and the 
> > > branch
> > >
> > >         is not being maintained and is no longer functional then stewards
> > >
> > >         send email to edk2-devel to request deletion of edk2-platforms 
> > > branch.
> > >
> > >
> > >
> > >      c) If no objections from EDK II community, then branch is deleted and
> > >
> > >         archived at
> > >
> > >
> > >
> > >           https://github.com/tianocore/edk2-archive.
> > >
> > >
> > >
> > > 8) How to evaluate a platform in edk2-platforms
> > >
> > >
> > >
> > >      a) Clone edk2-platforms/[branch name]
> > >
> > >
> > >
> > >      b) Following instructions in Readme.MD to build firmware and
> > >
> > >         update target platform
> >
> > Question again about Readme.MD for master branch.
> >
> > Regards,
> >
> > Leif
> >
> > >
> > >
> > > </proposal>
> > >
> > >
> > >
> > > Best regards,
> > >
> > >
> > >
> > > Mike
> > >
> > >
> > >
> > > _______________________________________________
> > > edk2-devel mailing list
> > > edk2-devel@lists.01.org
> > > https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to