Skip to content

Commit

Permalink
Update main
Browse files Browse the repository at this point in the history
# Conflicts:
#	apps/services/logger/metrics_logger_appconfig.h
#	apps/services/logger/metrics_logger_appconfig_cli11_schema.cpp
#	apps/services/logger/metrics_logger_appconfig_yaml_writer.cpp
#	apps/units/flexible_o_du/o_du_low/metrics/du_low_metric_producer_impl.h
#	apps/units/flexible_o_du/o_du_low/metrics/ldpc_decoder_metrics_producer.h
#	apps/units/flexible_o_du/o_du_low/metrics/ldpc_encoder_metrics_producer.h
#	apps/units/flexible_o_du/o_du_low/metrics/ldpc_rate_dematcher_metrics_producer.h
#	apps/units/flexible_o_du/o_du_low/metrics/ldpc_rate_matcher_metrics_producer.h
#	apps/units/flexible_o_du/o_du_low/metrics/pdsch_processor_metrics_producer.h
#	apps/units/flexible_o_du/o_du_low/metrics/pusch_channel_estimator_metrics_producer.h
#	apps/units/flexible_o_du/o_du_low/metrics/pusch_processor_metrics_producer.h
#	include/srsran/fapi/messages.h
#	lib/phy/upper/channel_processors/pdsch/pdsch_codeblock_processor.cpp
#	lib/phy/upper/channel_processors/pdsch/pdsch_codeblock_processor.h
#	lib/phy/upper/channel_processors/pdsch/pdsch_processor_concurrent_impl.cpp
#	lib/phy/upper/channel_processors/pdsch/pdsch_processor_lite_impl.cpp
#	lib/phy/upper/channel_processors/pdsch/pdsch_processor_lite_impl.h
#	tests/unittests/phy/upper/channel_processors/pusch/pusch_demodulator_test_data.tar.gz
  • Loading branch information
codebot committed Feb 25, 2025
2 parents a041e31 + ecc2103 commit 8120ffb
Show file tree
Hide file tree
Showing 724 changed files with 23,720 additions and 11,560 deletions.
3 changes: 3 additions & 0 deletions .gitlab/ci-shared/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,9 @@ variables:
ENABLE_ASAN: "" # Empty for cmake default
ENABLE_TSAN: "" # Empty for cmake default
ENABLE_GCOV: "" # Empty for cmake default
ENABLE_UBSAN: "" # Empty for cmake default
ENABLE_UBSAN_MIN: "" # Empty for cmake default
ENABLE_RTSAN: "" # Empty for cmake default
ENABLE_WERROR: "" # Empty for cmake default
FORCE_DEBUG_INFO: "" # Empty for cmake default
MARCH: "" # Empty for cmake default
Expand Down
47 changes: 43 additions & 4 deletions .gitlab/ci/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -191,8 +191,8 @@ variables:
exit $ret
}
if [[ $CI_MERGE_REQUEST_LABELS != *"ci-no-plugin"* && -n $PLUGIN_BRANCH ]]; then
git submodule add https://gitlab-ci-token:${CI_JOB_TOKEN}@${CI_SERVER_SHELL_SSH_HOST}/${PLUGIN_REPO}.git ${PLUGIN_PATH} >/dev/null 2>&1
git submodule set-branch --branch ${PLUGIN_BRANCH} ${PLUGIN_PATH} >/dev/null 2>&1
git submodule add https://gitlab-ci-token:${CI_JOB_TOKEN}@${CI_SERVER_SHELL_SSH_HOST}/${PLUGIN_REPO}.git ${PLUGIN_PATH}
git submodule set-branch --branch ${PLUGIN_BRANCH} ${PLUGIN_PATH}
fi
- build_srsgnb "${SRS_TARGET}"
- launch_tests
Expand Down Expand Up @@ -244,6 +244,7 @@ variables:
- |
rm ${CI_PROJECT_DIR}/build/apps/gnb_split_7_2/gnb
rm ${CI_PROJECT_DIR}/build/apps/gnb_split_8/gnb
rm ${CI_PROJECT_DIR}/build/apps/gnb_split_6/gnb
- launch_tests
variables:
PLUGIN_BRANCH: $MR_PLUGIN_REF
Expand Down Expand Up @@ -588,6 +589,11 @@ valgrind changed tests:
- launch_tests
cache:
- *cache_build_get
artifacts:
when: on_failure
paths:
- build/Testing/Temporary
expire_in: 1 day

