Skip to content

Commit

Permalink
Update main
Browse files Browse the repository at this point in the history
# Conflicts:
#	apps/units/flexible_du/split_7_2/logger_registrator.h
#	apps/units/flexible_du/split_ru_dynamic/logger_registrator.h
#	include/srsran/support/sockets.h
#	lib/f1ap/common/colocated_message_handler.h
#	lib/f1ap/common/remote_message_handler.h
  • Loading branch information
codebot committed May 21, 2024
2 parents 78238fd + b0ab9f9 commit 2a7dec3
Show file tree
Hide file tree
Showing 267 changed files with 12,953 additions and 6,727 deletions.
161 changes: 158 additions & 3 deletions .gitlab/ci/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

include:
- project: softwareradiosystems/ci/srsran_project_packaging
ref: "5"
ref: "6"
file: .gitlab/ci-shared/package.yml
- local: .gitlab/ci/src_cache.yml

Expand Down Expand Up @@ -79,12 +79,12 @@ variables:
################

.cache_build_set: &cache_build_set
- key: ${OS}-${COMPILER}-${BUILD_TYPE}
- key: ${OS}-${COMPILER}-${BUILD_TYPE}-${AUTO_DETECT_ISA}-${ENABLE_AVX512}
paths: [ccache]
policy: push

.cache_build_get: &cache_build_get
- key: ${OS}-${COMPILER}-${BUILD_TYPE}
- key: ${OS}-${COMPILER}-${BUILD_TYPE}-${AUTO_DETECT_ISA}-${ENABLE_AVX512}
paths: [ccache]
policy: pull

Expand Down Expand Up @@ -426,6 +426,40 @@ variables:
BUILD_ARGS: -DEXIT_TIMEOUT=120
tags: ["${AMD64_AVX2_TAG}"]

.smoke avx512:
extends: .build_and_unit
variables:
OS: ubuntu-24.04
COMPILER: gcc
BUILD_TYPE: Release
ASSERT_LEVEL: PARANOID
TEST_MODE: default
AUTO_DETECT_ISA: "True"
ENABLE_AVX512: "True"
tags: ["${AMD64_AVX512_TAG}"]

.smoke arm:
extends: .build_and_unit
variables:
OS: ubuntu-24.04
COMPILER: gcc
BUILD_TYPE: Release
ASSERT_LEVEL: PARANOID
TEST_MODE: default
AUTO_DETECT_ISA: "False"
tags: ["${ARM64_TAG}"]

.smoke arm neon:
extends: .build_and_unit
variables:
OS: ubuntu-24.04
COMPILER: gcc
BUILD_TYPE: Release
ASSERT_LEVEL: PARANOID
TEST_MODE: default
AUTO_DETECT_ISA: "True"
tags: ["${ARM64_TAG}"]

# Combinations to use in schedules matrix

.combinations: &basic_combinations
Expand Down Expand Up @@ -512,6 +546,70 @@ smoke dpdk cached:
- !reference [.fetch_src_cache, cache]
- *cache_build_get

.infra_path_changes:
- changes: &instruction_set_changes
paths:
- include/srsran/phy/**/*
- lib/phy/**/*
- tests/unittests/phy/**/*

smoke avx512 cached:
extends: .smoke avx512
stage: manual
timeout: 45 min
rules:
- if: $CI_MERGE_REQUEST_LABELS =~ /no-cache/
when: never
- if: $ON_MR == "true" && $CI_MERGE_REQUEST_APPROVED == "true"
changes:
<<: *instruction_set_changes
- if: $ON_MR
changes:
<<: *instruction_set_changes
when: manual
allow_failure: false
cache:
- !reference [.fetch_src_cache, cache]
- *cache_build_get

smoke arm cached:
extends: .smoke arm
stage: manual
timeout: 45 min
rules:
- if: $CI_MERGE_REQUEST_LABELS =~ /no-cache/
when: never
- if: $ON_MR == "true" && $CI_MERGE_REQUEST_APPROVED == "true"
changes:
<<: *instruction_set_changes
- if: $ON_MR
changes:
<<: *instruction_set_changes
when: manual
allow_failure: false
cache:
- !reference [.fetch_src_cache, cache]
- *cache_build_get

