dash/ci/test
fanquake 098d0fd430
Merge #18677: Multiprocess build support
e2bab2aa162ae38b2bf8195b577c982402fbee9d multiprocess: add multiprocess travis configuration (Russell Yanofsky)
603fd6a2e708c04ef6c9880f89d0a4cbaa6fc7c5 depends: add MULTIPROCESS depends option (Russell Yanofsky)
5d1377b52bfcd4edf8553aaf332bfeb92fc554cc build: multiprocess autotools changes (Russell Yanofsky)

Pull request description:

  This PR is part of the [process separation project](https://github.com/bitcoin/bitcoin/projects/10).

  ---

  This PR consists of build changes only. It adds an `--enable-multiprocess` autoconf option (off by default and marked experimental), that builds new `bitcoin-node` and `bitcoin-gui` binaries. These currently function the same as existing `bitcoind` and `bitcoin-qt` binaries, but are extended in #10102 with IPC features to execute node, wallet, and gui functions in separate processes.

  In addition to adding the `--enable-multiprocess` config flag, it also adds a depends package and autoconf rules to build with the [libmultiprocess](https://github.com/chaincodelabs/libmultiprocess) library, and it adds new travis configuration to exercise the build code and run functional tests with the new binaries.

  The changes in this PR were originally part of #10102 but were moved into #16367 to be able to develop and review the multiprocess build changes independently of the code changes. #16367 was briefly merged and then reverted in #18588. Only change since #16367 has been dropping the `native_boost.mk` depends package which was pointed out to be no longer necessary in https://github.com/bitcoin/bitcoin/pull/16367#issuecomment-596484337 and https://github.com/bitcoin/bitcoin/pull/18588#pullrequestreview-391765649

ACKs for top commit:
  practicalswift:
    ACK e2bab2aa162ae38b2bf8195b577c982402fbee9d
  Sjors:
    tACK e2bab2aa162ae38b2bf8195b577c982402fbee9d on macOS 10.15.4
  hebasto:
    ACK e2bab2aa162ae38b2bf8195b577c982402fbee9d, tested on Linux Mint 19.3 (x86_64):

Tree-SHA512: b5a76eab5abf63d9d8b6d628cbdff4cc1888eef15cafa0a5d56369e2f9d02595fed623f4b74b2cf2830c42c05a774f0943e700f9c768a82d9d348cad199e135c
2024-01-16 09:34:26 -06:00
..
00_setup_env_arm.sh Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
00_setup_env_mac_host.sh Merge #19427: ci: Run all tests on native mac again 2024-01-06 19:30:15 -06:00
00_setup_env_mac.sh Merge #21437: gitian, ci: Drop unneeded python3-dev package for macOS builds 2023-12-06 12:40:58 -06:00
00_setup_env_native_asan.sh Merge #21064: refactor: use std::shared_mutex & remove Boost Thread 2024-01-16 09:29:52 -06:00
00_setup_env_native_cxx20.sh partial Merge #20182: ci: Build with --enable-werror by default, and document exceptions 2024-01-06 19:30:15 -06:00
00_setup_env_native_fuzz_with_valgrind.sh Merge #21064: refactor: use std::shared_mutex & remove Boost Thread 2024-01-16 09:29:52 -06:00
00_setup_env_native_fuzz.sh Merge #21064: refactor: use std::shared_mutex & remove Boost Thread 2024-01-16 09:29:52 -06:00
00_setup_env_native_multiprocess.sh Merge #18677: Multiprocess build support 2024-01-16 09:34:26 -06:00
00_setup_env_native_nowallet.sh Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
00_setup_env_native_qt5.sh Merge #19014: test: Replace TEST_PREVIOUS_RELEASES env var with test_framework option 2024-01-06 19:30:14 -06:00
00_setup_env_native_sqlite.sh merge bitcoin#22930: remove glibc back compat 2023-08-01 12:07:31 -05:00
00_setup_env_native_tsan.sh partial Merge #20182: ci: Build with --enable-werror by default, and document exceptions 2024-01-06 19:30:15 -06:00
00_setup_env_native_ubsan.sh partial Merge #20182: ci: Build with --enable-werror by default, and document exceptions 2024-01-06 19:30:15 -06:00
00_setup_env_native_valgrind.sh Merge #21064: refactor: use std::shared_mutex & remove Boost Thread 2024-01-16 09:29:52 -06:00
00_setup_env_s390x.sh Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
00_setup_env_win64.sh Merge #18673: scripted-diff: Sort test includes 2023-08-29 22:00:59 -05:00
00_setup_env.sh Merge #18677: Multiprocess build support 2024-01-16 09:34:26 -06:00
03_before_install.sh Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00
04_install.sh partial Merge #18735: ci: Add and document BASE_BUILD_DIR 2024-01-09 08:13:04 -06:00
05_before_script.sh fix: missing changes from Merge #18253: doc: Correct spelling errors in comments 2023-09-19 08:54:12 -05:00
wrap-valgrind.sh Merge #17829: scripted-diff: Bump copyright of files changed in 2019 2023-12-06 11:40:14 -06:00