Hi,
I have another question about our approach to moving to stdci v2 - after
some talk with Martin, he suggested to make a switch from v1 to v2 just
by adding 'stdci.yaml' in master and our stable branches and turning off
old CI. Then, we would have the same old build process just with v2.
That makes sense to me - right now I'm working with refining
'stdci.yaml' for master (cleaning things up, splitting into substages,
etc.), but the problem is that for each patch I post *two* pipelines are
being launched - the old CI and the new one. IMHO this is abusing the
infrastructure.
By enabling v2 first and only then focusing on doing refinements we
could avoid that.
But the real question is - do we want the new CI to be optimized
(substages etc.) for stable branches? I don't feel really comfortable
with messing with stable's build process...
Marcin
On 11/26/18 2:06 PM, Nir Soffer wrote:
On Mon, Nov 26, 2018 at 3:00 PM Marcin Sobczyk
<msobczyk(a)redhat.com
<mailto:msobczyk@redhat.com>> wrote:
Hi,
I'm currently working on paralleling our stdci v2.
I've already extracted 'linters' stage, more patches (and more
substages) are on the way.
This part i.e. :
if git diff-tree --no-commit-id --name-only -r HEAD | egrep --quiet
'vdsm.spec.in <
http://vdsm.spec.in>|Makefile.am|automation' ; then
./automation/build-artifacts.sh"
...
seems to be an excellent candidate for extraction to a separate
substage.
The question is - how should we proceed with tests? I can create
substage for each of:
tox -e "tests,{storage,lib,network,virt}"
But the original 'check-patch' combined the coverage reports into
one -
we would lose that.
My long term goal is to get rid of all the ugly bash code in the
makefile, and
run everything via tox, but as first step I think we can split the work by
running:
make tests
In the tests substage, instead of "make check" today.
Will do so.
Does it change anything about coverage?
We'll get separate coverage reports for py27 x el7 and {py27, py36} x fc28.
Theoretically we can split also to storage/network/virt/infra jobs but
I think
this will consume too many resources and harm other projects sharing
the slaves.
There is a possibility that we could work on something that gathers
coverage data from multiple sources (tests, OST) as a completely
separate jenkins job or smth, but that will be a bigger effort.
What do you think about it?
Marcin