smoke arm neon cached:
extends: .smoke arm neon
stage: manual
timeout: 45 min
rules:
- if: $CI_MERGE_REQUEST_LABELS =~ /no-cache/
when: never
- if: $ON_MR == "true" && $CI_MERGE_REQUEST_APPROVED == "true"
changes:
<<: *instruction_set_changes
- if: $ON_MR
changes:
<<: *instruction_set_changes
when: manual
allow_failure: false
cache:
- !reference [.fetch_src_cache, cache]
- *cache_build_get

smoke relwithdeb clean:
extends: .smoke relwithdeb
rules:
Expand Down Expand Up @@ -539,6 +637,27 @@ smoke dpdk clean:
rules:
- if: $CI_MERGE_REQUEST_LABELS =~ /no-cache/

smoke avx512 clean:
extends: .smoke avx512
rules:
- if: $CI_MERGE_REQUEST_LABELS =~ /no-cache/
changes:
<<: *instruction_set_changes

smoke arm clean:
extends: .smoke arm
rules:
- if: $CI_MERGE_REQUEST_LABELS =~ /no-cache/
changes:
<<: *instruction_set_changes

smoke arm neon clean:
extends: .smoke arm neon
rules:
- if: $CI_MERGE_REQUEST_LABELS =~ /no-cache/
changes:
<<: *instruction_set_changes

# Intermediate commits

intermediate commits:
Expand Down Expand Up @@ -719,6 +838,42 @@ smoke valgrind update cache:
<<: *build_artifacts
expire_in: 3 day

smoke avx512 update cache:
extends: .smoke avx512
rules:
- if: $CI_DESCRIPTION =~ /Nightly Build Unit Tests/
when: delayed
start_in: 30 minutes
retry: 2
interruptible: false
cache:
- !reference [.fetch_src_cache, cache]
- *cache_build_set

smoke arm update cache:
extends: .smoke arm
rules:
- if: $CI_DESCRIPTION =~ /Nightly Build Unit Tests/
when: delayed
start_in: 30 minutes
retry: 2
interruptible: false
cache:
- !reference [.fetch_src_cache, cache]
- *cache_build_set

smoke arm neon update cache:
extends: .smoke arm neon
rules:
- if: $CI_DESCRIPTION =~ /Nightly Build Unit Tests/
when: delayed
start_in: 30 minutes
retry: 2
interruptible: false
cache:
- !reference [.fetch_src_cache, cache]
- *cache_build_set

