Skip to content

Commit

Permalink
Update main
Browse files Browse the repository at this point in the history
# Conflicts:
#	.gitlab-ci.yml
#	CMakeLists.txt
#	apps/units/o_cu_cp/o_cu_cp_commands.h
#	docker/grafana/provisioning/dashboards/dashboardReference.yml
#	docker/grafana/provisioning/datasources/InfluxDB.yml
#	docker/metrics_server/pyproject.toml
#	docker/scripts/build_dpdk.sh
#	docker/scripts/build_uhd.sh
#	docker/scripts/builder.sh
#	docker/scripts/install_dependencies.sh
#	docker/scripts/install_dpdk_dependencies.sh
#	docker/scripts/install_uhd_dependencies.sh
#	include/srsran/f1u/cu_up/f1u_bearer.h
#	include/srsran/f1u/cu_up/f1u_bearer_factory.h
#	include/srsran/f1u/cu_up/f1u_config.h
#	include/srsran/f1u/cu_up/f1u_rx_delivery_notifier.h
#	include/srsran/f1u/cu_up/f1u_rx_pdu_handler.h
#	include/srsran/f1u/cu_up/f1u_rx_sdu_notifier.h
#	include/srsran/f1u/cu_up/f1u_tx_pdu_notifier.h
#	include/srsran/f1u/cu_up/f1u_tx_sdu_handler.h
#	include/srsran/f1u/cu_up/split_connector/f1u_split_connector_factory.h
#	include/srsran/f1u/du/f1u_bearer.h
#	include/srsran/f1u/du/f1u_bearer_factory.h
#	include/srsran/f1u/du/f1u_config.h
#	include/srsran/f1u/du/f1u_rx_pdu_handler.h
#	include/srsran/f1u/du/f1u_rx_sdu_notifier.h
#	include/srsran/f1u/du/f1u_tx_delivery_handler.h
#	include/srsran/f1u/du/f1u_tx_pdu_notifier.h
#	include/srsran/f1u/du/f1u_tx_sdu_handler.h
#	include/srsran/f1u/du/split_connector/f1u_split_connector_factory.h
#	include/srsran/f1u/local_connector/f1u_local_connector.h
#	include/srsran/f1u/split_connector/f1u_five_qi_gw_maps.h
#	include/srsran/f1u/split_connector/f1u_session_manager_factory.h
#	include/srsran/security/ciphering.h
#	include/srsran/security/ciphering_engine.h
#	include/srsran/security/integrity.h
#	include/srsran/security/integrity_engine.h
#	include/srsran/security/s3g.h
#	include/srsran/security/security.h
#	include/srsran/security/security_engine.h
#	include/srsran/support/signal_handling.h
#	include/srsran/support/tsan_options.h
#	include/srsran/support/versioning/build_info.h
#	lib/f1u/cu_up/f1u_bearer_factory.cpp
#	lib/f1u/cu_up/f1u_bearer_impl.cpp
#	lib/f1u/cu_up/split_connector/f1u_split_connector.cpp
#	lib/f1u/cu_up/split_connector/f1u_split_connector.h
#	lib/f1u/cu_up/split_connector/f1u_split_connector_factory.cpp
#	lib/f1u/du/f1u_bearer_factory.cpp
#	lib/f1u/du/f1u_bearer_impl.cpp
#	lib/f1u/du/split_connector/f1u_split_connector.cpp
#	lib/f1u/du/split_connector/f1u_split_connector.h
#	lib/f1u/du/split_connector/f1u_split_connector_factory.cpp
#	lib/f1u/local_connector/f1u_local_connector.cpp
#	lib/f1u/split_connector/f1u_session_manager_factory.cpp
#	lib/phy/upper/channel_coding/short/CMakeLists.txt
#	lib/scheduler/policy/scheduler_time_qos.cpp
#	lib/scheduler/policy/scheduler_time_qos.h
#	lib/scheduler/policy/scheduler_time_rr.cpp
#	lib/scheduler/policy/scheduler_time_rr.h
#	lib/scheduler/policy/ue_allocator.h
#	lib/scheduler/support/dci_builder.cpp
#	lib/scheduler/support/dci_builder.h
#	lib/scheduler/support/sch_pdu_builder.cpp
#	lib/scheduler/support/sch_pdu_builder.h
#	lib/scheduler/ue_scheduling/ue_cell_grid_allocator.cpp
#	lib/scheduler/ue_scheduling/ue_cell_grid_allocator.h
#	lib/security/ciphering_engine_nea1.cpp
#	lib/security/ciphering_engine_nea1.h
#	lib/security/ciphering_engine_nea2.cpp
#	lib/security/ciphering_engine_nea2.h
#	lib/security/ciphering_engine_nea3.cpp
#	lib/security/ciphering_engine_nea3.h
#	lib/security/integrity_engine_generic.cpp
#	lib/security/integrity_engine_generic.h
#	lib/security/integrity_engine_nia2_cmac.cpp
#	lib/security/integrity_engine_nia2_cmac.h
#	lib/security/integrity_engine_nia2_non_cmac.cpp
#	lib/security/integrity_engine_nia2_non_cmac.h
#	lib/security/s3g.cpp
#	lib/security/security.cpp
#	lib/security/security_engine_impl.cpp
#	lib/security/security_engine_impl.h
#	lib/security/zuc.cpp
#	lib/support/signal_handling.cpp
#	lib/support/versioning/hashes.h.in
#	lib/support/versioning/version.cpp
#	tests/integrationtests/rlc/rlc_stress_test.cpp
#	tests/integrationtests/rlc/rlc_stress_test_mac.cpp
#	tests/integrationtests/rlc/rlc_stress_test_traffic.cpp
#	tests/unittests/cu_cp/cu_cp_nrppa_test.cpp
#	tests/unittests/fapi/builders/uci_indication_test.cpp
#	tests/unittests/fapi_adaptor/phy/messages/dl_pdcch_pdu_test.cpp
#	tests/unittests/fapi_adaptor/phy/messages/dl_pdsch_pdu_test.cpp
#	tests/unittests/phy/upper/signal_processors/dmrs_pusch_estimator_test_data.tar.gz
  • Loading branch information
