Skip to content

Commit

Permalink
Update main
Browse files Browse the repository at this point in the history
# Conflicts:
#	include/srsran/ran/nr_cgi_helpers.h
#	tests/unittests/phy/lower/modulation/ofdm_modulator_test_data.tar.gz
#	tests/unittests/phy/upper/channel_processors/pusch/pusch_demodulator_test_data.tar.gz
#	tests/unittests/phy/upper/equalization/channel_equalizer_test_data.tar.gz
#	tests/unittests/phy/upper/signal_processors/dmrs_pusch_estimator_test_data.tar.gz
#	tests/unittests/phy/upper/signal_processors/nzp_csi_rs_generator_test_data.tar.gz
#	tests/unittests/phy/upper/signal_processors/port_channel_estimator_test_data.tar.gz
#	tests/unittests/ran/bcd_helpers_test.cpp
#	tests/unittests/ran/nr_cgi_helpers_test.cpp
  • Loading branch information
codebot committed Jul 2, 2024
2 parents a804c5b + d8c4e70 commit 4cf7513
Show file tree
Hide file tree
Showing 485 changed files with 9,403 additions and 3,914 deletions.
119 changes: 119 additions & 0 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
name: Docker Builder
on:
push:
branches:
- main
- test
release:
types: [published]

jobs:
docker:
runs-on: ubuntu-latest
strategy:
matrix:
include:
# --> split72
# AMD AVX2
- SUFFIX: release_avx2
SPLIT: "split72"
EXTRA_CMAKE_ARGS: -DAUTO_DETECT_ISA=Off
ARCH: x86-64-v3
TAG: amd64-avx2
PLATFORM: amd64
LIB: dpdk
LIB_VERSION: "23.11"
- SUFFIX: release_with_debug_avx2
SPLIT: "split72"
EXTRA_CMAKE_ARGS: -DAUTO_DETECT_ISA=Off -DFORCE_DEBUG_INFO=On
ARCH: x86-64-v3
TAG: amd64-avx2
PLATFORM: amd64
LIB: dpdk
LIB_VERSION: "23.11"
# AMD AVX512
- SUFFIX: release_avx512
SPLIT: "split72"
EXTRA_CMAKE_ARGS: -DAUTO_DETECT_ISA=Off
ARCH: x86-64-v4
TAG: amd64-avx2-avx512
PLATFORM: amd64
LIB: dpdk
LIB_VERSION: "23.11"
- SUFFIX: release_with_debug_avx512
SPLIT: "split72"
EXTRA_CMAKE_ARGS: -DAUTO_DETECT_ISA=Off -DFORCE_DEBUG_INFO=On
ARCH: x86-64-v4
TAG: amd64-avx2-avx512
PLATFORM: amd64
LIB: dpdk
LIB_VERSION: "23.11"
# --> split8
# AMD AVX2
- SUFFIX: release_avx2
SPLIT: "split8"
EXTRA_CMAKE_ARGS: -DAUTO_DETECT_ISA=Off
ARCH: x86-64-v3
TAG: amd64-avx2
PLATFORM: amd64
LIB: uhd
LIB_VERSION: "4.6.0.0"
- SUFFIX: release_with_debug_avx2
SPLIT: "split8"
EXTRA_CMAKE_ARGS: -DAUTO_DETECT_ISA=Off -DFORCE_DEBUG_INFO=On
ARCH: x86-64-v3
TAG: amd64-avx2
PLATFORM: amd64
LIB: uhd
LIB_VERSION: "4.6.0.0"
env:
NAME: srsran_${{ matrix.SPLIT }}_${{ matrix.SUFFIX }}
environment: dockerhub
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Determine tags based on branch
id: tags
run: |
BRANCH_NAME="${GITHUB_REF#refs/heads/}"
DATE_TAG="${GITHUB_SHA:0:10}-$(date +'%Y-%m-%d')"
RELEASE_NAME="${{ github.event.release.name }}"
if [ -n "$RELEASE_NAME" ]; then
tags="${{ env.NAME }}:${DATE_TAG},${{ env.NAME }}:${RELEASE_NAME}"
else
if [ "$BRANCH_NAME" == "main" ]; then
tags="${{ env.NAME }}:${DATE_TAG},${{ env.NAME }}:latest"
elif [ "$BRANCH_NAME" == "test" ]; then
tags="${{ env.NAME }}:${DATE_TAG},${{ env.NAME }}:next"
fi
fi
echo "tags=$tags" >> $GITHUB_OUTPUT
- name: Login to Docker Hub
uses: docker/login-action@v3.2.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
logout: true
ecr: false