intermediate commits clean:
extends: intermediate commits cached
Expand Down Expand Up @@ -1614,7 +1620,7 @@ ubuntu-24.10 amd64 avx512 dpdk:
basic package:
extends: .deb-package
tags:
- ${INFRASTRUCTURE_TAG}
- ${INFRASTRUCTURE_TAG}
stage: build and unit tests
rules:
- if: $CI_DESCRIPTION =~ /Nightly E2E Tests OpenSource/
Expand Down Expand Up @@ -1693,6 +1699,29 @@ basic asan:
<<: *build_artifacts
expire_in: 3 days

basic rtsan:
extends: .build_and_unit
rules:
- if: $CI_DESCRIPTION =~ /Nightly E2E Tests/
retry: 2
interruptible: false
variables:
SRS_TARGET: gnb
OS: ubuntu-24.04-rtsan
COMPILER: clang
CMAKE_BUILD_TYPE: Debug
ASSERT_LEVEL: PARANOID
ENABLE_RTSAN: "True"
ENABLE_WERROR: "False"
TEST_MODE: none
MARCH: x86-64-v3
INFRASTRUCTURE_TAG: amd64-avx2
after_script:
- *build_after_script
artifacts:
<<: *build_artifacts
expire_in: 3 days

basic memcheck:
extends: .build_and_unit
rules:
Expand Down Expand Up @@ -1761,7 +1790,7 @@ basic avx512 dpdk:
FORCE_DEBUG_INFO: "True"
ASSERT_LEVEL: AUTO
INFRASTRUCTURE_TAG: amd64-avx2-avx512
BUILD_ARGS: -DEXIT_TIMEOUT=15
BUILD_ARGS: -DEXIT_TIMEOUT=30
after_script:
- *build_after_script
artifacts:
Expand All @@ -1775,6 +1804,16 @@ basic avx512 dpdk withassert:
variables:
ASSERT_LEVEL: PARANOID

basic avx512 dpdk rtsan:
extends: basic avx512 dpdk
rules:
- if: $CI_DESCRIPTION =~ /Nightly E2E Tests Plugin/
variables:
OS: ubuntu-24.04-rtsan
COMPILER: clang
ENABLE_RTSAN: "True"
ENABLE_WERROR: "False"

#######
# Web #
#######
Expand Down
91 changes: 91 additions & 0 deletions .gitlab/ci/builders.yml
Original file line number Diff line number Diff line change
Expand Up @@ -542,6 +542,97 @@ manifest [ubuntu, 24.04]:
matrix:
- REGISTRY_URI: ["${CR_REGISTRY_URI}", "${GITLAB_REGISTRY_URI}"]

################################################################################
# Ubuntu 24.04-rtsan
################################################################################
image-build-publish [ubuntu, 24.04-rtsan, amd64]:
extends:
- .image-build-publish
variables:
OS_FAMILY: debian-rtsan
OS_NAME: ubuntu
OS_VERSION: "24.04-rtsan"
PLATFORM: amd64
KUBERNETES_EPHEMERAL_STORAGE_REQUEST: "70G"
KUBERNETES_EPHEMERAL_STORAGE_LIMIT: "70G"
tags:
- ${PLATFORM}-docker
needs:
- builder version
- job: ubuntu-uhd-builder avx2
parallel:
matrix:
- os_version: "24.04"
uhd_version: ["4.7.0.0"] # "4.6.0.0" default
- job: ubuntu-dpdk-builder avx2
parallel:
matrix:
- os_version: "24.04"
dpdk_version: ["23.11.1"]
- job: ubuntu-dpdk-builder avx512
parallel:
matrix:
- os_version: "24.04"
dpdk_version: ["23.11.1"]

alternative-tag [ubuntu, 24.04-rtsan, amd64]:
extends:
- .alternative-tag
variables:
OS_NAME: ubuntu
OS_VERSION: "24.04-rtsan"
VERSION: ${DOCKER_BUILDER_VERSION}-amd64
needs:
- builder version
- image-build-publish [ubuntu, 24.04-rtsan, amd64]

image-build-publish [ubuntu, 24.04-rtsan, arm64]:
extends:
- .image-build-publish
variables:
OS_FAMILY: debian-rtsan
OS_NAME: ubuntu
OS_VERSION: "24.04-rtsan"
PLATFORM: arm64
needs:
- builder version
- job: ubuntu-uhd-builder arm64
parallel:
matrix:
- os_version: "24.04"
uhd_version: ["4.7.0.0"] # "4.6.0.0" default
- job: ubuntu-dpdk-builder arm64
parallel:
matrix:
- os_version: "24.04"
dpdk_version: ["23.11.1"]

