[Openembedded-architecture] [yocto] Using GitLab for OE/Yocto layers

Paul Barker paul at betafive.co.uk
Fri Nov 22 21:29:15 UTC 2019


Following up on the email below, I've created a "community" subgroup to the OpenEmbedded group on GitLab: https://gitlab.com/openembedded/community. This should help to avoid any confusion with the repositories at the top level of https://gitlab.com/openembedded which mirror those at git.openembedded.org.

I'm going to use this for one or two layers I'm currently developing. If anyone else would like to setup a new layer here or transfer/mirror a repository from elsewhere then let me know and I'll get you set up.

On Wed, 6 Nov 2019, at 16:01, Paul Barker wrote:
> Hey folks,
> 
> We had some initial discussion at OEDEM about the patch submission 
> process and how repositories are hosted (see 
> https://docs.google.com/document/d/1Qm1mJ6xLozWW9NgBnokue7TmhwgFP8b2HR8TUlaQwNs/edit#heading=h.o4qtddy8bh9i).
> 
> Patch submission via mailing list still has some key features (such as 
> ability to compose a patch response offline) and I don't expect that 
> the core OE/Yocto repositories will be changing their workflow in the 
> short term. However, lots of tools and non-core layers already use a 
> pull request model for patch submission, typically via GitHub or GitLab.
> 
> I'd like to propose that we set up a common place for OE/Yocto 
> repositories which want to use this pull request model and start to 
> collaborate on some of the tooling. As discussed in OEDEM, GitLab has a 
> few major advantages over GitHub, BitBucket, etc here as they've got a 
> track record of working well with open source projects and we can run 
> the software on our own infrastructure if desired. We can use something 
> like https://gitlab.com/openembedded at first to trial things and then 
> maybe move to https://gitlab.openembedded.org (or 
> gitlab.yoctoproject.org) if things look good.
> 
> I see the following advantages to this approach:
> 
> * Increased bus factor for repository administration - several layers 
> currently have only one admin or live in someone's personal GitHub 
> account, we risk losing access to these if the person in question 
> disappears.
> 
> * Integrated issue tracking - we can standardise on a few issue labels 
> and use milestones in GitLab to correspond to Yocto release branches. 
> As the repositories would be in the same group we would be able to make 
> use of group-level issue lists and boards to show issues across several 
> layers.
> 
> * Integrated merge request tracking - Similar to issues, we would be 
> able to see a combined group-level list of open merge requests. This is 
> a good view to use to help out other layer maintainers as you can 
> easily see new merge requests across all repositories and pick a few to 
> review.
> 
> * Separation of patches to different repositories/branches - Where one 
> mailing list takes patches for many repositories it's often confusing 
> which repository or branch is the target for a given patch.
> 
> * Easier contribution from behind corporate firewalls or buggy email 
> servers - contribution is via ssh/https.
> 
> * Subgroups - GitLab supports more than one layer of grouping so we can 
> organise repositories even within the top level "openembedded" group.
> 
> * Ability to enable/disable merge requests per-repository - With GitHub 
> you can't disable pull requests. If your repository takes patches by 
> another method you have to manually watch out for pull requests and 
> comment on each one to tell the contributor how to submit patches. With 
> GitLab this isn't necessary as you can just turn off merge requests for 
> that repository.
> 
> * Ability to standardise on automated testing - we can integrate 
> patchtest and yocto-check-layer with GitLab CI and run these scripts on 
> each merge request. This requires a bit of work in both test scripts to 
> allow configuration as not all tests will be appropriate for all 
> layers. However it's much easier than integrating these scripts with 
> several incompatible repository hosts and CI systems.
> 
> * Ability to standardise on security - If we want to we can enforce 
> two-factor authentication (2FA) for logins, make use of the merge 
> request approvals feature in GitLab, etc. We don't need to do that 
> initially but it may be useful in the future.
> 
> At the risk of bikeshedding I'd like to get some feedback on these 
> ideas at this stage. Have I missed any advantages/disadvantages? Is 
> anyone interested in helping to guinea pig this with a couple of 
> layers/repositories to see how it works in practice?
> 
> -- 
> Paul Barker
> -- 
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>

-- 
Paul Barker
Managing Director & Principal Engineer
Beta Five Ltd


More information about the Openembedded-architecture mailing list