2 patch dependency
Patrick Williams
patrick at stwcx.xyz
Sat Nov 23 07:52:12 AEDT 2019
On Fri, Nov 22, 2019 at 01:41:14PM -0500, Brad Bishop wrote:
>
> > On Nov 22, 2019, at 12:36 PM, Patrick Williams <patrick at stwcx.xyz> wrote:
> >
> > Can you elaborate briefly on the issues you've had with it?
>
> Well for one, the issue that started this thread - coreqs. they are harder than they need to be with the current workflow.
>
> Also the two step CI verification that comes with it is not good - it halves our already limited resources. Although now that I think about it I don’t recall why we felt this was necessary…
I understand the co-req issues. We'll still have them between code
repositories (which was really the underlying issue in this case). But,
eliminating the sub-trees certainly alleviates one introduction of them.
To be clear, I personally have no attachment to the sub-trees or mono-repo
from an openbmc/openbmc perspective. Just trying to offer alternative
ideas before there are changes.
By "already limited resources", I assume you mean compute resources for
CI. It seems with the companies involved in this project, this should
not be an issue... is this something the TSC should discuss?
> Finally it is just awkward and lame to clone openbmc/openbmc, hack on it, and then have mess around with adding additional remotes and doing subtree cherry-picks, etc… to submit a patch.
No disagreement at all here.
> > It seems
> > like many metas with subtree, many metas with repo, or mono-repo all have
> > advantages and disadvantages and are just different ways people have
> > attempted to skin the same animal.
>
> Could we not have all of them at the same time?
>
This is entirely a "without evidence" statement but my intuition would
be trying to do all of them gives you all the disadvantages and few of
the advantages...
Perhaps a higher-level discussion is what purpose do the meta sub-trees
serve and is it worth the project investment in them?
My recollection was that people asked for sub-trees (the old split back out
of openbmc/openbmc method) because they wanted to pick up some subset of
recipes to use in other projects. Why should our project's day-to-day
activity be less efficient to satisfy that? (+1 to mono-repo).
I recognize the subtree maintainers desire was a reason for moving to
that structure, which maybe this MAINTAINERS plugin addresses.
> > This would be one advantage of using repo.
>
> The word advantage implies repo would replace something else. What do you want it to replace?
Good point. A repo manifest could replace the current combined metas
that is openbmc/openbmc and keep today's subtree maintainer model as-is.
Again, I was just trying to present it as an alternative to going back
to the "old model" of openbmc/openbmc being the master.
>
> > You can have different
> > manifest files for the different Yocto branches. That way we can keep
> > pointing to an LTS Yocto but with newer OpenBMC code (for people who
> > might desire that when putting OpenBMC into production).
>
> makes sense.
>
> >
> >
> >> As far as repo goes - in my mind that is something completely separate. If anyone wants to maintain a repo manifest somewhere I don’t have a problem with that. It doesn’t have to have anything to do with the patch submission workflow.
> >
> > I'm not really following how any of the options have a big impact on patch
> > submission workflow.
>
> agreed. In fact…is there anything you need from the community to start maintaining a repo manifest today? I don’t think there is, is there? Maybe a git repo to put it in?
>
There are two scopes to a potential repo-manifest (in the context of
this project specifically):
1) A manifest that combines the meta-subtrees into a single
directory tree.
2) A manifest that combines openbmc/openbmc plus the project's code
repositories into a single directory tree.
If we are going back to a "openbmc/openbmc is the primary source" model
#1 is pointless. Also having an alternative Yocto branch is difficult
without #1.
Yes, #2 can be done today (with a new repository). I think it would
mostly be a developer-help initially but could be rolled into
simplifying CI. (We could also do #1 and #2.)
I'm mostly focused on #1 in this email thread because has impacts to
this subtree elimination proposal. It is probably worth another thread
if we want to discuss #2 in more detail.
> > Most developers just contribute to whatever
> > repository is considered the "master" of where they're making changes.
> > If that is a subtree or a monorepo, does it really have much bearing?
> > (I guess it has impact in the cases where we need to span what are
> > currently subtrees?)
> >
> > Having a repo manifest simplifies two things:
> > 1. Implementation of cross-repo CI (and the topic-based testing I
> > mentioned) because there is a clear assembling of all the git
> > repositories that might be impacted by a topic.
> >
> > 2. A mechanism for developers to "get all the code". I've heard
> > complaints of developers having to manually assemble a collection
> > of git-clones for all the different sub-projects they tend to
> > work on. A maintained manifest of all the openbmc/* repositories
> > would alleviate this.
>
> I think you are driving at a couple things:
>
> 1 - patch submitters should continue to submit patches to meta-*, poky, meta-openembedded, etc.
> 2 - you start maintaining a repo manifest.
> 3 - everyone will abandon the current monorepo composed of subtrees.
>
> Do I have it right?
>
> What I’m asking for instead is:
>
> 1 - patch submitters submit patches to openbmc/openbmc (unless there is an upstream community)
> 2 - patches (immediately) find their way into meta-* via automation
> 3 - you start maintaining a repo manifest
> 4 - I continue to maintain a monorepo composed of subtrees (the ones with upstream communities) & directly submitted patches
>
I think we're on the same page with both of these last two "processes"
you wrote. Hopefully my #1/#2 above clarifies my thinking. Except "you
start" doesn't have to be *me*, but I could certainly pull together a
manifest file pretty quickly. (As in, I don't need to 'maintain' it but
I can put in some effort to get the ball rolling.)
--
Patrick Williams
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20191122/ca0d2537/attachment-0001.sig>
More information about the openbmc
mailing list