bitcoin/ci/test
MarcoFalke 85892f77c9
Merge bitcoin/bitcoin#25900: ci: run docker wrapper with a non-root user
849f20a6d3 ci: create and use non-root user for docker image (josibake)

Pull request description:

  Previously, everything in the ci docker image ran as the root user. This would lead to certain directories (`ci/scratch`, `depends`) being owned by `root` after running the ci locally which would lead to annoying behavior such as subsequent guix builds failing due to `depends/` being owned by root.

  This PR adds a non-root user in the container and chowns the mounted working directory. All the `docker exec` commands now run as the non-root user, except for the few that still need to run as root (mainly, installing packages).

  To test this I checked out a fresh copy of the repo, applied my changes, ran the CI, and verified all the local file permissions were unchanged after the CI was finished running.

ACKs for top commit:
  hebasto:
    ACK 849f20a6d3, tested on Ubuntu 22.04 by running commands as follows:

Tree-SHA512: 734dca0f36157fce5fab243b4ff657fc17ba980e8e4e4644305f41002ff21bd5cef02c306ea1e0b5c841d4c07c095e8e4be16722e6a38c890717c60a3f5ec62a
2022-11-22 12:46:40 +01:00
..
00_setup_env.sh ci: Add clang-tidy task 2022-04-04 11:57:06 +02:00
00_setup_env_android.sh ci, android: Update NDK up to r23c 2022-05-31 18:45:13 +02:00
00_setup_env_arm.sh scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
00_setup_env_i686_centos.sh ci: Allow PIP_PACKAGES on centos 2022-10-04 11:53:31 +02:00
00_setup_env_i686_multiprocess.sh ci: Remove unused package 2022-10-04 11:51:33 +02:00
00_setup_env_mac.sh build: use macOS 11 SDK (Xcode 12.2) 2022-01-26 17:28:16 +08:00
00_setup_env_mac_native_arm64.sh ci: Use macos-ventura-xcode:14.1 image for "macOS native" task 2022-10-25 13:39:03 +01:00
00_setup_env_native_asan.sh ci: run USDT interface test in a VM 2022-07-08 19:41:58 +02:00
00_setup_env_native_fuzz.sh Merge bitcoin/bitcoin#24292: Revert "ci: Run fuzzer task for the master branch only" 2022-02-21 13:12:36 +00:00
00_setup_env_native_fuzz_with_msan.sh ci: Use clang-12 and libcxx-12 for msan 2022-03-30 11:56:06 +02:00
00_setup_env_native_fuzz_with_valgrind.sh ci: better pin to dwarf4 in valgrind job 2022-07-21 10:16:46 +01:00
00_setup_env_native_msan.sh ci: Use clang-12 and libcxx-12 for msan 2022-03-30 11:56:06 +02:00
00_setup_env_native_nowallet_libbitcoinkernel.sh ci: Build libbitcoinkernel 2022-04-27 17:36:39 -04:00
00_setup_env_native_qt5.sh ci: remove hardcoded tag list from ci scripts 2022-07-21 12:02:08 +02:00
00_setup_env_native_tidy.sh ci: run USDT interface test in a VM 2022-07-08 19:41:58 +02:00
00_setup_env_native_tsan.sh ci: add DEBUG_LOCKCONTENTION to CI task containing DEBUG_LOCKORDER 2022-05-20 12:48:17 +02:00
00_setup_env_native_valgrind.sh ci: better pin to dwarf4 in valgrind job 2022-07-21 10:16:46 +01:00
00_setup_env_s390x.sh test: Exclude broken feature_init for now 2022-02-04 16:33:36 +01:00
00_setup_env_win64.sh ci: Install documented packages for "Win64" CI task 2022-05-28 11:34:11 +02:00
04_install.sh Merge bitcoin/bitcoin#25900: ci: run docker wrapper with a non-root user 2022-11-22 12:46:40 +01:00
05_before_script.sh ci: create and use non-root user for docker image 2022-11-21 18:11:28 +01:00
06_script_a.sh [ci] apply cache size limit and print ccache statistics in "ARM64 Android APK" 2022-07-04 22:18:41 +09:00
06_script_b.sh Merge bitcoin/bitcoin#26292: util: move threadinterrupt into util/ 2022-11-22 09:52:53 +00:00
wrap-qemu.sh refactor: integrate no_nul into univalue unitester 2022-07-18 09:15:18 +01:00
wrap-valgrind.sh scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
wrap-wine.sh refactor: integrate no_nul into univalue unitester 2022-07-18 09:15:18 +01:00
wrapped-cl.bat ci: Integrate ccache into MSVC build 2022-03-12 03:20:33 +01:00