codebot authored and asaezper committed Jan 29, 2025
2 parents 8c30b18 + 90ff365 commit de4477d
Show file tree
Hide file tree
Showing 566 changed files with 15,055 additions and 4,416 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ccpp.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright 2013-2024 Software Radio Systems Limited
# 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
Expand Down
21 changes: 13 additions & 8 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,8 @@ matlab weekly:
headers:
image: ubuntu
stage: static
variables:
GIT_LFS_SKIP_SMUDGE: 1
rules:
- if: $ON_MR
exists:
Expand Down Expand Up @@ -205,11 +207,12 @@ full-code-format:
ANALYZER: ""
ANALYZER_ARGS: ""
ARTIFACT_EXTRA_PATH: ""
KUBERNETES_CPU_REQUEST: 6
KUBERNETES_CPU_LIMIT: 6
KUBERNETES_MEMORY_REQUEST: 12Gi
KUBERNETES_MEMORY_LIMIT: 12Gi
KUBERNETES_CPU_REQUEST: ${SRS_CPU_LIMIT}
KUBERNETES_CPU_LIMIT: ${SRS_CPU_LIMIT}
KUBERNETES_MEMORY_REQUEST: ${SRS_MEMORY_LIMIT}
KUBERNETES_MEMORY_LIMIT: ${SRS_MEMORY_LIMIT}
CHECK_PER_FILE_TIMEOUT: 600
GIT_LFS_SKIP_SMUDGE: 1
before_script:
- |
echo "
Expand Down Expand Up @@ -308,10 +311,10 @@ clangsa:
# stage: static
# needs: []
# variables:
# KUBERNETES_CPU_REQUEST: 6
# KUBERNETES_CPU_LIMIT: 6
# KUBERNETES_MEMORY_REQUEST: 12Gi
# KUBERNETES_MEMORY_LIMIT: 12Gi
# KUBERNETES_CPU_REQUEST: ${SRS_CPU_LIMIT}
# KUBERNETES_CPU_LIMIT: ${SRS_CPU_LIMIT}
# KUBERNETES_MEMORY_REQUEST: ${SRS_MEMORY_LIMIT}
# KUBERNETES_MEMORY_LIMIT: ${SRS_MEMORY_LIMIT}
# tags:
# - amd64
# interruptible: false
Expand Down Expand Up @@ -372,6 +375,8 @@ unit coverage:
variables:
coverage_report: summary
when: always # Even if previous stages/required jobs fail
variables:
GIT_LFS_SKIP_SMUDGE: 1
before_script:
- 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
# Download coverage history from the registry
Expand Down
13 changes: 13 additions & 0 deletions .gitlab/ci-shared/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@

