juhp / fbrnch

Tool to update fedora packages branches
https://hackage.haskell.org/package/fbrnch
GNU General Public License v2.0
23 stars 3 forks source link

fbrnch build -B should build in parallel #6

Closed QuLogic closed 3 years ago

QuLogic commented 4 years ago

fbrnch build -B -m pushes and builds master, then merges f32, pushes and builds it, then again for f31. If instead it did the merges and pushes first, the builds could be done in parallel, which is generally faster.

juhp commented 4 years ago

My general plan was to add parallel branch building to parallel - I feel that is more natural. But I may add a --no-wait option to build for branches: would that help too?

juhp commented 4 years ago

But do you want this for building multiple packages too? I means let's say you want to build packages A and B for master and f32, where B may or may not depend on A.

Then for example if B doesn't depend on A, do you want all 4 builds to happen at the same time?

For my own builds (particularly Haskell) I tend to like a cautious approach where I would build first for master, then if that succeeds f32, etc. In theory on could build first by branches or first by packages, or all together as in this example. Maybe maximizing possible parallelism is what is being requested with fbrnch parallel -b master -b f32 A B.

QuLogic commented 4 years ago

90% of the time I'd be just building a single package, but for multiple branches. My aim is that things are updated often enough that multi-package builds are not required. Of course, that doesn't always happen in practice...

When multi-package builds do happen though, it's not always the case that I want to build everything on every branch, because some things might have breaking changes. So this is not as high a priority for me.

juhp commented 4 years ago

Okay sure I will try to handle the single package case first then.

juhp commented 4 years ago

I pushed fbrnch-0.4 to copr. With it you should be able to do

$ cd mypkg
$ fbrnch parallel -B

for example, to build all branches in parallel.

Note you may well have to do rm ~/.fedora/product-versions.json once because I did an incompatible change to the format.

QuLogic commented 3 years ago

I've been using this with fbrnch parallel for a while and it seems to be working well.