smoke asan:
extends: .build_and_unit
rules:
Expand Down
2 changes: 1 addition & 1 deletion .gitlab/ci/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ metrics version check in retina:
stage: compose
image: docker:24.0.7
tags:
- saas-linux-small-amd64
- saas-linux-medium-amd64
timeout: 2h
variables:
DOCKER_HOST: tcp://docker:2375/
Expand Down
32 changes: 21 additions & 11 deletions .gitlab/ci/e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,18 +80,16 @@ load retina variables:
eval K_PATH="\$$KUBECONFIG_VAR_NAME"
export FORCE_COLOR=1
export KUBECONFIG=$K_PATH
needs: &retina-needs
- job: "load retina variables"
artifacts: true
e2e request validation:
e2e request and config validation:
stage: static
extends:
- .prepare_test
rules:
- if: $ON_MR
changes:
- .gitlab/ci/e2e/**/*
- tests/e2e/tests/viavi/*
image:
name: ${RETINA_REGISTRY_PREFIX}/launcher:${RETINA_VERSION}
entrypoint: ["/bin/sh", "-c"]
Expand All @@ -102,6 +100,10 @@ e2e request validation:
for f in $file_list; do
retina-request-checker --input $f
done
python3 ${CI_PROJECT_DIR}/tests/e2e/tests/viavi/validate_test_declaration.py
needs: &retina-needs
- job: "load retina variables"
artifacts: true

.e2e-run:
resource_group: e2e-${GROUP}
Expand Down Expand Up @@ -155,7 +157,7 @@ e2e request validation:
sed -i "s|- local_path: ../../build/apps/gnb/gnb|- local_path: ../../|; s|remote_path: /usr/local/bin|remote_path: $CI_PROJECT_DIR|; s|is_executable: true|is_executable: false|" ${CI_PROJECT_DIR}/.gitlab/ci/e2e/retina_request_${TESTBED}.yml
# Run Retina
- |
E2E_CMD="retina-launcher --retina-request=${CI_PROJECT_DIR}/.gitlab/ci/e2e/retina_request_${TESTBED}.yml --log-folder=./log --html=./log/report.html --self-contained-html --junitxml=out.xml ${PYTEST_ARGS} -k '${KEYWORDS}' -m '${MARKERS}' --register-parameter ue.all.log_level=$E2E_LOG_LEVEL gnb.all.log_level=$E2E_LOG_LEVEL ${RETINA_ARGS}"
E2E_CMD="retina-launcher --retina-request=${CI_PROJECT_DIR}/.gitlab/ci/e2e/retina_request_${TESTBED}.yml ${PYTEST_ARGS} -k '${KEYWORDS}' -m '${MARKERS}' --register-parameter ue.all.log_level=$E2E_LOG_LEVEL gnb.all.log_level=$E2E_LOG_LEVEL ${RETINA_ARGS}"
echo "${E2E_CMD}"
eval $E2E_CMD
after_script:
Expand All @@ -169,6 +171,8 @@ e2e request validation:
echo "Test report ---> https://softwareradiosystems.gitlab.io/-/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/tests/e2e/log//report.html"
echo "*******************************************************************************************************************************"
- du -hs tests/e2e/log/
needs:
- *retina-needs

custom e2e:
stage: manual
Expand Down Expand Up @@ -200,7 +204,7 @@ smoke zmq:
TESTBED: zmq
MARKERS: "smoke"
PYTEST_ARGS: "-x"
RETINA_ARGS: "gnb.all.pcap=True gnb.all.mac_enable=True gnb.all.rlc_enable=True"
RETINA_ARGS: "gnb.all.pcap=True gnb.all.mac_enable=True gnb.all.rlc_enable=True gnb.all.enable_integrity_protection=True"
E2E_LOG_LEVEL: "debug"
needs:
- job: "smoke relwithdeb cached"
Expand Down Expand Up @@ -242,7 +246,7 @@ amari 1UE:
TESTBED: "zmq_single_ue"
MARKERS: "zmq_single_ue"
E2E_LOG_LEVEL: "info"
RETINA_ARGS: "gnb.all.pcap=True gnb.all.rlc_enable=True"
RETINA_ARGS: "gnb.all.pcap=True gnb.all.rlc_enable=True gnb.all.enable_integrity_protection=True"
needs:
- job: "basic relwithdeb"
artifacts: true
Expand All @@ -255,6 +259,7 @@ amari 1UE 4x4 mimo:
TESTBED: "zmq_4x4_mimo"
MARKERS: "zmq_4x4_mimo"
E2E_LOG_LEVEL: "info"
RETINA_ARGS: "gnb.all.enable_integrity_protection=True"
needs:
- job: "basic relwithdeb"
artifacts: true
Expand All @@ -267,6 +272,7 @@ amari 4UE deb:
TESTBED: "zmq_deb"
MARKERS: "smoke"
E2E_LOG_LEVEL: "info"
RETINA_ARGS: "gnb.all.enable_integrity_protection=True"
needs:
- job: "basic package"
artifacts: true
Expand All @@ -278,7 +284,7 @@ amari 32UE:
variables:
MARKERS: "zmq and not smoke"
E2E_LOG_LEVEL: "info"
RETINA_ARGS: "gnb.all.pcap=True gnb.all.rlc_enable=False"
RETINA_ARGS: "gnb.all.pcap=True gnb.all.rlc_enable=False gnb.all.enable_integrity_protection=True"
needs:
- job: "basic relwithdeb"
artifacts: true
Expand Down Expand Up @@ -307,7 +313,7 @@ amari 32UE asan:
extends: .zmq
variables:
MARKERS: "smoke"
RETINA_ARGS: "gnb.all.pcap=True gnb.all.mac_enable=True gnb.all.rlc_enable=True"
RETINA_ARGS: "gnb.all.pcap=True gnb.all.mac_enable=True gnb.all.rlc_enable=True gnb.all.enable_integrity_protection=True"
needs:
- job: "basic asan"
artifacts: true
Expand All @@ -318,7 +324,7 @@ amari 32UE tsan:
extends: .zmq
variables:
MARKERS: "smoke"
RETINA_ARGS: "gnb.all.pcap=True gnb.all.mac_enable=True gnb.all.rlc_enable=True"
RETINA_ARGS: "gnb.all.pcap=True gnb.all.mac_enable=True gnb.all.rlc_enable=True gnb.all.enable_integrity_protection=True"
needs:
- job: "basic tsan"
artifacts: true
Expand All @@ -330,7 +336,7 @@ amari 32UE memcheck:
variables:
MARKERS: "zmq_valgrind"
E2E_LOG_LEVEL: "warning"
RETINA_ARGS: "gnb.all.pcap=True gnb.all.mac_enable=True gnb.all.rlc_enable=True"
RETINA_ARGS: "gnb.all.pcap=True gnb.all.mac_enable=True gnb.all.rlc_enable=True gnb.all.enable_integrity_protection=True"
needs:
- job: "basic memcheck"
artifacts: true
Expand Down Expand Up @@ -547,7 +553,11 @@ viavi-debug:
retina setup:
stage: ci
extends: .demolition
needs:
- *retina-needs

retina post:
stage: .post
extends: .demolition
dependencies:
- load retina variables
2 changes: 1 addition & 1 deletion .gitlab/ci/e2e/.env
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
SRSGNB_REGISTRY_URI=registry.gitlab.com/softwareradiosystems/srsgnb
RETINA_REGISTRY_PREFIX=registry.gitlab.com/softwareradiosystems/ci/retina
RETINA_VERSION=0.48.11
RETINA_VERSION=0.48.14
UBUNTU_VERSION=24.04
AMARISOFT_VERSION=2023-09-08
SRSUE_VERSION=23.11
Expand Down
8 changes: 6 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ endif(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
cmake_minimum_required(VERSION 3.14)
project(srsran)

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")

Expand Down Expand Up @@ -88,6 +88,10 @@ if (ENABLE_WERROR)
if (HAS_MAYBE_UNINITIALIZED)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=maybe-uninitialized")
endif()
check_cxx_compiler_flag("-Wstringop-overflow" HAS_STRINGOP_OVERFLOW)
if (HAS_STRINGOP_OVERFLOW)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=stringop-overflow")
endif()
endif()
endif ()

Expand Down Expand Up @@ -136,7 +140,7 @@ ADD_CXX_COMPILER_FLAG_IF_AVAILABLE(-Wnon-virtual-dtor HAVE_NON_VIRTUAL_DTOR)
# Make sure all overridden methods are marked as override
ADD_CXX_COMPILER_FLAG_IF_AVAILABLE(-Wsuggest-override HAVE_SUGGEST_OVERRIDE)

## Avoid shadow variables which can be caused due to C code ported into C++
# Avoid shadow variables which can be caused due to C code ported into C++
ADD_CXX_COMPILER_FLAG_IF_AVAILABLE(-Wshadow HAVE_SHADOW)

# Set compiler flags for different build types.
Expand Down
4 changes: 2 additions & 2 deletions apps/gnb/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ add_executable(gnb
gnb_appconfig_translators.cpp
adapters/e1ap_gateway_local_connector.cpp
adapters/f1c_gateway_local_connector.cpp
adapters/f1c_gateway_remote_connector.cpp
adapters/e2_gateway_remote_connector.cpp
adapters/ngap_adapter.cpp
)
Expand Down Expand Up @@ -59,5 +60,4 @@ endif (DPDK_FOUND)

add_backward(gnb)

target_include_directories(gnb PRIVATE ${CMAKE_SOURCE_DIR})
include_directories(${CMAKE_SOURCE_DIR}/external)
target_include_directories(gnb PRIVATE ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/external)
Loading

0 comments on commit 2a7dec3

Please sign in to comment.