Artifact Transfer
------------------

There is an script that automates the compression and secure transfer of test artifacts generated during the testing process.

### Steps:

1. **Verify SSH Connection:** This checks if the SSH connection to the remote server is active before proceeding. If the connection fails, it exits to prevent errors.
2. **Prepare Artifacts:** Artifacts are gathered from the directory `${SRSRANDIR}/tests/e2e/log` and compressed into a single zip file. The file is named dynamically based on the job ID and context to ensure uniqueness.
3. **Transfer Artifacts:** The compressed file is transferred to the remote server using `scp`. The destination path is already configured.

You can find the code in Artifact transfer section
27 changes: 24 additions & 3 deletions .gitlab/ci-shared/e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ variables:

.load retina variables:
stage: ci
variables:
GIT_LFS_SKIP_SMUDGE: 1
retry: 2
script:
- cat ${SRSRANDIR}/.gitlab/ci/e2e/.env
artifacts:
Expand All @@ -50,6 +53,7 @@ variables:
variables: &setup_kube_variables
KUBECONFIG_VAR_NAME: "RETINA_NAMESPACE_KUBECONFIG"
KUBECONFIG_VAR_NAME_EXTRA: "RETINA_NAMESPACE_KUBECONFIG_EXTRA"
GIT_LFS_SKIP_SMUDGE: 1
before_script: &setup_kube_config
- |
export FORCE_COLOR=1
Expand All @@ -68,7 +72,7 @@ variables:
variables:
TRANSFER_METER_FREQUENCY: 5s
ARTIFACT_COMPRESSION_LEVEL: slowest
RUNNER_AFTER_SCRIPT_TIMEOUT: 1m
RUNNER_AFTER_SCRIPT_TIMEOUT: 20m
KUBERNETES_CPU_REQUEST: 1
KUBERNETES_CPU_LIMIT: 2
KUBERNETES_MEMORY_REQUEST: 2Gi
Expand Down Expand Up @@ -113,8 +117,8 @@ variables:
cat $RETINA_CONFIG_ENV >> .gitlab/ci/e2e/.env
# Modify request to shared the complete folder with the gnb container
- |
if [ "$CI_JOB_NAME_SLUG" != "smoke-zmq" ]; then
yq -i '(.[] | select(.type == "gnb") | .shared_files) += [{"local_path": "../../", "remote_path": env(SRSRANDIR), "is_executable": false}]' ${SRSRANDIR}/.gitlab/ci/e2e/retina_request_${TESTBED}.yml
if [ "$CI_JOB_NAME_SLUG" != "smoke-zmq" ] && [ "$TESTBED" != "zmq_deb" ]; then
yq -i '(.[] | select(.type == "gnb") | .shared_files) = [{"local_path": "../../", "remote_path": env(SRSRANDIR), "is_executable": false}]' ${SRSRANDIR}/.gitlab/ci/e2e/retina_request_${TESTBED}.yml
fi
# Set username for retina
- |
Expand Down Expand Up @@ -156,8 +160,25 @@ variables:
}
print_tree "${SRSRANDIR}/tests/e2e/log/" ""
- echo -e "\e[0Ksection_end:`date +%s`:e2e_folder_section\r\e[0K"
# Report link
- |
subpath=$(echo "$SRSRANDIR" | sed "s|^$CI_PROJECT_DIR||")
echo "*******************************************************************************************************************************"
echo "Test report ---> https://softwareradiosystems.gitlab.io/-/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts${subpath}/tests/e2e/log/report.html"
echo "*******************************************************************************************************************************"
# Artifact transfer
- |
# Saving artifacts to the FTP server
# Verify if SSH connection is active
if ! nc -z -v "$FTP_SERVER_IP" 22 >/dev/null 2>&1; then
echo "Error: SSH server ${FTP_SERVER_IP}:22 is not active or is not reachable."
exit 1
fi
artifacts_dir="${SRSRANDIR}/tests/e2e/log"
compressed_artifact="artifacts_${CI_JOB_NAME_SLUG}_${CI_JOB_ID}.zip"
remote_path="E:/artifacts/"
# Compress the artifacts
zip -q -r "${compressed_artifact}" "${artifacts_dir}"
# Send the artifacts to the server
sshpass -p "${SSH_PASS}" scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -P 22 "${compressed_artifact}" "${SSH_USER}@${FTP_SERVER_IP}:${remote_path}" >/dev/null 2>&1
echo "Artifacts saved at ${FTP_SERVER_IP}:${remote_path}/${compressed_artifact}"
48 changes: 43 additions & 5 deletions .gitlab/ci/build.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright 2013-2024 Software Radio Systems Limited
# 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
Expand Down Expand Up @@ -794,10 +794,10 @@ package:
variables: &package_variables
PROJECT_NAME: srsran-project
RELEASE_VERSION: "99.9"
KUBERNETES_CPU_REQUEST: 6
KUBERNETES_CPU_LIMIT: 6
KUBERNETES_MEMORY_REQUEST: 12Gi
KUBERNETES_MEMORY_LIMIT: 12Gi
KUBERNETES_CPU_REQUEST: ${SRS_CPU_LIMIT}
KUBERNETES_CPU_LIMIT: ${SRS_CPU_LIMIT}
KUBERNETES_MEMORY_REQUEST: ${SRS_MEMORY_LIMIT}
KUBERNETES_MEMORY_LIMIT: ${SRS_MEMORY_LIMIT}
DEB_BUILD_OPTIONS: parallel=${KUBERNETES_CPU_LIMIT}
MAKEFLAGS: -j${KUBERNETES_CPU_LIMIT}
extraopts: -DMARCH=x86-64-v3
Expand Down Expand Up @@ -1315,6 +1315,43 @@ ubuntu-24.04 amd64 native:
ENABLE_FFTW: "False"
ENABLE_MKL: "True"

