dash/ci/test
MarcoFalke 8d340ed4e9 Merge #17900: ci: Combine 32-bit build with CentOS 7 build
ef63f5fc1136ad2a2cd080d44142a2ee3945c238 ci: Combine 32-bit build with CentOS 7 build (Sebastian Falbesoner)

Pull request description:

  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=`)

  6196e93001/ci/test/05_before_script.sh (L28)

  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.

Top commit has no ACKs.

Tree-SHA512: af508241cec3a10a66c37673d56691717b78375340e910fcdd3fb3870741eba623a436e1e85b26b54f013375611896f5411c5a7fec2437d367d27172230129fe
2023-05-24 12:43:57 -05:00
..
00_setup_env_arm.sh ci: reconcile differences between ci setups 2022-07-01 09:04:01 +05:30
00_setup_env_i686_centos.sh Merge #17900: ci: Combine 32-bit build with CentOS 7 build 2023-05-24 12:43:57 -05:00
00_setup_env_i686_ubsan.sh ci: reconcile differences between ci setups 2022-07-01 09:04:01 +05:30
00_setup_env_mac_host.sh Merge #15584: build: disable BIP70 support by default 2023-04-25 23:41:20 -05:00
00_setup_env_mac.sh partial Merge bitcoin/bitcoin#19817: build: macOS toolchain bump 2023-03-26 16:50:26 -05:00
00_setup_env_native_cxx20.sh Merge #15584: build: disable BIP70 support by default 2023-04-25 23:41:20 -05:00
00_setup_env_native_fuzz_with_valgrind.sh Merge #18901: fuzz: use std::optional for sep_pos_opt variable 2023-01-23 11:21:05 -06:00
00_setup_env_native_fuzz.sh Merge #18901: fuzz: use std::optional for sep_pos_opt variable 2023-01-23 11:21:05 -06:00
00_setup_env_native_nowallet.sh ci: reconcile differences between ci setups 2022-07-01 09:04:01 +05:30
00_setup_env_native_qt5.sh ci: align TEST_RUNNER_EXTRA with INTEGRATION_TESTS_ARGS 2022-07-01 09:04:01 +05:30
00_setup_env_native_sqlite.sh ci: add sqlite-only linux64 test build 2023-02-17 14:21:19 -06:00
00_setup_env_native_tsan.sh merge bitcoin#18705: Remove xenial tsan workaround 2023-05-11 09:18:48 -05:00
00_setup_env_s390x.sh Merge #17661: ci: use depends for s390x 2023-04-25 23:14:25 +03:00
00_setup_env_win64.sh ci: reconcile differences between ci setups 2022-07-01 09:04:01 +05:30
00_setup_env.sh ci: harmonize parent images, use focal consistently 2023-05-11 09:18:48 -05:00
03_before_install.sh merge bitcoin#16582: Rework ci (Use travis only as fallback env) 2022-02-12 19:24:32 +05:30
04_install.sh Merge #17891: scripted-diff: Replace CCriticalSection with RecursiveMutex 2023-05-24 12:43:57 -05:00
05_before_script.sh Merge #17900: ci: Combine 32-bit build with CentOS 7 build 2023-05-24 12:43:57 -05:00