Combines the CentOS build with the 32-bit (i686) build to avoid Travis bottlenecks, as suggested in #17757 by MarcoFalke. This keeps most of the properties of the 32-bit build (dash as config shell, building QT5 GUI) and just builds it with depends inside the CentOS docker container.
Making the depends in 05_before_script.sh
with unset config shell (CONFIG_SHELL=
)
caused problems for building the library libevent (resulting in a Makefile with no shell set (SHELL=
)), that’s why I set it explicitely to /bin/bash
if we have a CentOS Docker container.
A Travis output of this 32-bit CentOS build can be seen here: https://travis-ci.org/theStack/bitcoin/jobs/634472394 (has been restarted once due to too long build time and appearance of the CACHE_ERR_MSG
).
For anyone wanting to verify the outputs, I found these instructions useful to reproduce a Travis build locally: https://github.com/erdc/proteus/wiki/Replicating-the-TravisCI-Environment-on-your-Local-Machine (steps 1-3). In this case it’s a bit tricky since you run Docker inside Docker – within the Travis Docker container, the CentOS Docker container is created. To make this possible, the Docker socket has to be exposed to the Travis container via bind-mounting (docker run -v /var/run/docker.sock:/var/run/docker.sock ...
), as suggested in https://stackoverflow.com/a/33003273.