ubuntu-24.04 amd64 avx:
extends: .build_and_unit
rules:
- if: $CI_DESCRIPTION =~ /Weekly/
when: delayed
start_in: 400 minutes
interruptible: false
variables:
OS: ubuntu-24.04
MARCH: x86-64-v2
INFRASTRUCTURE_TAG: amd64
parallel:
matrix:
- <<: *basic_combinations
- <<: *basic_combinations
ENABLE_FFTW: "False"
ENABLE_MKL: "True"

ubuntu-24.04 amd64 avx512 TRACE:
extends: .build_and_unit
rules:
- if: $CI_DESCRIPTION =~ /Weekly/
when: delayed
start_in: 400 minutes
interruptible: false
variables:
OS: ubuntu-24.04
MARCH: x86-64-v4
INFRASTRUCTURE_TAG: amd64-avx2-avx512
BUILD_ARGS: -DCMAKE_CXX_FLAGS="-D SRSRAN_L2_TRACE -D SRSRAN_L1_TRACE -D SRSRAN_L2_LATE_TRACE -D SRSRAN_OFH_TRACE -D SRSRAN_UP_TRACE"
parallel:
matrix:
- <<: *basic_combinations
- <<: *basic_combinations
ENABLE_FFTW: "False"
ENABLE_MKL: "True"

ubuntu-24.04 arm native:
extends: .build_and_unit
rules:
Expand Down Expand Up @@ -1614,6 +1651,7 @@ basic tsan:
TEST_MODE: none
MARCH: x86-64-v3
INFRASTRUCTURE_TAG: amd64-avx2
BUILD_ARGS: -DEXIT_TIMEOUT=15
after_script:
- *build_after_script
artifacts:
Expand Down
20 changes: 11 additions & 9 deletions .gitlab/ci/builders.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright 2013-2024 Software Radio Systems Limited
# 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
Expand Down Expand Up @@ -41,6 +41,7 @@ tox python in builder:
- .gitlab/ci/builders/**/*.py
variables:
PY_DIR: .gitlab/ci/builders
GIT_LFS_SKIP_SMUDGE: 1

