Website build before merging the base branch often breaks ISO builds on Jenkins
Originally created by @intrigeri on #12611 (Redmine)
Here’s what happens: the website is built from the topic branch
(vagrant/provision/assets/build-tails
), which updates PO files; then
merging of the base branch (auto/build
) fails as the PO files update
has been done and pushed there already, but nobody merged the base
branch into all corresponding topic branches yet. Every time I see this
happen on Jenkins, I merge the base branch into the topic branch and
push it. I’ve had to manually repair such breakage very often recently.
That’s a PITA, and we really should not rely on me baby-sitting our
Jenkins builds this much, for our dev & QA process (e.g. I just did that
for the #5630 (closed) branch to ensure anonym has enough data when he’ll
evaluate it).
I think this scenario is quite common: pretty often we don’t bother updating website PO files after merging doc changes into testing/devel, to avoid conflicts when merging master into them.
I don’t know if this is a regression brought by the updated Vagrant build system, or if I’ve just seen it often recently due to the activity peak caused by the doc update for 3.0. Whatever :)
The corresponding code has this explanation:
# Since $TAILS_GIT_DIR is guaranteed persistent until the VM is shutdown
# let's build the website while there so it is cached throughout
# the session. This will make rebuilds after failures much faster.
./build-website
We don’t benefit from it on Jenkins currently AFAIK, and IMO it would be
a bad idea to use this cached build there anyway. So, how about we make
this step run only if TAILS_MERGE_BASE_BRANCH
is not set? This would
fix the problem on Jenkins, while keeping the cache feature for local
builds by developers who most likely don’t set mergebasebranch
(there’s no guarantee that their base branch is up-to-date so the
resulting behavior seems too unpredictable to use in practice — and if
anyone used that, I bet they would have reported this bug earlier ;)
Feature Branch: bugfix/12611-mergebasebranch-dont-pre-build-wiki