Skip to content

Commit 4077acb

Browse files
committed
esp/ci: Fix several issues
- Fix "dubious ownership in repository" error when running tests - Fix 'Host key verification failed' - Disable 'LLVM_APPEND_VC_REV' for test build
1 parent 8236b6a commit 4077acb

File tree

1 file changed

+20
-12
lines changed

1 file changed

+20
-12
lines changed

.gitlab-ci.yml

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,13 @@ default:
1414
interruptible: true
1515

1616
variables:
17-
ESP_LLVM_EMBEDDED_TOOLCHAIN_REF: "esp-19.1.2_20250312"
17+
ESP_LLVM_EMBEDDED_TOOLCHAIN_REF: "llvm_release_19"
1818
ESP_GNU_TOOLCHAIN_VER: "14.2.0_20241119"
1919
CROSS_ARM_IMAGE: $CI_DOCKER_REGISTRY/llvm-build-cross-arm:2
2020
CROSS_WIN_IMAGE: $CI_DOCKER_REGISTRY/llvm-build-cross-win:2
2121
DIST_DIR: "dist"
2222
BUILD_DIR: "build"
23+
GITLAB_SERVER_URL: https://gitlab-ci-token:${CI_JOB_TOKEN}@${GITLAB_HTTPS_SERVER}
2324

2425
workflow:
2526
rules:
@@ -35,7 +36,7 @@ workflow:
3536
cit_add_ssh_key "${GITLAB_KEY}"
3637

3738
.get_toolchain_build_scripts: &get_toolchain_build_scripts |
38-
git clone -b ${ESP_LLVM_EMBEDDED_TOOLCHAIN_REF} ${GITLAB_SSH_SERVER}/${ESP_LLVM_EMBEDDED_TOOLCHAIN_REPO_PATH}.git
39+
git clone -b ${ESP_LLVM_EMBEDDED_TOOLCHAIN_REF} ${GITLAB_SERVER_URL}/${ESP_LLVM_EMBEDDED_TOOLCHAIN_REPO_PATH}.git
3940

