aboutsummaryrefslogtreecommitdiff
path: root/ci/test/00_setup_env.sh
AgeCommit message (Collapse)Author
2024-01-11ci: move CMake into base packagesfanquake
This is already used in multiple CIs, and will soon become a requirement for most CIs, i.e when we migrate depends packages to use CMake, for example: https://github.com/bitcoin/bitcoin/pull/21778#issuecomment-1885576324. Some of the CIs in 21778 are failing because CMake isn't available, so just break this out and make CMake globally available.
2023-11-29ci: Reduce use of bash -cMarcoFalke
It is confusing to treat commands as a single string. This change is also required to support paths and strings with spaces in them in the future. This requires replacing TEST_RUNNER_ENV with a global export, because it no longer works. See: ```bash $ export ENV="A=1" && $ENV ls bash: A=1: command not found... ``` Or in the CI task: + DIR_UNIT_TEST_DATA=/ci_container_base/ci/scratch/qa-assets/unit_test_data/ + LD_LIBRARY_PATH=/ci_container_base/depends/i686-pc-linux-gnu/lib + BITCOIND=bitcoin-node make -j10 check VERBOSE=1 /ci_container_base/ci/test/03_test_script.sh: line 166: BITCOIND=bitcoin-node: command not found https://github.com/bitcoin/bitcoin/pull/28954/checks?check_run_id=19096858944 https://cirrus-ci.com/task/6718317604372480
2023-09-06ci: enable chattr +i capability inside containersMatthew Zipkin
2023-08-23ci: Limit scope of some env varsMarcoFalke
No need to have a larger scope than needed. Can be reviewed with --color-moved=dimmed-zebra
2023-08-16ci: Avoid error on macOS nativeMarcoFalke
This avoids "mkdir: /ci_container_base: Read-only file system"
2023-08-16ci: Fix macOS-cross SDK rsyncMarcoFalke
This should fix the macOS-cross build on Cirrus CI containers. Locally this was already working, because the SDK was cached in /ci_container_base/ in the image, which is also the folder used for a later CI run. However, on Cirrus CI, when using an image *and* a custom BASE_ROOT_DIR, the SDK will not be found in /ci_base_install/, nor in BASE_ROOT_DIR. Fix this by normalizing *all* folders to /ci_container_base/.
2023-08-09ci: Use hard-coded root path for CI containersMarcoFalke
2023-08-07ci: Use qemu-user through container engineMarcoFalke
2023-08-03lint: drop DIR_IWYU globalfanquake
2023-07-30ci: Use documented `CCACHE_MAXSIZE` instead of `CCACHE_SIZE`Hennadii Stepanov
This change aims to: 1) Remove our own `CCACHE_SIZE` environment variable that violates Ccache's `CCACHE_*` namespace. 2) Introduce the `CCACHE_MAXSIZE` environment variable that is documented since v3.3, which makes its usage consistent with other ones, such as `CCACHE_DIR` and `CCACHE_NOHASHDIR`.
2023-07-24ci: Set PATH inside the CI envMarcoFalke
This is needed for the next commit. This also requires dropping CI_RETRY from the docker build step, which is fine, because CI_RETRY should be called inside the build script, not outside. Also, fix a doc typo.
2023-05-29ci: Remove "default" test envMarcoFalke
It is unclear what the point is of maintaining a "default", the meaning of which is unclear.
2023-05-29ci: Add missing set -e to 01_base_install.shMarcoFalke
Also, set -x for easier debugging. Also, do the same for ci/test/00_setup_env.sh
2023-05-17ci: remove RUN_SECURITY_TESTSfanquake
We no-longer run any security/syymbol checks in the CI, and doubt we will in future (if we do, it'll be via Guix, where this var would be redundant in any case). The CI environment doesn't (exactly) match the release build environment (and is semi-regularly changing), and the binaries produced in the CI don't match how we build release binaries, so there is no point trying to run these checks, especially as we add more involved tests, i.e #26953.
2023-03-24ci: Cache more stuff in the ci images: msan, iwyu, pip, sdksMarcoFalke
2023-03-06Merge bitcoin/bitcoin#27209: ci: Remove unused ↵glozow
EXPECTED_TESTS_DURATION_IN_SECONDS env var 3fffff50f625ed5e3c45139b3ae874f63f121a1e ci: Remove unused EXPECTED_TESTS_DURATION_IN_SECONDS env var (MarcoFalke) Pull request description: Remove long unused travis leftover ACKs for top commit: fanquake: ACK 3fffff50f625ed5e3c45139b3ae874f63f121a1e dergoegge: ACK 3fffff50f625ed5e3c45139b3ae874f63f121a1e Tree-SHA512: 34b85a18c0d34f54bbc6ff5c2454307318e4747145e11f52f08baddefef9e1b80d8f6c85efcad97e575380162fd193f2aa837e99b156ed7e3e95370b635ddf4e
2023-02-08ci: Cache stuff in volumes, not host foldersMarcoFalke
2023-02-02ci: Remove unused EXPECTED_TESTS_DURATION_IN_SECONDS env varMarcoFalke
2023-01-11scripted-diff: ci: Rework docker namingMarcoFalke
DOCKER in names is confusingly used as synonym for "image", "container", and "ci". Fix the confusion by picking the term that fits the context. -BEGIN VERIFY SCRIPT- ren() { sed -i "s:$1:$2:g" $( git grep -l "$1" ) ; } ren DOCKER_PACKAGES CI_BASE_PACKAGES # This better reflects that they are the common base for all CI # containers. ren DOCKER_ID CI_CONTAINER_ID # This is according to the documentation of "--detach , -d: Run # container in background and print container ID". ren DOCKER_NAME_TAG CI_IMAGE_NAME_TAG # This avoids confusing with CONTAINER_NAME and clarifies that it is an # image. ren DOCKER_ADMIN CI_CONTAINER_CAP # This clarifies that it is a capability added to the container. ren DOCKER_CI_CMD_PREFIX CI_EXEC_CMD_PREFIX # This brings it in line with the CI_EXEC naming. -END VERIFY SCRIPT-
2022-12-24scripted-diff: Bump copyright headersHennadii Stepanov
-BEGIN VERIFY SCRIPT- ./contrib/devtools/copyright_header.py update ./ -END VERIFY SCRIPT- Commits of previous years: - 2021: f47dda2c58b5d8d623e0e7ff4e74bc352dfa83d7 - 2020: fa0074e2d82928016a43ca408717154a1c70a4db - 2019: aaaaad6ac95b402fe18d019d67897ced6b316ee0
2022-04-04ci: Add clang-tidy taskMarcoFalke
2021-12-30scripted-diff: Bump copyright headersHennadii Stepanov
-BEGIN VERIFY SCRIPT- ./contrib/devtools/copyright_header.py update ./ -END VERIFY SCRIPT- Commits of previous years: * 2020: fa0074e2d82928016a43ca408717154a1c70a4db * 2019: aaaaad6ac95b402fe18d019d67897ced6b316ee0
2021-07-02ci: use Ubuntu 20.04 as the default Docker containerfanquake
All but 2 of the Ubuntu CIs are already using 20.04 or 21.04.
2021-05-04ci: Set BASE_SCRATCH_DIR early, so that it can be used in test configsMarcoFalke
Can be reviewed with --color-moved=dimmed-zebra
2021-03-28ci: Set DEPENDS_DIR when setting BASE_ROOT_DIRMarcoFalke
The depends dir can not be overwritten by a FILE_ENV file. Also, a FILE_ENV file might depend on the DEPENDS_DIR value. Thus, set it before reading FILE_ENV. This commit does not change behavior, but is required for later commits. Can be reviewed with --color-moved=dimmed-zebra
2021-03-10build: Add xkbcommon 0.8.4Hennadii Stepanov
Co-authored-by: fanquake <fanquake@gmail.com>
2020-11-03ci: Bump timeout factorMarcoFalke
This avoids timeouts when signing a large raw transaction https://cirrus-ci.com/task/5009228131729408?command=ci#L4981 test_framework.authproxy.JSONRPCException: 'signrawtransactionwithwallet' RPC took longer than 120.000000 seconds. Consider using larger timeout for calls that take longer to return. (-344)
2020-08-15ci: Set increased --timeout-factor by defaultMarcoFalke
2020-07-14ci: Disable functional tests on forked repos to avoid timeouts for macOSHennadii Stepanov
2020-06-16tests: run test-security-check.py in CIfanquake
2020-05-21test: Replace TEST_PREVIOUS_RELEASES env var with test_framework optionMarcoFalke
2020-05-21Merge #18677: Multiprocess build supportfanquake
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
2020-05-18ci: Set DEBIAN_FRONTEND=noninteractiveMarcoFalke
Also fix travis environment variables for this build Previously the resulting env was: FILE_ENV="./ci/test/00_setup_env_native_tsan.sh" TEST_RUNNER_EXTRA="--exclude feature_block" #= Not= enough= memory= on= travis= machines=
2020-05-12multiprocess: add multiprocess travis configurationRussell Yanofsky
2020-04-29Merge #18798: ci: Fix default retry script usageMarcoFalke
45615de26caa4c8ffeacc558143aaf6887cbb314 ci: Fix default retry script usage (Hennadii Stepanov) Pull request description: On master (5352d14b3796d9e672a20ada8f7613a70fe448f4) `CI_RETRY_EXE=${CI_RETRY_EXE:retry}` works as a [Substring Expansion](https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html), and that is wrong. If `CI_RETRY_EXE` variable was unset initially, its new value becomes an empty string, but not "retry" as one could expect. Consequently, the `${CI_RETRY_EXE} ...` command does _not_ use `ci/retry/retry` script. This PR makes for `CI_RETRY_EXE` variable a usual parameter expansion, i.e., `${parameter:-word}`. Reference: https://github.com/bitcoin/bitcoin/pull/18735#issuecomment-620095489 Top commit has no ACKs. Tree-SHA512: 108173f6b2677979b9ddf2f9b9df4a6c56f5efa81c36543a1816bb3b984e42984bf3c83fe413ea3a5ca1e2317c4efb02fea7180a6b44863af7cfe6202e9cf94d
2020-04-28ci: Fix default retry script usageHennadii Stepanov
2020-04-27ci: Add and document BASE_BUILD_DIRMarcoFalke
Co-Authored-By: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com>
2020-04-16scripted-diff: Bump copyright headersMarcoFalke
-BEGIN VERIFY SCRIPT- ./contrib/devtools/copyright_header.py update ./ -END VERIFY SCRIPT-
2020-04-10ci: Drop unused WINEDEBUG variableHennadii Stepanov
2020-02-11[tests] check v0.17.1 and v0.18.1 backwards compatibilitySjors Provoost
2020-02-10test: set a name for CI Docker containersfanquake
2020-01-03ci: Use debian to avoid apt install 404 errorsMarcoFalke
The default ubuntu mirror does not have s390x or armhf packages: Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB] Get:2 http://archive.ubuntu.com/ubuntu bionic InRelease [242 kB] Get:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] Ign:4 http://security.ubuntu.com/ubuntu bionic-security/multiverse armhf Packages Get:5 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB] Get:6 http://security.ubuntu.com/ubuntu bionic-security/restricted amd64 Packages [19.2 kB] Get:7 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [6781 B] Ign:8 http://security.ubuntu.com/ubuntu bionic-security/universe armhf Packages Get:9 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [761 kB] Ign:10 http://archive.ubuntu.com/ubuntu bionic/main armhf Packages Ign:11 http://archive.ubuntu.com/ubuntu bionic/restricted armhf Packages Get:12 http://archive.ubuntu.com/ubuntu bionic/restricted amd64 Packages [13.5 kB] Ign:13 http://archive.ubuntu.com/ubuntu bionic/multiverse armhf Packages Get:14 http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages [1344 kB] Ign:15 http://security.ubuntu.com/ubuntu bionic-security/main armhf Packages Ign:16 http://security.ubuntu.com/ubuntu bionic-security/restricted armhf Packages Get:17 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [795 kB] Get:18 http://archive.ubuntu.com/ubuntu bionic/multiverse amd64 Packages [186 kB] Get:19 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages [11.3 MB] Ign:4 http://security.ubuntu.com/ubuntu bionic-security/multiverse armhf Packages Ign:8 http://security.ubuntu.com/ubuntu bionic-security/universe armhf Packages Ign:15 http://security.ubuntu.com/ubuntu bionic-security/main armhf Packages Ign:16 http://security.ubuntu.com/ubuntu bionic-security/restricted armhf Packages Ign:4 http://security.ubuntu.com/ubuntu bionic-security/multiverse armhf Packages Ign:8 http://security.ubuntu.com/ubuntu bionic-security/universe armhf Packages Ign:15 http://security.ubuntu.com/ubuntu bionic-security/main armhf Packages Ign:16 http://security.ubuntu.com/ubuntu bionic-security/restricted armhf Packages Err:4 http://security.ubuntu.com/ubuntu bionic-security/multiverse armhf Packages 404 Not Found [IP: 91.189.88.174 80] Ign:8 http://security.ubuntu.com/ubuntu bionic-security/universe armhf Packages Ign:15 http://security.ubuntu.com/ubuntu bionic-security/main armhf Packages Ign:16 http://security.ubuntu.com/ubuntu bionic-security/restricted armhf Packages Ign:20 http://archive.ubuntu.com/ubuntu bionic/universe armhf Packages Ign:10 http://archive.ubuntu.com/ubuntu bionic/main armhf Packages Ign:11 http://archive.ubuntu.com/ubuntu bionic/restricted armhf Packages Ign:13 http://archive.ubuntu.com/ubuntu bionic/multiverse armhf Packages Get:21 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [1057 kB] Ign:22 http://archive.ubuntu.com/ubuntu bionic-updates/restricted armhf Packages Get:23 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [10.5 kB] Ign:24 http://archive.ubuntu.com/ubuntu bionic-updates/main armhf Packages Ign:25 http://archive.ubuntu.com/ubuntu bionic-updates/universe armhf Packages Get:26 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [1322 kB] Get:27 http://archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [32.7 kB] Ign:28 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse armhf Packages Ign:29 http://archive.ubuntu.com/ubuntu bionic-backports/main armhf Packages Get:30 http://archive.ubuntu.com/ubuntu bionic-backports/universe amd64 Packages [4244 B] Ign:31 http://archive.ubuntu.com/ubuntu bionic-backports/universe armhf Packages Get:32 http://archive.ubuntu.com/ubuntu bionic-backports/main amd64 Packages [2496 B] Ign:20 http://archive.ubuntu.com/ubuntu bionic/universe armhf Packages Ign:10 http://archive.ubuntu.com/ubuntu bionic/main armhf Packages Ign:11 http://archive.ubuntu.com/ubuntu bionic/restricted armhf Packages Ign:13 http://archive.ubuntu.com/ubuntu bionic/multiverse armhf Packages Ign:22 http://archive.ubuntu.com/ubuntu bionic-updates/restricted armhf Packages Ign:24 http://archive.ubuntu.com/ubuntu bionic-updates/main armhf Packages Ign:25 http://archive.ubuntu.com/ubuntu bionic-updates/universe armhf Packages Ign:28 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse armhf Packages Ign:29 http://archive.ubuntu.com/ubuntu bionic-backports/main armhf Packages Ign:31 http://archive.ubuntu.com/ubuntu bionic-backports/universe armhf Packages Ign:20 http://archive.ubuntu.com/ubuntu bionic/universe armhf Packages Err:10 http://archive.ubuntu.com/ubuntu bionic/main armhf Packages 404 Not Found [IP: 91.189.88.149 80] Ign:11 http://archive.ubuntu.com/ubuntu bionic/restricted armhf Packages Ign:13 http://archive.ubuntu.com/ubuntu bionic/multiverse armhf Packages Ign:22 http://archive.ubuntu.com/ubuntu bionic-updates/restricted armhf Packages Ign:24 http://archive.ubuntu.com/ubuntu bionic-updates/main armhf Packages Ign:25 http://archive.ubuntu.com/ubuntu bionic-updates/universe armhf Packages Ign:28 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse armhf Packages Ign:29 http://archive.ubuntu.com/ubuntu bionic-backports/main armhf Packages Ign:31 http://archive.ubuntu.com/ubuntu bionic-backports/universe armhf Packages Ign:20 http://archive.ubuntu.com/ubuntu bionic/universe armhf Packages Err:22 http://archive.ubuntu.com/ubuntu bionic-updates/restricted armhf Packages 404 Not Found [IP: 91.189.88.149 80] Ign:24 http://archive.ubuntu.com/ubuntu bionic-updates/main armhf Packages Ign:25 http://archive.ubuntu.com/ubuntu bionic-updates/universe armhf Packages Ign:28 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse armhf Packages Err:29 http://archive.ubuntu.com/ubuntu bionic-backports/main armhf Packages 404 Not Found [IP: 91.189.88.149 80] Ign:31 http://archive.ubuntu.com/ubuntu bionic-backports/universe armhf Packages Fetched 17.4 MB in 2s (7076 kB/s) Reading package lists... E: Failed to fetch http://security.ubuntu.com/ubuntu/dists/bionic-security/multiverse/binary-armhf/Packages 404 Not Found [IP: 91.189.88.174 80] E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic/main/binary-armhf/Packages 404 Not Found [IP: 91.189.88.149 80] E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic-updates/restricted/binary-armhf/Packages 404 Not Found [IP: 91.189.88.149 80] E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/bionic-backports/main/binary-armhf/Packages 404 Not Found [IP: 91.189.88.149 80] E: Some index files failed to download. They have been ignored, or old ones used instead.
2019-12-04ci: Remove unparseable lines from supp file for old xenial clang tsanMarcoFalke
2019-11-21ci: Add DEPENDS_DIR variable, Add documentation for foldersMarcoFalke
2019-11-20scripted-diff: Move various folders to ci scratch dirMarcoFalke
-BEGIN VERIFY SCRIPT- # move ci sanitizer-output sed -i -e 's|BASE_BUILD_DIR}/sanitizer-output|BASE_SCRATCH_DIR}/sanitizer-output|g' $(git grep -l BASE_BUILD_DIR ci) # move qa-assets sed -i -e 's|BASE_BUILD_DIR}/qa-assets|BASE_SCRATCH_DIR}/qa-assets|g' $(git grep -l BASE_BUILD_DIR ci) # move out dir sed -i -e 's|BASE_BUILD_DIR/out|BASE_SCRATCH_DIR/out|g' $(git grep -l BASE_BUILD_DIR ci) -END VERIFY SCRIPT-
2019-11-20Merge #17423: ci: Make ci system read-only on the git work treeMarcoFalke
fa7523d3aa75b0266015af59901c2397b52265b5 ci: Extend docs (MarcoFalke) fa493ef08830efe493150d07411af85518959804 ci: Make ci system read-only on the git work tree (MarcoFalke) fab133329281cdaa3804585a2cdadd0478fefa4f ci: Remove git from required packages on host (MarcoFalke) fa00393bce0c6128c6188afc7a1d50cc01b0277f ci: Make all filesystem operations inside docker (MarcoFalke) Pull request description: Running the ci completely in a docker, without leaving any traces on the host system is not possible right now because the ccache and depends dir needs to be propagated back and picked up by the host for caching. Fixes #17372 ACKs for top commit: JeremyRubin: tested ACK fa7523d3aa75b0266015af59901c2397b52265b5 Tree-SHA512: 4bce1a0f883bcbdb34abf409bdbc80d420c5da2045d2f9c5536ac433f9e5b490f23df084546c8c049f688b487572bbfc4f9c4029e9e672f4d9279739d066ed2e
2019-11-09ci: Make ci system read-only on the git work treeMarcoFalke
2019-11-09ci: Remove git from required packages on hostMarcoFalke
2019-11-07ci: Guess the native host when not cross compilingMarcoFalke
2019-11-04ci: Run non-cross-compile builds nativelyMarcoFalke