On Thu, 5 Nov 2015 10:32:23 +0100
Arvin Schnell
On Thu, Nov 05, 2015 at 12:06:45AM +0100, Ladislav Slezak wrote:
Dne 3.11.2015 v 16:32 Arvin Schnell napsal(a):
That is reason why we introduce idea of simple git tarball and using osc to do all generation, building and other steps.
Just create a VM in the cloud, start the correct image, do the packaging and delete the VM again. Isn't that the whole idea of the cloud?
Yes, you could use cloud, but it's too complicated. Running a special VM just to create a simple tarball from Git checkout sounds crazy to me...
You can also run unit test, code coverage and some integration tests in the VM. Apart from that the VM is not so special, just the standard SDK is needed.
unit tests should be run in test phase of build process, so osc build should do it for you with all required libraries. Code coverage is a bit tricky, but you usually do not do it on jenkins just for code submission. For integration testing it is needed to have proper env, but it require to really maintain such VMs, which is a bit time demanding. Just consider you have security fix that goes to SLE11 SP1, SP2, SP3, SP4 and SLE12 GA, SP1....so in your way you have to start 6 VMs which have to be updated. with git tarball and osc approach, you do testing just once or twice ( 11 and 12) and rest is covered by unit tests in test phase.
Remember what you need to do if you want to build an YaST package for SLE11 - you need installed yast2-devtools in the appropriate version + all tools used (like autoconf, automake,...) + the needed libraries. You need different set of packages for each SP release, that's too complicated even with the help of VMs.
Don't think about all the different packages but about a different distribution. Then it is not complicated at all. I always do development for old distributions in VMs. You need them for testing anyway.
And you need also to maintain it and whats more, if other need to do some development, then it is a bit tricky to set it up correctly. Just stop thinking for a moment about snapper and libstorage. Imagine that we need urgent fix for yast2-ruby-bindings and you as C++ expert look at it and fix it. Is easier for you to do git clone hacking/writing unit test rake osc:build Or use proper VM, set properly cmake, install all required packages in proper versions, create a tarball ( in cmake very tricky as there is at least three different commands that can do it and result is different ), generate spec file and then copy it to osc checkout directory? I think majority of team prefer first way and are happy with way how is easy to submit now yast/libyui packages. Josef
ciao Arvin
-- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org