- name: Build and push
uses: docker/build-push-action@v6
with:
push: true
tags: ${{ steps.tags.outputs.tags }}
file: ./docker/Dockerfile
platforms: ${{ matrix.PLATFORM }}
build-args: |
NAME="srsran_${SPLIT}_${SUFFIX}"
LIB=${{ matrix.LIB }}
LIB_VERSION=${{ matrix.LIB_VERSION }}
ARCH=${{ matrix.ARCH }}
4 changes: 2 additions & 2 deletions .gitlab/ci/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ variables:
valgrind)
G_DEBUG=gc-friendly G_SLICE=always-malloc
# Default timeout per test is 1500 (25 min)
export CTEST_TIMEOUT=2700
export CTEST_TIMEOUT=3600
export CTEST_TEST_TIMEOUT=${CTEST_TIMEOUT}
ctest_extra="-T memcheck -LE NO_MEMCHECK --timeout ${CTEST_TIMEOUT}"
;;
Expand Down Expand Up @@ -1334,7 +1334,7 @@ debian 11 amd64 avx512:
COMPILER: clang
ENABLE_ASAN: "True"
TEST_MODE: default
- OS: [ubuntu-24.04, ubuntu-23.10, ubuntu-22.04]
- OS: [ubuntu-24.04]
SANITIZER: valgrind
COMPILER: gcc
TEST_MODE: valgrind
Expand Down
46 changes: 34 additions & 12 deletions .gitlab/ci/e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -147,17 +147,19 @@ e2e request and config validation:
echo "srsGNB sources+build size is" $(du -hs .)
# Remove any existing retina resource for this group
- retina-delete-orchestration-network --user-name ^ci_${GROUP} --regex
# Add extra secret env variables to the .env file
# Add extra config env variables to the .env file
- |
echo "" >> .gitlab/ci/e2e/.env
cat $RETINA_SECRET_ENV >> .gitlab/ci/e2e/.env
cat $RETINA_CONFIG_ENV >> .gitlab/ci/e2e/.env
echo -e "\nGNB_BINARY_PATH=../../" >> .gitlab/ci/e2e/.env
echo -e "\nGNB_REMOTE_PATH=$CI_PROJECT_DIR" >> .gitlab/ci/e2e/.env
echo -e "\nis_executable=false" >> .gitlab/ci/e2e/.env
# Set username for retina
- |
cd tests/e2e
export LOGNAME=ci_${GROUP}_${GITLAB_USER_LOGIN}
# Change sharing gnb file for complete src + build (With gnb) folder
- |
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_LAUNCHER_ARGS} --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_PARAM_ARGS}"
Expand Down Expand Up @@ -282,6 +284,33 @@ amari 4UE deb:
- *txrx-lib
- *retina-needs

amari 8UE:
extends: .zmq
variables:
MARKERS: "zmq and not smoke"
E2E_LOG_LEVEL: "info"
RETINA_PARAM_ARGS: "gnb.all.pcap=True gnb.all.rlc_enable=False gnb.all.enable_integrity_protection=True"
needs:
- job: "basic relwithdeb"
artifacts: true
- *txrx-lib
- *retina-needs
parallel:
matrix:
- KEYWORDS:
["reestablishment and sequentially", "handover and sequentially"]

amari 8UE beta:
extends: amari 8UE
parallel:
matrix:
- KEYWORDS:
[
"reestablishment and not sequentially",
"handover and not sequentially",
]
allow_failure: true

