Skip to content

Commit 0c54975

Browse files
author
codebot
committed
Update main
# Conflicts: # lib/support/task_worker_pool.cpp # tests/unittests/phy/upper/signal_processors/port_channel_estimator_test_data.tar.gz # tests/unittests/scheduler/uci_and_pucch/pucch_alloc_fallback_mode_test.cpp # tests/unittests/scheduler/uci_and_pucch/pucch_alloc_sr_test.cpp # tests/unittests/scheduler/uci_and_pucch/uci_allocator_fallback_test.cpp
2 parents 374200d + 1126a6e commit 0c54975

File tree

506 files changed

+15484
-6745
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

506 files changed

+15484
-6745
lines changed

.gitlab-ci.yml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -275,14 +275,13 @@ srsran docker compose:
275275
unit coverage:
276276
stage: documentation
277277
image:
278-
name: ${GITLAB_REGISTRY_URI}/${CI_TOOLS_REPO}/report-generator:5.1.10
278+
name: ${GITLAB_REGISTRY_URI}/${CI_TOOLS_REPO}/report-generator:5.1.26
279279
entrypoint: ["/bin/sh", "-c"]
280280
rules:
281281
- if: $ON_MR
282282
variables:
283283
coverage_report: summary
284284
when: always # Even if previous stages/required jobs fail
285-
allow_failure: true
286285
before_script:
287286
- PACKAGE_URL=${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/coverage/${CI_COMMIT_BRANCH}${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME}/coverage_history.tar.gz
288287
# Download coverage history from the registry
@@ -318,14 +317,18 @@ unit coverage:
318317
-title:${CI_PROJECT_NAME} -tag:${CI_COMMIT_SHA} \
319318
-reporttypes:"${HTML_TYPE};TextSummary"
320319
- cat coverage_html/Summary.txt
320+
- coverage_value=$(cat coverage_html/Summary.txt | sed -n 's/^\s*Line coverage:\s*\(.*\)\%/\1/p')
321321
- |
322322
if [[ $coverage_report = "full" ]]; then
323323
publish_to_registry
324324
fi
325-
- export PIP_EXTRA_INDEX_URL=""
326-
- apk update; apk add python3 py3-pip
327-
- pip3 install --verbose retina-reporter --index-url https://__token__:[email protected]/api/v4/projects/44296988/packages/pypi/simple
328-
- retina-reporter --input build_time_metrics.json --bucket ci --db-config token=$INFLUXDB_TOKEN org=$INFLUXDB_ORG url=$INFLUXDB_URL
325+
- |
326+
export metric_prefix=""
327+
if [[ $ON_MR == "true" ]]; then metric_prefix="_pr"; fi
328+
echo "coverage${metric_prefix},pipeline=${CI_PIPELINE_ID},os=${OS} value=${coverage_value}" >> build_time_metrics.txt
329+
- |
330+
influx write --host $INFLUXDB_URL --token $INFLUXDB_TOKEN --org $INFLUXDB_ORG \
331+
--bucket ci --file build_time_metrics.txt
329332
coverage: /^\s*Line coverage:\s*\d+.\d+\%/
330333
artifacts: &unit_coverage_artifacts
331334
paths:
@@ -350,7 +353,6 @@ unit coverage dev:
350353
variables:
351354
coverage_report: full
352355
when: always # Even if previous stages/required jobs fail
353-
allow_failure: true
354356
artifacts:
355357
<<: *unit_coverage_artifacts
356358
expire_in: 1 day

.gitlab/ci/build.yml

Lines changed: 172 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,16 @@ variables:
105105
tags: ["${AMD64_TAG}"]
106106
stage: build and unit tests
107107
variables:
108+
# Setup
109+
UHD_VERSION: "" # Default for OS
110+
DPDK_VERSION: "" # None
111+
# Build
108112
BUILD_TYPE: "" # Empty for cmake default
109113
ASSERT_LEVEL: "" # Empty for cmake default
110114
ENABLE_EXPORT: "" # Empty for cmake default
111115
ENABLE_FFTW: "" # Empty for cmake default
112116
ENABLE_UHD: "" # Empty for cmake default
117+
ENABLE_DPDK: "" # Empty for cmake default
113118
ENABLE_ZEROMQ: "True" # Empty for cmake default
114119
ENABLE_ASAN: "" # Empty for cmake default
115120
ENABLE_TSAN: "" # Empty for cmake default
@@ -140,59 +145,73 @@ variables:
140145
ram_reporter_pid=$!
141146
fi
142147
143-
if [ -n "${UHD_VERSION}" ]; then
144-
BUILD_ARGS="${BUILD_ARGS} -u ${UHD_VERSION}"
145-
fi
148+
BUILD_CMD=""
146149
if [ -n "${BUILD_TYPE}" ]; then
147-
BUILD_ARGS="${BUILD_ARGS} -DCMAKE_BUILD_TYPE=${BUILD_TYPE}"
150+
BUILD_CMD="${BUILD_CMD} -DCMAKE_BUILD_TYPE=${BUILD_TYPE}"
148151
fi
149152
if [ -n "${ASSERT_LEVEL}" ]; then
150-
BUILD_ARGS="${BUILD_ARGS} -DASSERT_LEVEL=${ASSERT_LEVEL}"
153+
BUILD_CMD="${BUILD_CMD} -DASSERT_LEVEL=${ASSERT_LEVEL}"
151154
fi
152155
if [ -n "${AUTO_DETECT_ISA}" ]; then
153-
BUILD_ARGS="${BUILD_ARGS} -DAUTO_DETECT_ISA=${AUTO_DETECT_ISA}"
156+
BUILD_CMD="${BUILD_CMD} -DAUTO_DETECT_ISA=${AUTO_DETECT_ISA}"
154157
fi
155158
if [ -n "${ENABLE_EXPORT}" ]; then
156-
BUILD_ARGS="${BUILD_ARGS} -DENABLE_EXPORT=${ENABLE_EXPORT}"
159+
BUILD_CMD="${BUILD_CMD} -DENABLE_EXPORT=${ENABLE_EXPORT}"
157160
fi
158161
if [ -n "${ENABLE_FFTW}" ]; then
159-
BUILD_ARGS="${BUILD_ARGS} -DENABLE_FFTW=${ENABLE_FFTW}"
162+
BUILD_CMD="${BUILD_CMD} -DENABLE_FFTW=${ENABLE_FFTW}"
160163
fi
161164
if [ -n "${ENABLE_UHD}" ]; then
162-
BUILD_ARGS="${BUILD_ARGS} -DENABLE_UHD=${ENABLE_UHD}"
165+
BUILD_CMD="${BUILD_CMD} -DENABLE_UHD=${ENABLE_UHD}"
166+
fi
167+
if [ -n "${ENABLE_DPDK}" ]; then
168+
BUILD_CMD="${BUILD_CMD} -DENABLE_DPDK=${ENABLE_DPDK}"
163169
fi
164170
if [ -n "${ENABLE_ZEROMQ}" ]; then
165-
BUILD_ARGS="${BUILD_ARGS} -DENABLE_ZEROMQ=${ENABLE_ZEROMQ}"
171+
BUILD_CMD="${BUILD_CMD} -DENABLE_ZEROMQ=${ENABLE_ZEROMQ}"
166172
fi
167173
if [ -n "${ENABLE_ASAN}" ]; then
168-
BUILD_ARGS="${BUILD_ARGS} -DENABLE_ASAN=${ENABLE_ASAN}"
174+
BUILD_CMD="${BUILD_CMD} -DENABLE_ASAN=${ENABLE_ASAN}"
169175
fi
170176
if [ -n "${ENABLE_TSAN}" ]; then
171-
BUILD_ARGS="${BUILD_ARGS} -DENABLE_TSAN=${ENABLE_TSAN}"
177+
BUILD_CMD="${BUILD_CMD} -DENABLE_TSAN=${ENABLE_TSAN}"
172178
fi
173179
if [ -n "${ENABLE_GCOV}" ]; then
174-
BUILD_ARGS="${BUILD_ARGS} -DENABLE_GCOV=${ENABLE_GCOV}"
180+
BUILD_CMD="${BUILD_CMD} -DENABLE_GCOV=${ENABLE_GCOV}"
175181
fi
176182
if [ -n "${ENABLE_AVX2}" ]; then
177-
BUILD_ARGS="${BUILD_ARGS} -DENABLE_AVX2=${ENABLE_AVX2}"
183+
BUILD_CMD="${BUILD_CMD} -DENABLE_AVX2=${ENABLE_AVX2}"
178184
fi
179185
if [ -n "${ENABLE_AVX512}" ]; then
180-
BUILD_ARGS="${BUILD_ARGS} -DENABLE_AVX512=${ENABLE_AVX512}"
186+
BUILD_CMD="${BUILD_CMD} -DENABLE_AVX512=${ENABLE_AVX512}"
181187
fi
182188
if [ -n "${ENABLE_WERROR}" ]; then
183-
BUILD_ARGS="${BUILD_ARGS} -DENABLE_WERROR=${ENABLE_WERROR}"
189+
BUILD_CMD="${BUILD_CMD} -DENABLE_WERROR=${ENABLE_WERROR}"
184190
fi
185191
if [[ $TEST_MODE = "none" ]]; then
186-
BUILD_ARGS="${BUILD_ARGS} -DBUILD_TESTS=False"
192+
BUILD_CMD="${BUILD_CMD} -DBUILD_TESTS=False"
187193
fi
188-
if [ -n "${MAKE_ARGS}" ]; then
189-
BUILD_ARGS="-m ${MAKE_ARGS} ${BUILD_ARGS}"
194+
if [ -n "${BUILD_ARGS}" ]; then
195+
BUILD_CMD="${BUILD_CMD} ${BUILD_ARGS}"
196+
fi
197+
198+
if [ -n "${DPDK_VERSION}" ]; then
199+
BUILD_CMD="-d ${DPDK_VERSION} ${BUILD_CMD}"
200+
fi
201+
if [ -n "${UHD_VERSION}" ]; then
202+
BUILD_CMD="-u ${UHD_VERSION} ${BUILD_CMD}"
190203
fi
191204
if [ -n "${CLEAN_BUILD}" ]; then
192-
BUILD_ARGS="-r ${CLEAN_BUILD} ${BUILD_ARGS}"
205+
BUILD_CMD="-r ${CLEAN_BUILD} ${BUILD_CMD}"
206+
fi
207+
if [ -n "${MAKE_ARGS}" ]; then
208+
BUILD_CMD="-m ${MAKE_ARGS} ${BUILD_CMD}"
209+
fi
210+
if [ -n "${COMPILER}" ]; then
211+
BUILD_CMD="-c ${COMPILER} ${BUILD_CMD}"
193212
fi
213+
BUILD_CMD="builder.sh ${BUILD_CMD} ."
194214
195-
BUILD_CMD="builder.sh -c ${COMPILER} ${BUILD_ARGS} ."
196215
echo "${BUILD_CMD}"
197216
echo "============================================================================================="
198217
$BUILD_CMD
@@ -209,16 +228,15 @@ variables:
209228
echo "Build time is: $execution_time seconds"
210229
211230
export metric_prefix=""
212-
if [[ $ON_MR == "true" ]]; then metric_prefix="_cached"; fi
231+
if [[ $ON_MR == "true" ]]; then metric_prefix="_pr"; fi
213232
214233
if [ -e "${CI_PROJECT_DIR}/ram_usage.txt" ]; then
215234
ram_usage=$(cat ${CI_PROJECT_DIR}/ram_usage.txt)
216235
echo "RAM usage is: $ram_usage GB"
217236
kill $ram_reporter_pid
218-
echo '[{"name":"build","description":"Compilation","tests":[{"name":"'$OS'","description":"'$OS' build","metrics":[{"name":"build_time'$metric_prefix'","description":"Build time","value":['$execution_time'],"unit":"seconds","type":"time"}, {"name":"ram_usage'$metric_prefix'","description":"RAM usage","value":['$ram_usage'],"unit":"GB","type":"ram"}],"duts":[]}]}]' >> build_time_metrics.json
219-
else
220-
echo '[{"name":"build","description":"Compilation","tests":[{"name":"'$OS'","description":"'$OS' build","metrics":[{"name":"build_time'$metric_prefix'","description":"Build time","value":['$execution_time'],"unit":"seconds","type":"time"}],"duts":[]}]}]' >> build_time_metrics.json
237+
echo "ram_usage${metric_prefix},pipeline=${CI_PIPELINE_ID},os=${OS} value=${ram_usage}" >> build_time_metrics.txt
221238
fi
239+
echo "build_time${metric_prefix},pipeline=${CI_PIPELINE_ID},os=${OS} value=${execution_time}" >> build_time_metrics.txt
222240
}
223241
- |
224242
launch_tests() {
@@ -290,7 +308,7 @@ variables:
290308
- |
291309
if [ -z "${SAVE_ARTIFACTS}" ]; then
292310
rm -Rf ${CI_PROJECT_DIR}/build
293-
rm -Rf build_time_metrics.json
311+
rm -Rf build_time_metrics.txt
294312
fi
295313
timeout: 4h
296314
artifacts: &build_artifacts
@@ -303,7 +321,7 @@ variables:
303321
- ${CI_JOB_ID}_coverage.xml
304322
- build/apps/gnb/gnb
305323
- build/Testing/Temporary/MemoryChecker.*.log
306-
- build_time_metrics.json
324+
- build_time_metrics.txt
307325
expire_in: 10 minutes
308326
cache:
309327
- !reference [.fetch_src_cache, cache]
@@ -858,6 +876,33 @@ ubuntu-22.04 arm neon release:
858876
matrix:
859877
- COMPILER: [gcc, clang]
860878

879+
# Basic DPDK
880+
881+
smoke dpdk:
882+
extends: .build_and_unit
883+
rules:
884+
- if: $CI_DESCRIPTION =~ /Nightly/
885+
when: delayed
886+
start_in: 180 minutes
887+
interruptible: false
888+
variables:
889+
COMPILER: clang
890+
ENABLE_UHD: "False"
891+
ENABLE_ZEROMQ: "False"
892+
ENABLE_DPDK: "True"
893+
ASSERT_LEVEL: PARANOID
894+
AUTO_DETECT_ISA: "True"
895+
ENABLE_AVX512: "False"
896+
tags: ["${AMD64_TAG}"]
897+
parallel:
898+
matrix:
899+
- OS: ubuntu-23.04
900+
DPDK_VERSION: ["22.11.2", "23.07"]
901+
- OS: ubuntu-22.04
902+
DPDK_VERSION: ["22.11.2", "23.07"]
903+
- OS: ubuntu-20.04
904+
DPDK_VERSION: ["22.11.2", "23.07"]
905+
861906
###################
862907
# Alternative OSs #
863908
###################
@@ -1335,6 +1380,106 @@ rhel-8 arm neon:
13351380
<<: *basic_combinations
13361381
AUTO_DETECT_ISA: "True"
13371382

1383+
# DPDK
1384+
1385+
.dpdk_combinations: &basic_combinations_dpdk
1386+
<<: *basic_combinations
1387+
COMPILER: clang
1388+
ENABLE_UHD: "False"
1389+
ENABLE_ZEROMQ: "False"
1390+
ENABLE_DPDK: "True"
1391+
DPDK_VERSION: ["22.11.2", "23.07"]
1392+
1393+
ubuntu-20.04 amd64 avx2 dpdk:
1394+
extends: .build_and_unit
1395+
rules:
1396+
- if: $CI_DESCRIPTION =~ /Weekly/
1397+
when: delayed
1398+
start_in: 180 minutes
1399+
interruptible: false
1400+
tags: ["${AMD64_AVX2_TAG}"]
1401+
parallel:
1402+
matrix:
1403+
- OS: ubuntu-20.04
1404+
<<: *basic_combinations_dpdk
1405+
AUTO_DETECT_ISA: "True"
1406+
ENABLE_AVX512: "False"
1407+
1408+
ubuntu-20.04 amd64 avx512 dpdk:
1409+
extends: .build_and_unit
1410+
rules:
1411+
- if: $CI_DESCRIPTION =~ /Weekly/
1412+
when: delayed
1413+
start_in: 210 minutes
1414+
interruptible: false
1415+
tags: ["${AMD64_AVX512_TAG}"]
1416+
parallel:
1417+
matrix:
1418+
- OS: ubuntu-20.04
1419+
<<: *basic_combinations_dpdk
1420+
AUTO_DETECT_ISA: "True"
1421+
ENABLE_AVX512: "True"
1422+
1423+
ubuntu-22.04 amd64 avx2 dpdk:
1424+
extends: .build_and_unit
1425+
rules:
1426+
- if: $CI_DESCRIPTION =~ /Weekly/
1427+
when: delayed
1428+
start_in: 240 minutes
1429+
interruptible: false
1430+
tags: ["${AMD64_AVX2_TAG}"]
1431+
parallel:
1432+
matrix:
1433+
- OS: ubuntu-22.04
1434+
<<: *basic_combinations_dpdk
1435+
AUTO_DETECT_ISA: "True"
1436+
ENABLE_AVX512: "False"
1437+
1438+
ubuntu-22.04 amd64 avx512 dpdk:
1439+
extends: .build_and_unit
1440+
rules:
1441+
- if: $CI_DESCRIPTION =~ /Weekly/
1442+
when: delayed
1443+
start_in: 270 minutes
1444+
interruptible: false
1445+
tags: ["${AMD64_AVX512_TAG}"]
1446+
parallel:
1447+
matrix:
1448+
- OS: ubuntu-22.04
1449+
<<: *basic_combinations_dpdk
1450+
AUTO_DETECT_ISA: "True"
1451+
ENABLE_AVX512: "True"
1452+
1453+
ubuntu-23.04 amd64 avx2 dpdk:
1454+
extends: .build_and_unit
1455+
rules:
1456+
- if: $CI_DESCRIPTION =~ /Weekly/
1457+
when: delayed
1458+
start_in: 300 minutes
1459+
interruptible: false
1460+
tags: ["${AMD64_AVX2_TAG}"]
1461+
parallel:
1462+
matrix:
1463+
- OS: ubuntu-23.04
1464+
<<: *basic_combinations_dpdk
1465+
AUTO_DETECT_ISA: "True"
1466+
ENABLE_AVX512: "False"
1467+
1468+
ubuntu-23.04 amd64 avx512 dpdk:
1469+
extends: .build_and_unit
1470+
rules:
1471+
- if: $CI_DESCRIPTION =~ /Weekly/
1472+
when: delayed
1473+
start_in: 330 minutes
1474+
interruptible: false
1475+
tags: ["${AMD64_AVX512_TAG}"]
1476+
parallel:
1477+
matrix:
1478+
- OS: ubuntu-23.04
1479+
<<: *basic_combinations_dpdk
1480+
AUTO_DETECT_ISA: "True"
1481+
ENABLE_AVX512: "True"
1482+
13381483
#############
13391484
# Run check #
13401485
#############

0 commit comments

Comments
 (0)