################################################################################
# UHD builder
Expand All @@ -56,10 +57,10 @@ tox python in builder:
uhd_version: ""
target_arch: ""
GIT_STRATEGY: none
KUBERNETES_CPU_REQUEST: 4
KUBERNETES_CPU_LIMIT: 4
KUBERNETES_MEMORY_REQUEST: 7Gi
KUBERNETES_MEMORY_LIMIT: 7Gi
KUBERNETES_CPU_REQUEST: ${SRS_CPU_LIMIT}
KUBERNETES_CPU_LIMIT: ${SRS_CPU_LIMIT}
KUBERNETES_MEMORY_REQUEST: ${SRS_MEMORY_LIMIT}
KUBERNETES_MEMORY_LIMIT: ${SRS_MEMORY_LIMIT}
before_script:
- TZ=Europe/Madrid && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

Expand Down Expand Up @@ -147,10 +148,10 @@ ubuntu-uhd-builder arm64:
extra_arch_name: ""
target_arch: ""
GIT_STRATEGY: none
KUBERNETES_CPU_REQUEST: 6
KUBERNETES_CPU_LIMIT: 6
KUBERNETES_MEMORY_REQUEST: 12Gi
KUBERNETES_MEMORY_LIMIT: 12Gi
KUBERNETES_CPU_REQUEST: ${SRS_CPU_LIMIT}
KUBERNETES_CPU_LIMIT: ${SRS_CPU_LIMIT}
KUBERNETES_MEMORY_REQUEST: ${SRS_MEMORY_LIMIT}
KUBERNETES_MEMORY_LIMIT: ${SRS_MEMORY_LIMIT}
before_script:
- TZ=Europe/Madrid && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

Expand Down Expand Up @@ -269,6 +270,7 @@ ubuntu-dpdk-builder arm64:
extends: .docker-builder
stage: publish
variables:
GIT_LFS_SKIP_SMUDGE: 1
OS_FAMILY: none
OS_NAME: none
OS_VERSION: none
Expand Down
2 changes: 1 addition & 1 deletion .gitlab/ci/builders/archlinux/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright 2013-2024 Software Radio Systems Limited
# 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
Expand Down
2 changes: 1 addition & 1 deletion .gitlab/ci/builders/changed_tests.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env python3
#
# Copyright 2013-2024 Software Radio Systems Limited
# 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
Expand Down
2 changes: 1 addition & 1 deletion .gitlab/ci/builders/codechecker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright 2013-2024 Software Radio Systems Limited
# 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
Expand Down
2 changes: 1 addition & 1 deletion .gitlab/ci/builders/debian/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright 2013-2024 Software Radio Systems Limited
# 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
Expand Down
2 changes: 1 addition & 1 deletion .gitlab/ci/builders/fedora/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright 2013-2024 Software Radio Systems Limited
# 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
Expand Down
2 changes: 1 addition & 1 deletion .gitlab/ci/builders/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright 2021-2024 Software Radio Systems Limited
# Copyright 2021-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
Expand Down
2 changes: 1 addition & 1 deletion .gitlab/ci/builders/ram_reporter.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright 2013-2024 Software Radio Systems Limited
# 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
Expand Down
2 changes: 1 addition & 1 deletion .gitlab/ci/builders/rhel/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright 2013-2024 Software Radio Systems Limited
# 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
Expand Down
5 changes: 4 additions & 1 deletion .gitlab/ci/builders/version.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#
# Copyright 2013-2024 Software Radio Systems Limited
# 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
Expand All @@ -9,6 +9,9 @@
.builder version:
stage: ci
image: ubuntu:22.04
variables:
GIT_LFS_SKIP_SMUDGE: 1
retry: 2
script:
- |
hash_multiple() {
Expand Down
Loading

0 comments on commit de4477d

Please sign in to comment.