alternative-tag [ubuntu, 24.04-rtsan, arm64]:
extends:
- .alternative-tag
variables:
OS_NAME: ubuntu
OS_VERSION: "24.04-rtsan"
VERSION: ${DOCKER_BUILDER_VERSION}-arm64
needs:
- builder version
- image-build-publish [ubuntu, 24.04-rtsan, arm64]

manifest [ubuntu, 24.04-rtsan]:
extends: .manifest
variables:
OS_NAME: ubuntu
OS_VERSION: "24.04-rtsan"
needs:
- builder version
- job: alternative-tag [ubuntu, 24.04-rtsan, amd64]
optional: false
- job: alternative-tag [ubuntu, 24.04-rtsan, arm64]
optional: false
parallel:
matrix:
- REGISTRY_URI: ["${CR_REGISTRY_URI}", "${GITLAB_REGISTRY_URI}"]

################################################################################
# Ubuntu 24.10
################################################################################
Expand Down
32 changes: 32 additions & 0 deletions .gitlab/ci/builders/debian-rtsan/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#
# Copyright 2013-2025 Software Radio Systems Limited
#
# By using this file, you agree to the terms and conditions set
# forth in the LICENSE file which can be found at the top level of
# the distribution.
#

FROM realtimesanitizer/rtsan-clang
RUN TZ=Europe/Madrid && \
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \
echo $TZ > /etc/timezone && \
apt-get update && \
apt-get install -y --no-install-recommends \
git git-lfs \
ccache gcovr valgrind \
python3-dev python3-venv && \
(apt-get install -y --no-install-recommends libclang-rt-dev || true) && \
apt-get autoremove && apt-get clean && rm -rf /var/lib/apt/lists/* && \
git lfs install

ADD install_dependencies.sh builder.sh changed_tests.py ram_reporter.py /usr/local/bin/
RUN chmod +x /usr/local/bin/install_dependencies.sh /usr/local/bin/builder.sh /usr/local/bin/changed_tests.py /usr/local/bin/ram_reporter.py && \
/usr/local/bin/install_dependencies.sh && \
apt-get autoremove && apt-get clean && rm -rf /var/lib/apt/lists/* && \
python3 -m venv /usr/local/builder_tools && \
/usr/local/builder_tools/bin/pip install "pandas<3" "psutil"

ADD uhd /opt/uhd
ADD dpdk /opt/dpdk

WORKDIR /workdir
69 changes: 1 addition & 68 deletions .gitlab/ci/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ metrics version check in retina:
gnb docker compose:
extends: .docker compose
variables: &gnb_build_args
variables:
DOCKER_UHD_VERSION: "4.7.0.0"
DOCKER_DPDK_VERSION: "23.11.1"
rules:
Expand Down Expand Up @@ -276,70 +276,3 @@ grafana server image latest:
before_script:
- |
export VERSION=latest
srsran image:
extends: .docker-builder
stage: publish
rules:
- if: $CI_DESCRIPTION =~ /Nightly Build Unit Tests/
interruptible: false
retry: 2
variables:
# CI
GIT_LFS_SKIP_SMUDGE: 1
KUBERNETES_CPU_REQUEST: ${SRS_CPU_LIMIT}
KUBERNETES_CPU_LIMIT: ${SRS_CPU_LIMIT}
KUBERNETES_MEMORY_REQUEST: ${SRS_MEMORY_LIMIT}
KUBERNETES_MEMORY_LIMIT: ${SRS_MEMORY_LIMIT}
KUBERNETES_EPHEMERAL_STORAGE_REQUEST: "50G"
KUBERNETES_EPHEMERAL_STORAGE_LIMIT: "50G"
# Docker
REGISTRY_URI: $GITLAB_REGISTRY_URI
CONTEXT: ${CI_PROJECT_DIR}
DOCKERFILE: docker
MODE: build
<<: *gnb_build_args
timeout: 2 hours
tags:
- ${TAG}-docker
before_script:
- |
export NAME="srsran-project"
export VERSION="${SPLIT}_${SUFFIX}"
export BUILD_ARGS="UHD_VERSION=${DOCKER_UHD_VERSION};DPDK_VERSION=${DOCKER_DPDK_VERSION};MARCH=${MARCH};NUM_JOBS=${KUBERNETES_CPU_LIMIT};EXTRA_CMAKE_ARGS=\"${EXTRA_CMAKE_ARGS}\""
parallel:
matrix:
# AMD AVX2
- SUFFIX: release_avx2
MARCH: x86-64-v3
TAG: amd64-avx2
PLATFORM: amd64
- SUFFIX: release_with_debug_avx2
EXTRA_CMAKE_ARGS: -DFORCE_DEBUG_INFO=On
MARCH: x86-64-v3
TAG: amd64-avx2
PLATFORM: amd64
# AMD AVX512
- SUFFIX: release_avx512
MARCH: x86-64-v4
TAG: amd64-avx2-avx512
PLATFORM: amd64
- SUFFIX: release_with_debug_avx512
EXTRA_CMAKE_ARGS: -DFORCE_DEBUG_INFO=On
MARCH: x86-64-v4
TAG: amd64-avx2-avx512
PLATFORM: amd64
# ARM
- SUFFIX: release_arm
MARCH: armv8.2-a+crypto+fp16+dotprod
TAG: arm64
PLATFORM: arm64
- SUFFIX: release_with_debug_arm
EXTRA_CMAKE_ARGS: -DFORCE_DEBUG_INFO=On
MARCH: armv8.2-a+crypto+fp16+dotprod
TAG: arm64
PLATFORM: arm64
needs:
- job: gnb docker compose
optional: true
artifacts: false
29 changes: 27 additions & 2 deletions .gitlab/ci/e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,19 @@ amari 1UE 4x4 mimo:
MARKERS: "zmq_4x4_mimo"
RETINA_PARAM_ARGS: "gnb.all.enable_integrity_protection=True"

amari 1UE rtsan:
extends: .zmq
variables:
KEYWORDS: "bidirectional"
MARKERS: "zmq_single_ue"
RETINA_PARAM_ARGS: "gnb.all.pcap=True gnb.all.rlc_enable=True gnb.all.enable_integrity_protection=True"
needs:
- job: "basic rtsan"
artifacts: true
- *txrx-lib
- *retina-needs
allow_failure: true

amari 4UE deb:
extends: .zmq
rules:
Expand Down Expand Up @@ -389,7 +402,6 @@ test mode ru acc100:
TESTBED: "test_mode_acc100"
MARKERS: "test_mode_acc100"
KEYWORDS: ""
allow_failure: true

################################################################################
# RF
Expand Down Expand Up @@ -514,7 +526,7 @@ viavi:
artifacts: true
- *retina-needs
rules:
- if: $CI_DESCRIPTION =~ /Nightly E2E Tests Plugin/
- if: $CI_DESCRIPTION =~ /Nightly E2E Tests Plugin/
parallel:
matrix:
- KEYWORDS:
Expand Down Expand Up @@ -564,6 +576,19 @@ viavi-debug:
artifacts: true
- *retina-needs

viavi-rtsan:
extends: .viavi
needs:
- job: "basic avx512 dpdk rtsan"
artifacts: true
- *retina-needs
rules:
- if: $CI_DESCRIPTION =~ /Nightly E2E Tests Plugin/
parallel:
matrix:
- KEYWORDS: ["tdd and 6u3d"]
allow_failure: true

################################################################################
# Garbage collector
################################################################################
Expand Down
4 changes: 2 additions & 2 deletions .gitlab/ci/e2e/.env
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
SRSGNB_REGISTRY_URI=registry.gitlab.com/softwareradiosystems/srsgnb
RETINA_REGISTRY_PREFIX=registry.gitlab.com/softwareradiosystems/ci/retina
RETINA_VERSION=0.62.4
RETINA_VERSION=0.62.9
UBUNTU_VERSION=24.04
AMARISOFT_VERSION=2023-09-08
SRSUE_VERSION=23.11
OPEN5GS_VERSION=2.7.0
FLEXRIC_VERSION=br-flexric
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
METRICS_SERVER_VERSION=1.7.3
METRICS_SERVER_VERSION=1.8.0
DPDK_VERSION=23.11.1
ZMQ_HOSTLABEL_0=kubernetes.io/hostname=hp-generic-2
ZMQ_HOSTLABEL_1=kubernetes.io/hostname=ci-buildmaster
Expand Down
1 change: 1 addition & 0 deletions .gitlab/ci/e2e/retina_request_viavi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
- type: ru
model: viavi-ru
environment:
- RTSAN_OPTIONS: halt_on_error=false:suppress_equal_stacks=true
- PATH: ${PATH}:/builds/softwareradiosystems/srsgnb/build/apps/gnb
- LD_LIBRARY_PATH: /opt/dpdk/${DPDK_VERSION}/lib/x86_64-linux-gnu/
shared_files:
Expand Down
Loading

0 comments on commit 8120ffb

Please sign in to comment.