@@ -14,12 +14,13 @@ default:
14
14
interruptible : true
15
15
16
16
variables :
17
- ESP_LLVM_EMBEDDED_TOOLCHAIN_REF : " esp-19.1.2_20250312 "
17
+ ESP_LLVM_EMBEDDED_TOOLCHAIN_REF : " llvm_release_19 "
18
18
ESP_GNU_TOOLCHAIN_VER : " 14.2.0_20241119"
19
19
CROSS_ARM_IMAGE : $CI_DOCKER_REGISTRY/llvm-build-cross-arm:2
20
20
CROSS_WIN_IMAGE : $CI_DOCKER_REGISTRY/llvm-build-cross-win:2
21
21
DIST_DIR : " dist"
22
22
BUILD_DIR : " build"
23
+ GITLAB_SERVER_URL : https://gitlab-ci-token:${CI_JOB_TOKEN}@${GITLAB_HTTPS_SERVER}
23
24
24
25
workflow :
25
26
rules :
@@ -35,7 +36,7 @@ workflow:
35
36
cit_add_ssh_key "${GITLAB_KEY}"
36
37
37
38
.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
39
40
40
41
before_script :
41
42
- *use_ci_tools
@@ -62,6 +63,8 @@ before_script:
62
63
PACK_TOOLCHAIN : " ON"
63
64
PACK_STANDALONE_LIBS : " ON"
64
65
PACK_TARGET_LIBS : " OFF"
66
+ before_script :
67
+ - git config --global --add safe.directory $CI_PROJECT_DIR
65
68
after_script :
66
69
# help to identify that build failed due to OOM
67
70
- >
@@ -75,7 +78,6 @@ before_script:
75
78
script :
76
79
- *get_toolchain_build_scripts
77
80
- LLVM_PROJECT_PATH=$PWD
78
- - git config --global --add safe.directory ${LLVM_PROJECT_PATH}
79
81
- BUILD_PATH=$PWD/${BUILD_DIR}/build
80
82
- INSTALL_PATH=$PWD/${BUILD_DIR}/install
81
83
- mkdir -p ${BUILD_PATH}
@@ -107,9 +109,9 @@ before_script:
107
109
# build toolchain core w/o any libs and GNU components
108
110
- cmake $PWD/esp-llvm-embedded-toolchain -GNinja
109
111
-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"
113
115
-DFETCHCONTENT_QUIET=OFF
114
116
-DESP_GNU_TOOLCHAIN_VER=${ESP_GNU_TOOLCHAIN_VER}
115
117
-DLLVM_TOOLCHAIN_CROSS_BUILD_MINGW=${CROSS_BUILD_MINGW}
@@ -134,6 +136,7 @@ before_script:
134
136
export CUR_USER=$(whoami);
135
137
useradd -m test_runner;
136
138
chown -R test_runner ${BUILD_PATH};
139
+ runuser -u test_runner -- git config --global --add safe.directory $CI_PROJECT_DIR;
137
140
if [[ "${RUN_CORE_TESTS}" == "ON" ]]; then
138
141
echo "Run LLVM/Clang unit tests";
139
142
touch ${BUILD_PATH}/tests.log;
@@ -153,11 +156,12 @@ before_script:
153
156
if [[ "${RUN_PKG_TESTS}" == "ON" ]]; then
154
157
echo "Run package tests";
155
158
# to avoid test failure "fatal: detected dubious ownership in repository at '/builds/llvm-project'"
156
- chown -R test_runner $LLVM_PROJECT_PATH;
157
159
touch ${BUILD_PATH}/pkg-tests.log;
158
160
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;
159
163
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 ;
161
165
fi
162
166
chown -R ${CUR_USER} ${BUILD_PATH};
163
167
fi
@@ -213,6 +217,8 @@ build_and_test:
213
217
retry : 2
214
218
variables :
215
219
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
216
222
after_script :
217
223
# help to identify that build failed due to OOM
218
224
- >
@@ -224,22 +230,24 @@ build_and_test:
224
230
script :
225
231
- BUILD_PATH=$PWD/${BUILD_DIR}
226
232
- LLVM_PROJECT_PATH=$PWD
227
- - git config --global --add safe.directory ${LLVM_PROJECT_PATH}
228
233
- mkdir -p ${BUILD_PATH}
229
234
- cmake -G Ninja
230
235
-S llvm
231
236
-DLLVM_ENABLE_PROJECTS="clang;lld;clang-tools-extra"
232
237
-DCMAKE_BUILD_TYPE=Release
233
238
-DLLVM_ENABLE_ASSERTIONS=ON
239
+ -DLLVM_APPEND_VC_REV=OFF
234
240
-DLLDB_INCLUDE_TESTS=OFF
235
- -DLLVM_TOOLCHAIN_ENABLED_TARGETS="RISCV"
236
241
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=Xtensa
237
242
-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}"
239
246
-B ${BUILD_PATH} 2>&1 > ${BUILD_PATH}/build.log
240
247
- export CUR_USER=$(whoami);
241
248
- useradd -m test_runner;
242
249
- chown -R test_runner ${BUILD_PATH};
250
+ - runuser -u test_runner -- git config --global --add safe.directory $CI_PROJECT_DIR
243
251
- echo "Run LLVM/Clang unit tests";
244
252
- touch ${BUILD_PATH}/tests.log;
245
253
- chmod o+w ${BUILD_PATH}/tests.log;
@@ -514,7 +522,7 @@ test_xesppie:
514
522
- pwd
515
523
- export CC="$(pwd)/bin/clang"
516
524
- 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"
518
526
- cd esp-compiler-tests/build-only/xesppie
519
527
- ./test_xesppie.py
520
528
0 commit comments