Re: [BuildStream] Move Docker source plugin out of bst-external
- From: Agustín Benito Bethencourt <agustin benito codethink co uk>
- To: buildstream-list gnome org
- Subject: Re: [BuildStream] Move Docker source plugin out of bst-external
- Date: Fri, 30 Nov 2018 09:42:54 +0000
Hi Jonathan,
I told you through IRC some days ago I was going to answer this mail and it has taken me too long. Apologies.
On Monday, 19 November 2018 13:46:27 GMT Jonathan Maw via BuildStream-list wrote:
On 2018-11-13 15:52, Agustín Benito Bethencourt via BuildStream-list
wrote:
Hi,
[snip]
<snip>
Hi Agustin,
Most of this looks good to me, but I have a couple of concerns.
1. Tying the release cadence to buildstream
-------------------------------------------
I think it makes sense to have some plugins tied to buildstream's
release cadence (e.g. the ones that are currently inside buildstream),
but I think this would be a larger burden than is required for plugins
from bst-external. At the moment, we don't guarantee (though are pretty
good with) stability for plugins from bst-external.
I agree with you that the release cycle of the plugins will be different from BuildStream core. What I think
will be good is to tight the deprecation process to the BuildStream core release process. This simplifies
things for users, although maybe not for developers. If there is a strategy we can define that benefits both,
then we should consider it.
2. One project per plugin
-------------------------
I think creating a project for every plugin is pretty heavyweight, both
in administrative overhead (to add a new plugin, you need to create a
new project, assign permissions for maintainers, configure CI, etc.) and
code-wise (adding the config files for testing, documentation,
installation, etc.).
These are all things that might end up out of sync with each other.
Also, it increases the amount of overhead it requires to import each
plugin, e.g.
With multiple plugins per project, configuring a project to import them:
```
plugins:
- origin: pip
package-name: bst-plugins-containers
sources:
docker: 0
oci: 0
```
With one plugin per project, configuring a project to import them:
```
plugins:
- origin: pip
package-name: bst-plugins-docker
sources:
docker: 0
- origin: pip
package-name: bst-plugins-oci
sources:
oci: 0
```
My main concern is that it would be a barrier to contribution -
bst-external currently gets a lot of its plugins by people opening up a
Merge Request and agreeing to create MRs if it stops working. I think
requiring a project for every plugin would raise the barrier quite
significantly.
Although I do not share your concern when it comes to increasing the barrier to contributors as you do, since
we can apply measures and support plugin authors, you definitely have a point I overlooked. It might be not
just possible but convenient for technical reasons to have several plugins in a single repo (if I read you
correctly).
Re-reading the process above, I think that the following step should be modified
- ** Move the deprecated plugin repository to the buildstream-deprecated-plugin subgroup.
+ ** Move the deprecated plugin to the buildstream-deprecated-plugin subgroup.
The above leaves open if the plugin is in a single repo or in a share repo, I think. Do you see any other
step that would benefit from clarification?
Best Regards
--
Agustín Benito Bethencourt
Principal Consultant
Codethink Ltd
We respect your privacy. See https://www.codethink.co.uk/privacy.html
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]