amari 32UE:
extends: .zmq
variables:
Expand All @@ -305,13 +334,6 @@ amari 32UE:
"iperf and tcp and not band:3",
]

amari 8UE beta:
extends: amari 32UE
parallel:
matrix:
- KEYWORDS: ["reestablishment", "handover"]
allow_failure: true

amari 32UE asan:
extends: .zmq
variables:
Expand Down
8 changes: 6 additions & 2 deletions .gitlab/ci/e2e/.env
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
GNB_REMOTE_PATH=/usr/local/bin/gnb
GNB_IS_EXECUTABLE=true
SRSGNB_REGISTRY_URI=registry.gitlab.com/softwareradiosystems/srsgnb
RETINA_REGISTRY_PREFIX=registry.gitlab.com/softwareradiosystems/ci/retina
RETINA_VERSION=0.49.18
RETINA_VERSION=0.50.4
UBUNTU_VERSION=24.04
AMARISOFT_VERSION=2023-09-08
SRSUE_VERSION=23.11
OPEN5GS_VERSION=2.7.0
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
METRICS_SERVER_VERSION=1.7.2
METRICS_SERVER_VERSION=1.7.3
DPDK_VERSION=23.11
ZMQ_HOSTLABEL_0=kubernetes.io/hostname=k8s-worker-vm2
ZMQ_HOSTLABEL_1=kubernetes.io/hostname=k8s-worker-vm2
AMARISOFT_TXRX_BINARY_PATH=../../build_trx_srsran/libtrx_srsran.so
GNB_BINARY_PATH=../../build/apps/gnb/gnb
6 changes: 3 additions & 3 deletions .gitlab/ci/e2e/retina_request_android_b200.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@
environment:
- PATH: ${PATH}:/builds/softwareradiosystems/srsgnb/build/apps/gnb
shared_files:
- local_path: ../../build/apps/gnb/gnb
remote_path: /usr/local/bin
is_executable: true
- local_path: ${GNB_BINARY_PATH}
remote_path: ${GNB_REMOTE_PATH}
is_executable: ${GNB_IS_EXECUTABLE}

- name: open5gs
type: 5gc
Expand Down
10 changes: 5 additions & 5 deletions .gitlab/ci/e2e/retina_request_android_n300.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@
requirements:
arch: amd64
cpu:
requests: 14
limits: 14
requests: 12
limits: 12
memory:
requests: "20G"
limits: "20G"
Expand All @@ -45,9 +45,9 @@
environment:
- PATH: ${PATH}:/builds/softwareradiosystems/srsgnb/build/apps/gnb
shared_files:
- local_path: ../../build/apps/gnb/gnb
remote_path: /usr/local/bin
is_executable: true
- local_path: ${GNB_BINARY_PATH}
remote_path: ${GNB_REMOTE_PATH}
is_executable: ${GNB_IS_EXECUTABLE}

- name: open5gs
type: 5gc
Expand Down
10 changes: 5 additions & 5 deletions .gitlab/ci/e2e/retina_request_android_x300.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@
requirements:
arch: amd64
cpu:
requests: 14
limits: 14
requests: 12
limits: 12
memory:
requests: "20G"
limits: "20G"
Expand All @@ -45,9 +45,9 @@
environment:
- PATH: ${PATH}:/builds/softwareradiosystems/srsgnb/build/apps/gnb
shared_files:
- local_path: ../../build/apps/gnb/gnb
remote_path: /usr/local/bin
is_executable: true
- local_path: ${GNB_BINARY_PATH}
remote_path: ${GNB_REMOTE_PATH}
is_executable: ${GNB_IS_EXECUTABLE}