4041
before_script:
4142
- *use_ci_tools
@@ -62,6 +63,8 @@ before_script:
6263
PACK_TOOLCHAIN: "ON"
6364
PACK_STANDALONE_LIBS: "ON"
6465
PACK_TARGET_LIBS: "OFF"
66+
before_script:
67+
- git config --global --add safe.directory $CI_PROJECT_DIR
6568
after_script:
6669
# help to identify that build failed due to OOM
6770
- >
@@ -75,7 +78,6 @@ before_script:
7578
script:
7679
- *get_toolchain_build_scripts
7780
- LLVM_PROJECT_PATH=$PWD
78-
- git config --global --add safe.directory ${LLVM_PROJECT_PATH}
7981
- BUILD_PATH=$PWD/${BUILD_DIR}/build
8082
- INSTALL_PATH=$PWD/${BUILD_DIR}/install
8183
- mkdir -p ${BUILD_PATH}
@@ -107,9 +109,9 @@ before_script:
107109
# build toolchain core w/o any libs and GNU components
108110
- cmake $PWD/esp-llvm-embedded-toolchain -GNinja
109111
-DFETCHCONTENT_SOURCE_DIR_LLVMPROJECT=${LLVM_PROJECT_PATH}
110-
-DNEWLIB_REPO_URL="${GITLAB_SSH_SERVER}/${NEWLIB_REPO_PATH}.git"
111-
-DBINUTILS_REPO_URL="${GITLAB_SSH_SERVER}/${BINUTILS_REPO_PATH}.git"
112-
-DXTENSA_OVERLAYS_REPO_URL="${GITLAB_SSH_SERVER}/${XTENSA_OVERLAYS_REPO_PATH}.git"
112+
-DNEWLIB_REPO_URL="${GITLAB_SERVER_URL}/${NEWLIB_REPO_PATH}.git"
113+
-DBINUTILS_REPO_URL="${GITLAB_SERVER_URL}/${BINUTILS_REPO_PATH}.git"
114+
-DXTENSA_OVERLAYS_REPO_URL="${GITLAB_SERVER_URL}/${XTENSA_OVERLAYS_REPO_PATH}.git"
113115
-DFETCHCONTENT_QUIET=OFF
114116
-DESP_GNU_TOOLCHAIN_VER=${ESP_GNU_TOOLCHAIN_VER}
115117
-DLLVM_TOOLCHAIN_CROSS_BUILD_MINGW=${CROSS_BUILD_MINGW}
@@ -134,6 +136,7 @@ before_script:
134136
export CUR_USER=$(whoami);
135137
useradd -m test_runner;
136138
chown -R test_runner ${BUILD_PATH};
139+
runuser -u test_runner -- git config --global --add safe.directory $CI_PROJECT_DIR;
137140
if [[ "${RUN_CORE_TESTS}" == "ON" ]]; then
138141
echo "Run LLVM/Clang unit tests";
139142
touch ${BUILD_PATH}/tests.log;
@@ -153,11 +156,12 @@ before_script:
153156
if [[ "${RUN_PKG_TESTS}" == "ON" ]]; then
154157
echo "Run package tests";
155158
# to avoid test failure "fatal: detected dubious ownership in repository at '/builds/llvm-project'"
156-
chown -R test_runner $LLVM_PROJECT_PATH;
157159
touch ${BUILD_PATH}/pkg-tests.log;
158160
chmod o+w ${BUILD_PATH}/pkg-tests.log;
161+
chown -R test_runner $PWD/esp-llvm-embedded-toolchain;
162+
runuser -u test_runner -- git config --global --add safe.directory $PWD/esp-llvm-embedded-toolchain;
159163
runuser -u test_runner -- ninja -C ${BUILD_PATH} check-package-llvm-toolchain 2>&1 > ${BUILD_PATH}/pkg-tests.log;
160-
chown -R ${CUR_USER} $LLVM_PROJECT_PATH;
164+
chown -R ${CUR_USER} $PWD/esp-llvm-embedded-toolchain;
161165
fi
162166
chown -R ${CUR_USER} ${BUILD_PATH};
163167
fi
@@ -213,6 +217,8 @@ build_and_test:
213217
retry: 2
214218
variables:
215219
TEST_APP_ESP_DSP_CUSTOM_BRANCH: "llvm-19.1.2-optimization-test"
220+
before_script:
221+
- git config --global --add safe.directory $CI_PROJECT_DIR
216222
after_script:
217223
# help to identify that build failed due to OOM
218224
- >
@@ -224,22 +230,24 @@ build_and_test:
224230
script:
225231
- BUILD_PATH=$PWD/${BUILD_DIR}
226232
- LLVM_PROJECT_PATH=$PWD
227-
- git config --global --add safe.directory ${LLVM_PROJECT_PATH}
228233
- mkdir -p ${BUILD_PATH}
229234
- cmake -G Ninja
230235
-S llvm
231236
-DLLVM_ENABLE_PROJECTS="clang;lld;clang-tools-extra"
232237
-DCMAKE_BUILD_TYPE=Release
233238
-DLLVM_ENABLE_ASSERTIONS=ON
239+
-DLLVM_APPEND_VC_REV=OFF
234240
-DLLDB_INCLUDE_TESTS=OFF
235-
-DLLVM_TOOLCHAIN_ENABLED_TARGETS="RISCV"
236241
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=Xtensa
237242
-DLLVM_USE_LINKER="gold"
238-
-DLLVM_PARALLEL_LINK_JOBS=2
243+
-DLLVM_PARALLEL_LINK_JOBS=${ESP_LLVM_PARALLEL_LINK_JOBS}
244+
-DLLVM_PARALLEL_COMPILE_JOBS=${ESP_LLVM_PARALLEL_COMPILE_JOBS}
245+
-DLLVM_FORCE_VC_REPOSITORY="${GH_REPO_HTTPS}"
239246
-B ${BUILD_PATH} 2>&1 > ${BUILD_PATH}/build.log
240247
- export CUR_USER=$(whoami);
241248
- useradd -m test_runner;
242249
- chown -R test_runner ${BUILD_PATH};
250+
- runuser -u test_runner -- git config --global --add safe.directory $CI_PROJECT_DIR
243251
- echo "Run LLVM/Clang unit tests";
244252
- touch ${BUILD_PATH}/tests.log;
245253
- chmod o+w ${BUILD_PATH}/tests.log;
@@ -514,7 +522,7 @@ test_xesppie:
514522
- pwd
515523
- export CC="$(pwd)/bin/clang"
516524
- export OBJDUMP="$(pwd)/bin/llvm-objdump"
517-
- git clone -q --depth=1 "${GITLAB_SSH_SERVER}/idf/esp-compiler-tests.git"
525+
- git clone -q --depth=1 "${GITLAB_SERVER_URL}/idf/esp-compiler-tests.git"
518526
- cd esp-compiler-tests/build-only/xesppie
519527
- ./test_xesppie.py
520528

0 commit comments

Comments
 (0)