ci: Set PATH inside the CI env

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.
pull/28138/head
MarcoFalke 1 year ago
parent fac229ab1f
commit fa8dcdcc8b
No known key found for this signature in database

@ -6,6 +6,8 @@
export LC_ALL=C export LC_ALL=C
export PATH=$PWD/ci/retry:$PATH
${CI_RETRY_EXE} apt-get update ${CI_RETRY_EXE} apt-get update
# Lint dependencies: # Lint dependencies:
# - curl/xz-utils (to install shellcheck) # - curl/xz-utils (to install shellcheck)

@ -15,9 +15,12 @@ export BASE_ROOT_DIR
# The depends dir. # The depends dir.
# This folder exists only on the ci guest, and on the ci host as a volume. # This folder exists only on the ci guest, and on the ci host as a volume.
export DEPENDS_DIR=${DEPENDS_DIR:-$BASE_ROOT_DIR/depends} export DEPENDS_DIR=${DEPENDS_DIR:-$BASE_ROOT_DIR/depends}
# A folder for the ci system to put temporary files (ccache, datadirs for tests, ...) # A folder for the ci system to put temporary files (build result, datadirs for tests, ...)
# This folder only exists on the ci host. # This folder only exists on the ci guest.
export BASE_SCRATCH_DIR=${BASE_SCRATCH_DIR:-$BASE_ROOT_DIR/ci/scratch} export BASE_SCRATCH_DIR=${BASE_SCRATCH_DIR:-$BASE_ROOT_DIR/ci/scratch}
# A folder for the ci system to put executables.
# This folder only exists on the ci guest.
export BINS_SCRATCH_DIR="${BASE_SCRATCH_DIR}/bins/"
echo "Setting specific values in env" echo "Setting specific values in env"
if [ -n "${FILE_ENV}" ]; then if [ -n "${FILE_ENV}" ]; then
@ -69,5 +72,4 @@ export SDK_URL=${SDK_URL:-https://bitcoincore.org/depends-sources/sdks}
export CI_BASE_PACKAGES=${CI_BASE_PACKAGES:-build-essential libtool autotools-dev automake pkg-config bsdmainutils curl ca-certificates ccache python3 rsync git procps bison} export CI_BASE_PACKAGES=${CI_BASE_PACKAGES:-build-essential libtool autotools-dev automake pkg-config bsdmainutils curl ca-certificates ccache python3 rsync git procps bison}
export GOAL=${GOAL:-install} export GOAL=${GOAL:-install}
export DIR_QA_ASSETS=${DIR_QA_ASSETS:-${BASE_SCRATCH_DIR}/qa-assets} export DIR_QA_ASSETS=${DIR_QA_ASSETS:-${BASE_SCRATCH_DIR}/qa-assets}
export PATH=${BASE_ROOT_DIR}/ci/retry:$PATH
export CI_RETRY_EXE=${CI_RETRY_EXE:-"retry --"} export CI_RETRY_EXE=${CI_RETRY_EXE:-"retry --"}

@ -22,14 +22,12 @@ if [[ $BITCOIN_CONFIG = *--with-sanitizers=*address* ]]; then # If ran with (ASa
CI_CONTAINER_CAP="--cap-add SYS_PTRACE" CI_CONTAINER_CAP="--cap-add SYS_PTRACE"
fi fi
export BINS_SCRATCH_DIR="${BASE_SCRATCH_DIR}/bins/"
if [ -z "$DANGER_RUN_CI_ON_HOST" ]; then if [ -z "$DANGER_RUN_CI_ON_HOST" ]; then
# Export all env vars to avoid missing some. # Export all env vars to avoid missing some.
# Though, exclude those with newlines to avoid parsing problems. # Though, exclude those with newlines to avoid parsing problems.
python3 -c 'import os; [print(f"{key}={value}") for key, value in os.environ.items() if "\n" not in value and "HOME" not in key]' | tee /tmp/env python3 -c 'import os; [print(f"{key}={value}") for key, value in os.environ.items() if "\n" not in value and "HOME" not in key]' | tee /tmp/env
echo "Creating $CI_IMAGE_NAME_TAG container to run in" echo "Creating $CI_IMAGE_NAME_TAG container to run in"
DOCKER_BUILDKIT=1 ${CI_RETRY_EXE} docker build \ DOCKER_BUILDKIT=1 docker build \
--file "${BASE_ROOT_DIR}/ci/test_imagefile" \ --file "${BASE_ROOT_DIR}/ci/test_imagefile" \
--build-arg "CI_IMAGE_NAME_TAG=${CI_IMAGE_NAME_TAG}" \ --build-arg "CI_IMAGE_NAME_TAG=${CI_IMAGE_NAME_TAG}" \
--build-arg "FILE_ENV=${FILE_ENV}" \ --build-arg "FILE_ENV=${FILE_ENV}" \
@ -62,7 +60,7 @@ else
fi fi
CI_EXEC () { CI_EXEC () {
$CI_EXEC_CMD_PREFIX bash -c "export PATH=${BINS_SCRATCH_DIR}:\$PATH && cd \"${BASE_ROOT_DIR}\" && $*" $CI_EXEC_CMD_PREFIX bash -c "export PATH=${BINS_SCRATCH_DIR}:${BASE_ROOT_DIR}/ci/retry:\$PATH && cd \"${BASE_ROOT_DIR}\" && $*"
} }
export -f CI_EXEC export -f CI_EXEC

Loading…
Cancel
Save