On 11.04.2013 18:43, Andrew Rist wrote:
On 4/11/2013 12:06 AM, Andre Fischer wrote:
On 10.04.2013 18:57, Andrew Rist wrote:
On 4/10/2013 1:33 AM, Herbert Dürr wrote:
On 2013/04/10 10:09 AM, Andre Fischer wrote:
tonight we had a build breaker in the windows build: a slot id
that is
used in SW had been removed in SVX. The reference in SW had also
been
removed, so this change should not be a problem.
But the windows build is still not a full build. Therefore the old SW
slot header files where used and the build broke.
There is an easy fix for situations like this: a clean build.
Incremental build are known to have problems thats why I suggested
[1] to default to a clean build. That didn't receive consensus
though and indeed there are good reasons against it:
The incremental build both tests the dependency system and it
reduces the load when building significantly.
On the already strained buildbot this means a factor of almost five
improvement as clean build takes about 4.5h whereas an incremental
build takes only 0.5-1.0h.
Andrew even had to reschedule the snapshot build away from the
weekly clean build because the buildbot load is a real problem.
[1] http://markmail.org/message/wmlhc5f5zaiiyu2o
[2] http://markmail.org/message/7q64ijlwygdqmwf3
Just to add here, that there are also issues with a clean build. The
clean build fails with some frequency on hung jobs and requires
manual attention.
That is one more reason to have more frequent clean builds so that we
can find the cause of these problems. They are not restricted to the
build bot. Others are affected, too. I would have tried to fix
this, but I am not able to reproduce this problem on my local machine.
Sorry, I think I was unclear there. Due to the complexity of our
build process and the interaction with the buildbot, there is a
reasonably high incidence of false positive failures on clean builds.
The Windows build ends up with hung processes and throws an
exception. If we were to switch to clean builds we could expect
several false positives a week, which would require manual
intervention. We have tests of clean builds daily on the linux boxes,
so in terms of coverage of the entire AOO buildbot setup, we have full
builds covered. I see the fact that some of our builds are
incremental and some are clean, as a feature, not as a shortcoming.
OK, I understand. I see two problems with this approach:
1. We will not find the build problems when we continue to hide them
with workarounds. Fixing them would benefit others as well, not just
the build bots.
2. The task of the build bots is not only to verify that our source code
is buildable but also to provide download sets for developers and QA.
In reality, breaking changes that require a clean build are pretty
rare. For me, the clean build on the weekend and incremental during
the week seems to be a good compromise.
I am not sure about that. Besides, it is sometimes a bit difficult
to judge 'how incompatible' a change really is. Change a slot
definition in SVX and its use in SW. Do we need anything more? With
a clean build we are on the safe side.
It's a trade off. How many false positives to you get, and how much
manual intervention does the system require. What I'm trying to
communicate is that my experience with 'this buildbot setup' suggests
that the current approach requires less of my time to keep healthy,
and produces less false positives.
Ah, again I understand. It is a matter of pragmatism. I can accept
that. I and I think all others on this list are thankful for your work
in this area. And maybe we can help to improve the current state. Is
there any documentation, a Wiki page maybe, to get an overview?
Maybe we can rededicate one of the daily builds of one of the branches
to debugging our windows build problems? Add a step to the build setup
to apply patches that provide us with more debug info?
Besides, the clean-build-on-weekend policy would require us to hold
all incompatible changes until Friday, or live with a broken build
during the week.
I really thing that we need a better solution. A switch for marking
a change as incompatible and that would be interpreted by the build
bot would be the absolute minimum. But even that would call for
trouble. At Sun we have been there and it did not really work so well.
This doesn't require waiting until the weekend, it requires a manual
clean run which can be kicked off easily. (I'm happy to show you, or
hit up Herbert - he has access, too)
It would be good to have this knowledge written down somewhere for easy
reference. Especially if it really remains our only way to get clean
builds.
I don't disagree with your general argument, I just see different
trade-offs, and I consider this type failure to have a fairly trivial
recovery (kicking off a manual clean build).
Again, I don't think that this is a trivial solution.
First I have to detect that my changes are incompatible. That is
sometimes easy but sometimes it is not. If it is not easy then there is
even the possibility that the incremental build will complete
successful. But the result might show some very subtle errors that we
may or may not find before a release.
I would rather not spend any time on the analysis.
Then we have to coordinate the triggering of incompatible builds. We
have developers working around the world at every time of the day. It
might be better to have an incompatible build to start a a fixed time
then have developer A trigger a clean build and developer B, who is one
hour late, has to do that again right after that. This might flood the
build servers with AOO builds.
-Andre
Andrew
This may become important in the coming weeks when we have to fix
some
bugs in the sidebar (which is about to be merged back into
trunk). The
sidebar is implemented in several modules. Without a clean windows
build we will run into build breakers very regularly.
It is possible to force a clean build manually.
I'm cleaning it up now and kicking off a build.
Thanks for taking care of this one.
-Andre
Andrew
Herbert
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
For additional commands, e-mail: dev-h...@openoffice.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
For additional commands, e-mail: dev-h...@openoffice.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
For additional commands, e-mail: dev-h...@openoffice.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
For additional commands, e-mail: dev-h...@openoffice.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
For additional commands, e-mail: dev-h...@openoffice.apache.org