Merge branch 'nr-ue-ci' into 'develop'
Add a new CI label: nrUE Added handling of the nrUE label which limits the amount of CI tests to run. Only tests that use nr-uesoftmodem or phy simulators are triggered. See merge request oai/openairinterface5g!3306
This commit is contained in:
@@ -27,6 +27,7 @@ def nodeExecutor = params.nodeExecutor
|
|||||||
def doBuild = true
|
def doBuild = true
|
||||||
def do4Gtest = false
|
def do4Gtest = false
|
||||||
def do5Gtest = false
|
def do5Gtest = false
|
||||||
|
def do5GUeTest = false
|
||||||
|
|
||||||
//
|
//
|
||||||
def gitCommitAuthorEmailAddr
|
def gitCommitAuthorEmailAddr
|
||||||
@@ -65,16 +66,23 @@ pipeline {
|
|||||||
message += " - ~4G-LTE (perform 4G tests)\n"
|
message += " - ~4G-LTE (perform 4G tests)\n"
|
||||||
message += " - ~5G-NR (perform 5G tests)\n"
|
message += " - ~5G-NR (perform 5G tests)\n"
|
||||||
message += " - ~CI (perform both 4G and 5G tests)\n\n"
|
message += " - ~CI (perform both 4G and 5G tests)\n\n"
|
||||||
|
message += " - ~nrUE (perform only 5G-UE related tests including physims excluding LDPC tests)\n"
|
||||||
message += "Not performing CI due to lack of labels"
|
message += "Not performing CI due to lack of labels"
|
||||||
addGitLabMRComment comment: message
|
addGitLabMRComment comment: message
|
||||||
error('Not performing CI due to lack of labels')
|
error('Not performing CI due to lack of labels')
|
||||||
} else if (LABEL_CHECK == 'FULL') {
|
} else if (LABEL_CHECK == 'FULL') {
|
||||||
do4Gtest = true
|
do4Gtest = true
|
||||||
do5Gtest = true
|
do5Gtest = true
|
||||||
|
do5GUeTest = true
|
||||||
} else if (LABEL_CHECK == "SHORTEN-4G") {
|
} else if (LABEL_CHECK == "SHORTEN-4G") {
|
||||||
do4Gtest = true
|
do4Gtest = true
|
||||||
} else if (LABEL_CHECK == 'SHORTEN-5G') {
|
} else if (LABEL_CHECK == 'SHORTEN-5G') {
|
||||||
do5Gtest = true
|
do5Gtest = true
|
||||||
|
} else if (LABEL_CHECK == 'SHORTEN-5G-UE') {
|
||||||
|
do5GUeTest = true
|
||||||
|
} else if (LABEL_CHECK == 'SHORTEN-4G-5G-UE') {
|
||||||
|
do4Gtest = true
|
||||||
|
do5GUeTest = true
|
||||||
} else if (LABEL_CHECK == 'documentation') {
|
} else if (LABEL_CHECK == 'documentation') {
|
||||||
doBuild = false
|
doBuild = false
|
||||||
} else {
|
} else {
|
||||||
@@ -217,7 +225,7 @@ pipeline {
|
|||||||
when { expression {doBuild} }
|
when { expression {doBuild} }
|
||||||
parallel {
|
parallel {
|
||||||
stage ("PhySim-Cluster") {
|
stage ("PhySim-Cluster") {
|
||||||
when { expression {do4Gtest || do5Gtest} }
|
when { expression {do4Gtest || do5Gtest || do5GUeTest} }
|
||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
triggerSlaveJob ('RAN-PhySim-Cluster', 'PhySim-Cluster')
|
triggerSlaveJob ('RAN-PhySim-Cluster', 'PhySim-Cluster')
|
||||||
@@ -263,7 +271,7 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
stage ("RF-Sim-Test-5G") {
|
stage ("RF-Sim-Test-5G") {
|
||||||
when { expression {do5Gtest} }
|
when { expression {do5Gtest || do5GUeTest} }
|
||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
triggerSlaveJob ('RAN-RF-Sim-Test-5G', 'RF-Sim-Test-5G')
|
triggerSlaveJob ('RAN-RF-Sim-Test-5G', 'RF-Sim-Test-5G')
|
||||||
@@ -286,7 +294,7 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
stage ("OAI-FLEXRIC-RAN-Integration-Test") {
|
stage ("OAI-FLEXRIC-RAN-Integration-Test") {
|
||||||
when { expression {do5Gtest} }
|
when { expression {do5Gtest || do5GUeTest} }
|
||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
triggerSlaveJob ('OAI-FLEXRIC-RAN-Integration-Test', 'OAI-FLEXRIC-RAN-Integration-Test')
|
triggerSlaveJob ('OAI-FLEXRIC-RAN-Integration-Test', 'OAI-FLEXRIC-RAN-Integration-Test')
|
||||||
@@ -609,7 +617,7 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
stage ("SA-OAIUE-CN5G") {
|
stage ("SA-OAIUE-CN5G") {
|
||||||
when { expression {do5Gtest} }
|
when { expression {do5Gtest || do5GUeTest} }
|
||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
triggerSlaveJob ('RAN-SA-OAIUE-CN5G', 'SA-OAIUE-CN5G')
|
triggerSlaveJob ('RAN-SA-OAIUE-CN5G', 'SA-OAIUE-CN5G')
|
||||||
|
|||||||
@@ -78,9 +78,10 @@ IS_MR_BUILD_ONLY=`echo $LABELS | grep -c BUILD-ONLY`
|
|||||||
IS_MR_CI=`echo $LABELS | grep -c CI`
|
IS_MR_CI=`echo $LABELS | grep -c CI`
|
||||||
IS_MR_4G=`echo $LABELS | grep -c 4G-LTE`
|
IS_MR_4G=`echo $LABELS | grep -c 4G-LTE`
|
||||||
IS_MR_5G=`echo $LABELS | grep -c 5G-NR`
|
IS_MR_5G=`echo $LABELS | grep -c 5G-NR`
|
||||||
|
IS_MR_5G_UE=`echo $LABELS | grep -c nrUE`
|
||||||
|
|
||||||
# none is present! No CI
|
# none is present! No CI
|
||||||
if [ $IS_MR_BUILD_ONLY -eq 0 ] && [ $IS_MR_CI -eq 0 ] && [ $IS_MR_4G -eq 0 ] && [ $IS_MR_5G -eq 0 ] && [ $IS_MR_DOCUMENTATION -eq 0 ]
|
if [ $IS_MR_BUILD_ONLY -eq 0 ] && [ $IS_MR_CI -eq 0 ] && [ $IS_MR_4G -eq 0 ] && [ $IS_MR_5G -eq 0 ] && [ $IS_MR_DOCUMENTATION -eq 0 ] && [ $IS_MR_5G_UE -eq 0 ]
|
||||||
then
|
then
|
||||||
echo "NONE"
|
echo "NONE"
|
||||||
exit 0
|
exit 0
|
||||||
@@ -93,6 +94,12 @@ then
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ $IS_MR_5G_UE -eq 1 ] && [ $IS_MR_4G -eq 1 ]
|
||||||
|
then
|
||||||
|
echo "SHORTEN-4G-5G-UE"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
# 4G is present: run only 4G
|
# 4G is present: run only 4G
|
||||||
if [ $IS_MR_4G -eq 1 ]
|
if [ $IS_MR_4G -eq 1 ]
|
||||||
then
|
then
|
||||||
@@ -107,6 +114,12 @@ then
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ $IS_MR_5G_UE -eq 1 ]
|
||||||
|
then
|
||||||
|
echo "SHORTEN-5G-UE"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
# BUILD-ONLY is present: only build stages
|
# BUILD-ONLY is present: only build stages
|
||||||
if [ $IS_MR_BUILD_ONLY -eq 1 ]
|
if [ $IS_MR_BUILD_ONLY -eq 1 ]
|
||||||
then
|
then
|
||||||
|
|||||||
+9
-9
@@ -78,7 +78,7 @@ Note: The available resources, and their current usage, is indicated here:
|
|||||||
### [RAN-Container-Parent](https://jenkins-oai.eurecom.fr/job/RAN-Container-Parent/)
|
### [RAN-Container-Parent](https://jenkins-oai.eurecom.fr/job/RAN-Container-Parent/)
|
||||||
|
|
||||||
**Purpose**: automatically triggered tests on MR creation or push, from Gitlab
|
**Purpose**: automatically triggered tests on MR creation or push, from Gitlab
|
||||||
Webhook ~documentation ~BUILD-ONLY ~4G-LTE ~5G-NR
|
Webhook ~documentation ~BUILD-ONLY ~4G-LTE ~5G-NR ~nrUE
|
||||||
|
|
||||||
This pipeline has basically two main stages, as follows. For the image build,
|
This pipeline has basically two main stages, as follows. For the image build,
|
||||||
please also refer to the [dedicated documentation](../docker/README.md) for
|
please also refer to the [dedicated documentation](../docker/README.md) for
|
||||||
@@ -87,16 +87,16 @@ information on how the images are built.
|
|||||||
#### Image Build pipelines
|
#### Image Build pipelines
|
||||||
|
|
||||||
- [RAN-ARM-Cross-Compile-Builder](https://jenkins-oai.eurecom.fr/job/RAN-ARM-Cross-Compile-Builder/)
|
- [RAN-ARM-Cross-Compile-Builder](https://jenkins-oai.eurecom.fr/job/RAN-ARM-Cross-Compile-Builder/)
|
||||||
~BUILD-ONLY ~4G-LTE ~5G-NR
|
~BUILD-ONLY ~4G-LTE ~5G-NR ~nrUE
|
||||||
- orion: Cross-compilation from Intel to ARM
|
- orion: Cross-compilation from Intel to ARM
|
||||||
- base image from `Dockerfile.base.ubuntu22.cross-arm64`
|
- base image from `Dockerfile.base.ubuntu22.cross-arm64`
|
||||||
- build image from `Dockerfile.build.ubuntu22.cross-arm64` (no target images)
|
- build image from `Dockerfile.build.ubuntu22.cross-arm64` (no target images)
|
||||||
- [RAN-cppcheck](https://jenkins-oai.eurecom.fr/job/RAN-cppcheck/)
|
- [RAN-cppcheck](https://jenkins-oai.eurecom.fr/job/RAN-cppcheck/)
|
||||||
~BUILD-ONLY ~4G-LTE ~5G-NR
|
~BUILD-ONLY ~4G-LTE ~5G-NR ~nrUE
|
||||||
- bellatrix
|
- bellatrix
|
||||||
- performs static code analysis, currently not actively enforced
|
- performs static code analysis, currently not actively enforced
|
||||||
- [RAN-RHEL8-Cluster-Image-Builder](https://jenkins-oai.eurecom.fr/job/RAN-RHEL8-Cluster-Image-Builder/)
|
- [RAN-RHEL8-Cluster-Image-Builder](https://jenkins-oai.eurecom.fr/job/RAN-RHEL8-Cluster-Image-Builder/)
|
||||||
~BUILD-ONLY ~4G-LTE ~5G-NR
|
~BUILD-ONLY ~4G-LTE ~5G-NR ~nrUE
|
||||||
- cluster (`Asterix-OC-oaicicd-session` resource): RHEL image build using the OpenShift Cluster (using gcc/clang)
|
- cluster (`Asterix-OC-oaicicd-session` resource): RHEL image build using the OpenShift Cluster (using gcc/clang)
|
||||||
- base image from `Dockerfile.build.rhel9`
|
- base image from `Dockerfile.build.rhel9`
|
||||||
- build image from `Dockerfile.build.rhel9`, followed by
|
- build image from `Dockerfile.build.rhel9`, followed by
|
||||||
@@ -110,7 +110,7 @@ information on how the images are built.
|
|||||||
image)
|
image)
|
||||||
- build image from `Dockerfile.clang.rhel9` (compilation only, artifacts not used currently)
|
- build image from `Dockerfile.clang.rhel9` (compilation only, artifacts not used currently)
|
||||||
- [RAN-Ubuntu18-Image-Builder](https://jenkins-oai.eurecom.fr/job/RAN-Ubuntu18-Image-Builder/)
|
- [RAN-Ubuntu18-Image-Builder](https://jenkins-oai.eurecom.fr/job/RAN-Ubuntu18-Image-Builder/)
|
||||||
~BUILD-ONLY ~4G-LTE ~5G-NR
|
~BUILD-ONLY ~4G-LTE ~5G-NR ~nrUE
|
||||||
- run formatting check from `ci-scripts/docker/Dockerfile.formatting.bionic`
|
- run formatting check from `ci-scripts/docker/Dockerfile.formatting.bionic`
|
||||||
- obelix: Ubuntu 22 image build using docker (Note: builds U22 images while pipeline is named U18!)
|
- obelix: Ubuntu 22 image build using docker (Note: builds U22 images while pipeline is named U18!)
|
||||||
- base image from `Dockerfile.base.ubuntu22`
|
- base image from `Dockerfile.base.ubuntu22`
|
||||||
@@ -128,7 +128,7 @@ information on how the images are built.
|
|||||||
- [OAI-CN5G-COTS-UE-Test](https://jenkins-oai.eurecom.fr/job/OAI-CN5G-COTS-UE-Test/)
|
- [OAI-CN5G-COTS-UE-Test](https://jenkins-oai.eurecom.fr/job/OAI-CN5G-COTS-UE-Test/)
|
||||||
~5G-NR
|
~5G-NR
|
||||||
- using 5GC bench (resources `CI-Cetautomatix-OC-oaicicd-session`, `CI-Dogmatix-CN5G-gNB`): Attach/Detach of UE with multiple PDU sessions
|
- using 5GC bench (resources `CI-Cetautomatix-OC-oaicicd-session`, `CI-Dogmatix-CN5G-gNB`): Attach/Detach of UE with multiple PDU sessions
|
||||||
- [OAI-FLEXRIC-RAN-Integration-Test](https://jenkins-oai.eurecom.fr/job/OAI-FLEXRIC-RAN-Integration-Test/) ~5G-NR
|
- [OAI-FLEXRIC-RAN-Integration-Test](https://jenkins-oai.eurecom.fr/job/OAI-FLEXRIC-RAN-Integration-Test/) ~5G-NR ~nrUE
|
||||||
- selfix (gNB, nrUE, OAI 5GC, FlexRIC)
|
- selfix (gNB, nrUE, OAI 5GC, FlexRIC)
|
||||||
- uses RFsimulator, tests FlexRIC/E2 interface and xApps
|
- uses RFsimulator, tests FlexRIC/E2 interface and xApps
|
||||||
- [RAN-gNB-N300-Timing-Phytest-LDPC](https://jenkins-oai.eurecom.fr/view/RAN/job/RAN-gNB-N300-Timing-Phytest-LDPC/)
|
- [RAN-gNB-N300-Timing-Phytest-LDPC](https://jenkins-oai.eurecom.fr/view/RAN/job/RAN-gNB-N300-Timing-Phytest-LDPC/)
|
||||||
@@ -160,7 +160,7 @@ information on how the images are built.
|
|||||||
- nepes + B200 (eNB), ofqot + B200 (gNB), idefix + Quectel, nepes w/ ltebox
|
- nepes + B200 (eNB), ofqot + B200 (gNB), idefix + Quectel, nepes w/ ltebox
|
||||||
- basic NSA test
|
- basic NSA test
|
||||||
- [RAN-PhySim-Cluster](https://jenkins-oai.eurecom.fr/job/RAN-PhySim-Cluster/)
|
- [RAN-PhySim-Cluster](https://jenkins-oai.eurecom.fr/job/RAN-PhySim-Cluster/)
|
||||||
~4G-LTE ~5G-NR
|
~4G-LTE ~5G-NR ~nrUE
|
||||||
- cluster (`Asterix-OC-oaicicd-session` resource), tests in OpenShift Cluster
|
- cluster (`Asterix-OC-oaicicd-session` resource), tests in OpenShift Cluster
|
||||||
- unitary simulators (`nr_dlsim`, etc.)
|
- unitary simulators (`nr_dlsim`, etc.)
|
||||||
- see [`./physical-simulators.md`](./physical-simulators.md) for an overview
|
- see [`./physical-simulators.md`](./physical-simulators.md) for an overview
|
||||||
@@ -169,7 +169,7 @@ information on how the images are built.
|
|||||||
- cacofonix (eNB, lteUE, OAI EPC)
|
- cacofonix (eNB, lteUE, OAI EPC)
|
||||||
- uses RFsimulator, for FDD 5, 10, 20MHz with core, 5MHz noS1
|
- uses RFsimulator, for FDD 5, 10, 20MHz with core, 5MHz noS1
|
||||||
- [RAN-RF-Sim-Test-5G](https://jenkins-oai.eurecom.fr/job/RAN-RF-Sim-Test-5G/)
|
- [RAN-RF-Sim-Test-5G](https://jenkins-oai.eurecom.fr/job/RAN-RF-Sim-Test-5G/)
|
||||||
~5G-NR
|
~5G-NR ~nrUE
|
||||||
- cacofonix (gNB, nrUE, OAI 5GC)
|
- cacofonix (gNB, nrUE, OAI 5GC)
|
||||||
- uses RFsimulator, TDD 40MHz, FDD 40MHz, F1 split
|
- uses RFsimulator, TDD 40MHz, FDD 40MHz, F1 split
|
||||||
- [RAN-SA-AW2S-CN5G](https://jenkins-oai.eurecom.fr/job/RAN-SA-AW2S-CN5G/)
|
- [RAN-SA-AW2S-CN5G](https://jenkins-oai.eurecom.fr/job/RAN-SA-AW2S-CN5G/)
|
||||||
@@ -182,7 +182,7 @@ information on how the images are built.
|
|||||||
- ofqot + B200, idefix + Quectel, nepes w/ sabox
|
- ofqot + B200, idefix + Quectel, nepes w/ sabox
|
||||||
- basic SA test (20 MHz TDD), F1, reestablishment, ...
|
- basic SA test (20 MHz TDD), F1, reestablishment, ...
|
||||||
- [RAN-SA-OAIUE-CN5G](https://jenkins-oai.eurecom.fr/job/RAN-SA-OAIUE-CN5G/)
|
- [RAN-SA-OAIUE-CN5G](https://jenkins-oai.eurecom.fr/job/RAN-SA-OAIUE-CN5G/)
|
||||||
~5G-NR
|
~5G-NR ~nrUE
|
||||||
- 5G-NR SA test setup: gNB on avra + N310, OAIUE on caracal + N310, OAI CN5G
|
- 5G-NR SA test setup: gNB on avra + N310, OAIUE on caracal + N310, OAI CN5G
|
||||||
- OpenShift cluster for CN deployment and container images for gNB and UE deployment
|
- OpenShift cluster for CN deployment and container images for gNB and UE deployment
|
||||||
- [RAN-SA-AERIAL-CN5G](https://jenkins-oai.eurecom.fr/job/RAN-SA-AERIAL-CN5G/)
|
- [RAN-SA-AERIAL-CN5G](https://jenkins-oai.eurecom.fr/job/RAN-SA-AERIAL-CN5G/)
|
||||||
|
|||||||
Reference in New Issue
Block a user