From 8888ee4403fa62972c49e18752695d15fd32c0b0 Mon Sep 17 00:00:00 2001 From: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz> Date: Thu, 5 Dec 2024 15:36:04 +0100 Subject: [PATCH] ci: Allow build dir on CI host --- .github/workflows/ci.yml | 12 ++++++------ ci/test/02_run_container.sh | 6 +++++- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 740d31ae5683b..680c566e42c90 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -266,16 +266,16 @@ jobs: timeout-minutes: 120 env: FILE_ENV: "./ci/test/00_setup_env_native_asan.sh" - DANGER_CI_ON_HOST_CACHE_FOLDERS: 1 + DANGER_CI_ON_HOST_FOLDERS: 1 steps: - name: Checkout uses: actions/checkout@v4 - - name: Set Ccache directory - run: echo "CCACHE_DIR=${RUNNER_TEMP}/ccache_dir" >> "$GITHUB_ENV" - - - name: Set base root directory - run: echo "BASE_ROOT_DIR=${RUNNER_TEMP}" >> "$GITHUB_ENV" + - name: Set CI directories + run: | + echo "CCACHE_DIR=${{ runner.temp }}/ccache_dir" >> "$GITHUB_ENV" + echo "BASE_ROOT_DIR=${{ runner.temp }}" >> "$GITHUB_ENV" + echo "BASE_BUILD_DIR=${{ runner.temp }}/build-asan" >> "$GITHUB_ENV" - name: Restore Ccache cache id: ccache-cache diff --git a/ci/test/02_run_container.sh b/ci/test/02_run_container.sh index ce01db325cebe..45d45c5998e20 100755 --- a/ci/test/02_run_container.sh +++ b/ci/test/02_run_container.sh @@ -44,18 +44,21 @@ if [ -z "$DANGER_RUN_CI_ON_HOST" ]; then CI_DEPENDS_MOUNT="type=volume,src=${CONTAINER_NAME}_depends,dst=$DEPENDS_DIR/built" CI_DEPENDS_SOURCES_MOUNT="type=volume,src=${CONTAINER_NAME}_depends_sources,dst=$DEPENDS_DIR/sources" CI_PREVIOUS_RELEASES_MOUNT="type=volume,src=${CONTAINER_NAME}_previous_releases,dst=$PREVIOUS_RELEASES_DIR" + CI_BUILD_MOUNT="" - if [ "$DANGER_CI_ON_HOST_CACHE_FOLDERS" ]; then + if [ "$DANGER_CI_ON_HOST_FOLDERS" ]; then # ensure the directories exist mkdir -p "${CCACHE_DIR}" mkdir -p "${DEPENDS_DIR}/built" mkdir -p "${DEPENDS_DIR}/sources" mkdir -p "${PREVIOUS_RELEASES_DIR}" + mkdir -p "${BASE_BUILD_DIR}" # Unset by default, must be defined externally CI_CCACHE_MOUNT="type=bind,src=${CCACHE_DIR},dst=$CCACHE_DIR" CI_DEPENDS_MOUNT="type=bind,src=${DEPENDS_DIR}/built,dst=$DEPENDS_DIR/built" CI_DEPENDS_SOURCES_MOUNT="type=bind,src=${DEPENDS_DIR}/sources,dst=$DEPENDS_DIR/sources" CI_PREVIOUS_RELEASES_MOUNT="type=bind,src=${PREVIOUS_RELEASES_DIR},dst=$PREVIOUS_RELEASES_DIR" + CI_BUILD_MOUNT="--mount type=bind,src=${BASE_BUILD_DIR},dst=${BASE_BUILD_DIR}" fi if [ "$DANGER_CI_ON_HOST_CCACHE_FOLDER" ]; then @@ -97,6 +100,7 @@ if [ -z "$DANGER_RUN_CI_ON_HOST" ]; then --mount "${CI_DEPENDS_MOUNT}" \ --mount "${CI_DEPENDS_SOURCES_MOUNT}" \ --mount "${CI_PREVIOUS_RELEASES_MOUNT}" \ + ${CI_BUILD_MOUNT} \ --env-file /tmp/env-$USER-$CONTAINER_NAME \ --name "$CONTAINER_NAME" \ --network ci-ip6net \