[opensuse-buildservice] Is there a way to setup Parallel builds for a product?
Hello List, Our product team(s) want to generate product (:GA) builds from 2 (or more!) SCM branches at any given point. I'm not referring to Maintenance updates (:Update) projects, but the :GA project. Here's the workflow and requirement: 1. Development of GA release happens on "trunk" (in SVN and "master" in git terminology) 2. When we are close to a milestone, for example, a Beta drop, we branch trunk so that only Beta showstoppers (or ship stoppers, whichever you prefer) are checked into this new branch. 3. The "trunk" is open for next milestone changes. Requirement is to generate builds from both these branches - trunk and beta. Right now, we have been creating a "home" project [1] to build code from trunk during the "Beta phase". The official :GA project contains source code from the corresponding "Beta" branch. But this is not being accepted as a solution because: * GPG keys for home projects and GA project are different * We do not build product ISO from home project [2] * Package versions diverge between GA and home project I'm writing here to seek any possible solutions that will help solve the above problems. I have been trying to evaluate if Staging projects could help solve this problem, but I'm unable to visualize or understand a typical workflow using Staging projects. Any tips or suggestions on how to move forward would be greatly appreciated. Regards, Srinidhi. [1] We could also create :GA:BetaX (where X is the n'th Beta we are working on) to solve the GPG keys problem but I don't think (or know) how to solve the version divergence. [2] We don't build ISO because Build Service adds the home project into product and package tracking database. I don't know if this is a problem or not, but when "osc sm <package>" lists a home project, it might cause confusion - something I would like to avoid.
Hello Everyone, Any hints or suggestions? Regards, Srinidhi. ________________________________________ From: Srinidhi B <Srinidhi.BS@microfocus.com> Sent: 10 November 2019 20:59 To: opensuse-buildservice@opensuse.org Subject: Is there a way to setup Parallel builds for a product? Hello List, Our product team(s) want to generate product (:GA) builds from 2 (or more!) SCM branches at any given point. I'm not referring to Maintenance updates (:Update) projects, but the :GA project. Here's the workflow and requirement: 1. Development of GA release happens on "trunk" (in SVN and "master" in git terminology) 2. When we are close to a milestone, for example, a Beta drop, we branch trunk so that only Beta showstoppers (or ship stoppers, whichever you prefer) are checked into this new branch. 3. The "trunk" is open for next milestone changes. Requirement is to generate builds from both these branches - trunk and beta. Right now, we have been creating a "home" project [1] to build code from trunk during the "Beta phase". The official :GA project contains source code from the corresponding "Beta" branch. But this is not being accepted as a solution because: * GPG keys for home projects and GA project are different * We do not build product ISO from home project [2] * Package versions diverge between GA and home project I'm writing here to seek any possible solutions that will help solve the above problems. I have been trying to evaluate if Staging projects could help solve this problem, but I'm unable to visualize or understand a typical workflow using Staging projects. Any tips or suggestions on how to move forward would be greatly appreciated. Regards, Srinidhi. [1] We could also create :GA:BetaX (where X is the n'th Beta we are working on) to solve the GPG keys problem but I don't think (or know) how to solve the version divergence. [2] We don't build ISO because Build Service adds the home project into product and package tracking database. I don't know if this is a problem or not, but when "osc sm <package>" lists a home project, it might cause confusion - something I would like to avoid. -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Monday 2019-11-25 15:56, Srinidhi B wrote:
Right now, we have been creating
* a "home" project to build code from trunk during the "Beta phase". * The official :GA project contains source code from the corresponding "Beta" branch.
But this is not being accepted as a solution because [points below]. I'm writing here to seek any possible solutions that will help solve the [below] problems. Any tips or suggestions on how to move forward would be greatly appreciated.
I see no problems. (I don't even see any expectations here, which is the result of the silence on the thread.)
* GPG keys for home projects and GA project are different
This is intentional for obvious security reasons. Don't use a home project if you do not want this.
* We do not build product ISO from home project
Neither do the 40000-or-so users on OBS. So what?
* Package versions diverge between GA and home project
Happens all the time. So what? -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Hello Jan, Everyone, Thank you for making me realize my mistake! On Mon, 2019-11-25 at 16:34 +0100, Jan Engelhardt wrote:
On Monday 2019-11-25 15:56, Srinidhi B wrote:
Right now, we have been creating
* a "home" project to build code from trunk during the "Beta phase". * The official :GA project contains source code from the corresponding "Beta" branch.
But this is not being accepted as a solution because [points below]. I'm writing here to seek any possible solutions that will help solve the [below] problems. Any tips or suggestions on how to move forward would be greatly appreciated.
I see no problems. (I don't even see any expectations here, which is the result of the silence on the thread.)
Fair enough! I should have been more clear! We are building our product(s) in a Private instance of OBS. During the development of ProductA, we need a way to build 2 different versions of the same package. If packages are built independently in different projects, then the package versions are different hence causing difficult with upgrades and also cause confusion. Let me try to explain this with an example: * packageA-1.2.3-10.3.x86_64.rpm is being built in ProductA:GA * _product ISO contains this RPM * packageA-1.2.3-15.1.x86_64.rpm is being built in home:srinidhi:ProductA * packageA has been updated 5 times more than it's corresponding source in ProductA:GA and hence, the versrel is 15.1. When users testing packageA from home:srinidhi:ProductA return back to testing packageA from the ISO built from ProductA:GA, they will find the RPM version to be lower. Yes, RPM changelog will contain latest information, but the RPM downgrade is the first concern. Is there a way to: * sync the version release value of packages between 2 projects? * ensure that package versions in ProductA:GA will always be higher than home:srinidhi:ProductA? (I'm unable to understand the concept of OBS:MakeOriginOlder attribute)
This is intentional for obvious security reasons. Don't use a home project if you do not want this.
Yes, I'm aware of the security reasons and I was just stating a fact.
* We do not build product ISO from home project
Neither do the 40000-or-so users on OBS. So what?
My bad! I should have mentioned that we are building our product in a private instance of OBS.
* Package versions diverge between GA and home project
Happens all the time. So what?
In the larger scheme of binary tracking of packages in product packages, we would like to avoid this. Is there a demo or tutorial available for Staging projects? I want to evaluate if Staging workflow could help us manage multiple copies of same package by moving around submit requests. I hope this time I have made my questions a bit more clear. If not, then please let me know. Regards, Srinidhi.N�����r��y隊Z)z{.���Wlz��qﮞ˛���m�)z{.��+�:�{Zr�az�'z��j)h���Ǜ�)]���Ǿ� ޮ�^�ˬz��
participants (2)
-
Jan Engelhardt
-
Srinidhi B