- name: open5gs
type: 5gc
Expand Down
10 changes: 5 additions & 5 deletions .gitlab/ci/e2e/retina_request_rf_b200.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@
requirements:
arch: amd64
cpu:
requests: 14
limits: 14
requests: 12
limits: 12
memory:
requests: "20G"
limits: "20G"
Expand All @@ -49,9 +49,9 @@
environment:
- PATH: ${PATH}:/builds/softwareradiosystems/srsgnb/build/apps/gnb
shared_files:
- local_path: ../../build/apps/gnb/gnb
remote_path: /usr/local/bin
is_executable: true
- local_path: ${GNB_BINARY_PATH}
remote_path: ${GNB_REMOTE_PATH}
is_executable: ${GNB_IS_EXECUTABLE}

- name: open5gs
type: 5gc
Expand Down
6 changes: 3 additions & 3 deletions .gitlab/ci/e2e/retina_request_test_mode.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@
environment:
- PATH: ${PATH}:/builds/softwareradiosystems/srsgnb/build/apps/gnb
shared_files:
- local_path: ../../build/apps/gnb/gnb
remote_path: /usr/local/bin
is_executable: true
- local_path: ${GNB_BINARY_PATH}
remote_path: ${GNB_REMOTE_PATH}
is_executable: ${GNB_IS_EXECUTABLE}

- name: open5gs
type: 5gc
Expand Down
6 changes: 3 additions & 3 deletions .gitlab/ci/e2e/retina_request_viavi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@
- PATH: ${PATH}:/builds/softwareradiosystems/srsgnb/build/apps/gnb
- LD_LIBRARY_PATH: /opt/dpdk/${DPDK_VERSION}/lib/x86_64-linux-gnu/
shared_files:
- local_path: ../../build/apps/gnb/gnb
remote_path: /usr/local/bin
is_executable: true
- local_path: ${GNB_BINARY_PATH}
remote_path: ${GNB_REMOTE_PATH}
is_executable: ${GNB_IS_EXECUTABLE}

- name: metrics-server
type: generic
Expand Down
8 changes: 4 additions & 4 deletions .gitlab/ci/e2e/retina_request_zmq.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
- type: license
model: amarisoft-5g
shared_files:
- local_path: ../../build_trx_srsran/libtrx_srsran.so
- local_path: ${AMARISOFT_TXRX_BINARY_PATH}
remote_path: /opt/lteue/trx_srsran.so
is_executable: true

Expand All @@ -53,9 +53,9 @@
environment:
- PATH: ${PATH}:/builds/softwareradiosystems/srsgnb/build/apps/gnb
shared_files:
- local_path: ../../build/apps/gnb/gnb
remote_path: /usr/local/bin
is_executable: true
- local_path: ${GNB_BINARY_PATH}
remote_path: ${GNB_REMOTE_PATH}
is_executable: ${GNB_IS_EXECUTABLE}

- name: open5gs
type: 5gc
Expand Down
8 changes: 4 additions & 4 deletions .gitlab/ci/e2e/retina_request_zmq_4x4_mimo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
- type: license
model: amarisoft-5g
shared_files:
- local_path: ../../build_trx_srsran/libtrx_srsran.so
- local_path: ${AMARISOFT_TXRX_BINARY_PATH}
remote_path: /opt/lteue/trx_srsran.so
is_executable: true

Expand All @@ -56,9 +56,9 @@
environment:
- PATH: ${PATH}:/builds/softwareradiosystems/srsgnb/build/apps/gnb
shared_files:
- local_path: ../../build/apps/gnb/gnb
remote_path: /usr/local/bin
is_executable: true
- local_path: ${GNB_BINARY_PATH}
remote_path: ${GNB_REMOTE_PATH}
is_executable: ${GNB_IS_EXECUTABLE}

- name: open5gs
type: 5gc
Expand Down
2 changes: 1 addition & 1 deletion .gitlab/ci/e2e/retina_request_zmq_deb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
- type: license
model: amarisoft-5g
shared_files:
- local_path: ../../build_trx_srsran/libtrx_srsran.so
- local_path: ${AMARISOFT_TXRX_BINARY_PATH}
remote_path: /opt/lteue/trx_srsran.so
is_executable: true

Expand Down
Loading

0 comments on commit 4cf7513

Please sign in to comment.