diff --git a/ci-scripts/Jenkinsfile-cluster b/ci-scripts/Jenkinsfile-cluster
deleted file mode 100644
index 174ccab62f..0000000000
--- a/ci-scripts/Jenkinsfile-cluster
+++ /dev/null
@@ -1,228 +0,0 @@
-#!/bin/groovy
-/*
- * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The OpenAirInterface Software Alliance licenses this file to You under
- * the OAI Public License, Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.openairinterface.org/?page_id=698
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *-------------------------------------------------------------------------------
- * For more information about the OpenAirInterface (OAI) Software Alliance:
- * contact@openairinterface.org
- */
-
-// Location of the executor node
-def pythonExecutor = params.pythonExecutor
-
-// Location of the test XML file to be run
-def testXMLFile = params.pythonTestXmlFile
-def mainPythonAllXmlFiles = ""
-def buildStageStatus = true
-
-// Name of the test stage
-def testStageName = params.pipelineTestStageName
-
-// Name of the resource
-def lockResources = []
-if (params.LockResources != null && params.LockResources.trim().length() > 0)
- params.LockResources.trim().split(",").each{lockResources += [resource: it.trim()]}
-
-// Global Parameters. Normally they should be populated when the master job
-// triggers the slave job with parameters
-def eNB_Repository
-def eNB_Branch
-def eNB_CommitID
-def eNB_AllowMergeRequestProcess = false
-def eNB_TargetBranch
-
-def directoryExistsGlob(fileNameWithGlob) {
- /* if multiple directories match, will join their names and call fileExists() on that */
- def dir = sh returnStdout: true, script: 'find . -name \'' + fileNameWithGlob + '\' -type d'
- dir = dir.replaceAll("\n", "").trim()
- echo "matching '" + fileNameWithGlob + "' found: '" + dir + "'"
- if (dir == "")
- return false
- return fileExists(dir)
-}
-
-//-------------------------------------------------------------------------------
-// Pipeline start
-pipeline {
- agent {
- label pythonExecutor
- }
- options {
- timestamps()
- ansiColor('xterm')
- lock(extra: lockResources)
- }
-
- stages {
- stage("Build Init") {
- steps {
- // update the build name and description
- buildName "${params.eNB_MR}"
- buildDescription "Branch : ${params.eNB_Branch}"
- }
- }
- stage ('Verify Parameters') {
- steps {
- script {
- echo '\u2705 \u001B[32mVerify Parameters\u001B[0m'
-
- JOB_TIMESTAMP = sh returnStdout: true, script: 'date --utc --rfc-3339=seconds | sed -e "s#+00:00##"'
- JOB_TIMESTAMP = JOB_TIMESTAMP.trim()
-
- def allParametersPresent = true
-
- // It is already to late to check it
- if (params.pythonExecutor != null) {
- echo "eNB CI executor node : ${pythonExecutor}"
- }
- // If not present picking a default Stage Name
- if (params.pipelineTestStageName == null) {
- // picking default
- testStageName = 'Template Test Stage'
- }
-
- if (params.LockResources == null) {
- echo "no LockResources given"
- allParametersPresent = false
- }
- if (params.eNB_SourceCodePath == null) {
- echo "no eNB_SourceCodePath given"
- allParametersPresent = false
- }
- // the following 4 parameters should be pushed by the master trigger
- // if not present, take the job GIT variables (used for developing)
- if (params.eNB_Repository == null) {
- eNB_Repository = env.GIT_URL
- } else {
- eNB_Repository = params.eNB_Repository
- }
- echo "eNB_Repository : ${eNB_Repository}"
- if (params.eNB_Branch == null) {
- eNB_Branch = env.GIT_BRANCH
- } else {
- eNB_Branch = params.eNB_Branch
- }
- echo "eNB_Branch : ${eNB_Branch}"
- if (params.eNB_CommitID == null) {
- eNB_CommitID = env.GIT_COMMIT
- } else {
- eNB_CommitID = params.eNB_CommitID
- }
- echo "eNB_CommitID : ${eNB_CommitID}"
- if (params.eNB_mergeRequest != null) {
- eNB_AllowMergeRequestProcess = params.eNB_mergeRequest
- if (eNB_AllowMergeRequestProcess) {
- if (params.eNB_TargetBranch != null) {
- eNB_TargetBranch = params.eNB_TargetBranch
- } else {
- eNB_TargetBranch = 'develop'
- }
- echo "eNB_TargetBranch : ${eNB_TargetBranch}"
- }
- } else {
- echo "no eNB_mergeRequest given - not merging develop"
- }
-
- if (params.OC_Credentials == null) {
- echo "no OC_Credentials given"
- allParametersPresent = false
- }
- if (params.OC_ProjectName == null) {
- echo "no OC_ProjectName given"
- allParametersPresent = false
- }
- if (params.pythonTestXmlFile == null) {
- echo "no pythonTestXmlFile given"
- allParametersPresent = false
- }
- if (allParametersPresent) {
- echo "All parameters are present"
- if (eNB_AllowMergeRequestProcess) {
- sh "git fetch"
- sh "./ci-scripts/doGitLabMerge.sh --src-branch ${eNB_Branch} --src-commit ${eNB_CommitID} --target-branch ${eNB_TargetBranch} --target-commit latest"
- } else {
- sh "git fetch"
- sh "git checkout -f ${eNB_CommitID}"
- }
- } else {
- echo "Some parameters are missing"
- sh "./ci-scripts/fail.sh"
- }
- }
- }
- }
-
- stage ("Deploy and Test") {
- steps {
- script {
- dir ('ci-scripts') {
- echo "\u2705 \u001B[32m${testStageName}\u001B[0m"
- String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
- for (xmlFile in myXmlTestSuite) {
- if (fileExists(xmlFile)) {
- mainPythonAllXmlFiles += "--XMLTestFile=" + xmlFile + " "
- echo "Test XML file : ${xmlFile}"
- } else {
- echo "Test XML file ${xmlFile}: no such file"
- }
- }
- withCredentials([
- [$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.OC_Credentials}", usernameVariable: 'OC_Username', passwordVariable: 'OC_Password']
- ]) {
- sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} ${mainPythonAllXmlFiles}"
- for (xmlFile in myXmlTestSuite) {
- if (fileExists(xmlFile)) {
- try {
- timeout (time: 60, unit: 'MINUTES') {
- sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBSourceCodePath=${params.eNB_SourceCodePath} --XMLTestFile=${xmlFile} --OCUserName=${OC_Username} --OCPassword=${OC_Password} --OCProjectName=${OC_ProjectName}"
- }
- } catch (Exception e) {
- currentBuild.result = 'FAILURE'
- buildStageStatus = false
- }
- }
- }
- sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus}"
- }
- }
- }
- }
- }
- stage ("Log Collection") {
- steps {
- script {
- dir ('ci-scripts') {
- if (directoryExistsGlob("build_log_*")) {
- sh "zip -r -qq build_log_${env.BUILD_ID}.zip build_log_*/*"
- sh "rm -rf build_log_*/"
- archiveArtifacts artifacts: "build_log_${env.BUILD_ID}.zip"
- }
- if (directoryExistsGlob("test_log_*")) {
- sh "zip -r -qq test_log_${env.BUILD_ID}.zip test_log_*/*"
- sh "rm -rf test_log_*/"
- archiveArtifacts artifacts: "test_log_${env.BUILD_ID}.zip"
- }
- if (fileExists("test_results.html")) {
- sh "mv test_results.html test_results-${env.JOB_NAME}.html"
- sh "sed -i -e 's#TEMPLATE_JOB_NAME#${JOB_NAME}#' -e 's@build #TEMPLATE_BUILD_ID@build #${BUILD_ID}@' -e 's#Build-ID: TEMPLATE_BUILD_ID#Build-ID: ${BUILD_ID}#' -e 's#TEMPLATE_STAGE_NAME#${testStageName}#' test_results-${JOB_NAME}.html"
- archiveArtifacts artifacts: "test_results-${env.JOB_NAME}.html"
- }
- }
- }
- }
- }
- }
-}
diff --git a/ci-scripts/Jenkinsfile-nrue b/ci-scripts/Jenkinsfile-nrue
deleted file mode 100644
index 3f7ef9b9ed..0000000000
--- a/ci-scripts/Jenkinsfile-nrue
+++ /dev/null
@@ -1,223 +0,0 @@
-#!/bin/groovy
-/*
- * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The OpenAirInterface Software Alliance licenses this file to You under
- * the OAI Public License, Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.openairinterface.org/?page_id=698
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *-------------------------------------------------------------------------------
- * For more information about the OpenAirInterface (OAI) Software Alliance:
- * contact@openairinterface.org
- */
-
-// Location of the executor node
-def pythonExecutor = params.pythonExecutor
-
-// Location of the test XML file to be run
-def testXMLFile = params.pythonTestXmlFile
-def mainPythonAllXmlFiles = ""
-def buildStageStatus = true
-
-// Name of the test stage
-def testStageName = params.pipelineTestStageName
-
-// Name of the resource
-def lockResources = []
-if (params.LockResources != null && params.LockResources.trim().length() > 0)
- params.LockResources.trim().split(",").each{lockResources += [resource: it.trim()]}
-
-// Global Parameters. Normally they should be populated when the master job
-// triggers the slave job with parameters
-def eNB_Repository
-def eNB_Branch
-def eNB_CommitID
-def eNB_AllowMergeRequestProcess = false
-def eNB_TargetBranch
-
-// Flags
-def scmEvent = false
-def upstreamEvent = false
-
-//-------------------------------------------------------------------------------
-// Pipeline start
-pipeline {
- agent {
- label pythonExecutor
- }
- options {
- timestamps()
- ansiColor('xterm')
- lock(extra: lockResources)
- }
-
- stages {
- stage("Build Init") {
- steps {
- // update the build name and description
- buildName "${params.eNB_MR}"
- buildDescription "Branch : ${params.eNB_Branch}"
- }
- }
- stage ('Verify Parameters') {
- steps {
- script {
- echo '\u2705 \u001B[32mVerify Parameters\u001B[0m'
-
- JOB_TIMESTAMP = sh returnStdout: true, script: 'date --utc --rfc-3339=seconds | sed -e "s#+00:00##"'
- JOB_TIMESTAMP = JOB_TIMESTAMP.trim()
-
- def allParametersPresent = true
-
- // It is already to late to check it
- if (params.pythonExecutor != null) {
- echo "eNB CI executor node : ${pythonExecutor}"
- }
- // If not present picking a default Stage Name
- if (params.pipelineTestStageName == null) {
- // picking default
- testStageName = 'Template Test Stage'
- }
- if (params.LockResources == null) {
- echo "no LockResources given"
- allParametersPresent = false
- }
- if (params.eNB_SourceCodePath == null) {
- allParametersPresent = false
- }
- // the following 4 parameters should be pushed by the master trigger
- // if not present, take the job GIT variables (used for developing)
- if (params.eNB_Repository == null) {
- eNB_Repository = env.GIT_URL
- } else {
- eNB_Repository = params.eNB_Repository
- }
- echo "eNB_Repository : ${eNB_Repository}"
- if (params.eNB_Branch == null) {
- eNB_Branch = env.GIT_BRANCH
- } else {
- eNB_Branch = params.eNB_Branch
- }
- echo "eNB_Branch : ${eNB_Branch}"
- if (params.eNB_CommitID == null) {
- eNB_CommitID = env.GIT_COMMIT
- } else {
- eNB_CommitID = params.eNB_CommitID
- }
- echo "eNB_CommitID : ${eNB_CommitID}"
- if (params.eNB_mergeRequest != null) {
- eNB_AllowMergeRequestProcess = params.eNB_mergeRequest
- if (eNB_AllowMergeRequestProcess) {
- if (params.eNB_TargetBranch != null) {
- eNB_TargetBranch = params.eNB_TargetBranch
- } else {
- eNB_TargetBranch = 'develop'
- }
- echo "eNB_TargetBranch : ${eNB_TargetBranch}"
- }
- }
-
- if (params.OC_Credentials == null) {
- allParametersPresent = false
- }
- if (params.OC_ProjectName == null) {
- allParametersPresent = false
- }
- if (allParametersPresent) {
- echo "All parameters are present"
- if (eNB_AllowMergeRequestProcess) {
- sh "git fetch"
- sh "./ci-scripts/doGitLabMerge.sh --src-branch ${eNB_Branch} --src-commit ${eNB_CommitID} --target-branch ${eNB_TargetBranch} --target-commit latest"
- } else {
- sh "git fetch"
- sh "git checkout -f ${eNB_CommitID}"
- }
- } else {
- echo "Some parameters are missing"
- sh "./ci-scripts/fail.sh"
- }
- }
- }
- }
-
- stage ("Deploy and Test") {
- steps {
- script {
- dir ('ci-scripts') {
- echo "\u2705 \u001B[32m${testStageName}\u001B[0m"
- // If not present picking a default XML file
- if (params.pythonTestXmlFile == null) {
- // picking default
- testXMLFile = 'xml_files/enb_usrpB210_band7_50PRB.xml'
- echo "Test XML file(default): ${testXMLFile}"
- mainPythonAllXmlFiles += "--XMLTestFile=" + testXMLFile + " "
- } else {
- String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
- for (xmlFile in myXmlTestSuite) {
- if (fileExists(xmlFile)) {
- mainPythonAllXmlFiles += "--XMLTestFile=" + xmlFile + " "
- echo "Test XML file : ${xmlFile}"
- } else {
- echo "Test XML file ${xmlFile}: no such file"
- }
- }
- }
- withCredentials([
- [$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.OC_Credentials}", usernameVariable: 'OC_Username', passwordVariable: 'OC_Password']
- ]) {
- sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} ${mainPythonAllXmlFiles}"
- String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
- for (xmlFile in myXmlTestSuite) {
- if (fileExists(xmlFile)) {
- try {
- timeout (time: 60, unit: 'MINUTES') {
- sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBSourceCodePath=${params.eNB_SourceCodePath} --XMLTestFile=${xmlFile} --OCUserName=${OC_Username} --OCPassword=${OC_Password} --OCProjectName=${OC_ProjectName}"
- }
- } catch (Exception e) {
- currentBuild.result = 'FAILURE'
- buildStageStatus = false
- }
- }
- }
- sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus}"
- }
- }
- }
- }
- }
- stage ("Log Collection") {
- steps {
- script {
- dir ('ci-scripts') {
- // Zipping all archived log files
- sh "mkdir test_logs"
- sh "mv *.log* test_logs || true"
- // Zip all log files matching cmake_targets/{*.log*,log/*} into test_logs_XXXX.zip
- if (fileExists('../cmake_targets/log')) {
- sh "mv ../cmake_targets/log/* test_logs || true"
- }
- sh "zip -r -qq test_logs_${env.BUILD_ID}.zip *test_log*/"
- sh "rm -rf *test_log*/"
- if (fileExists("test_logs_${env.BUILD_ID}.zip")) {
- archiveArtifacts artifacts: "test_logs_${env.BUILD_ID}.zip"
- }
- if (fileExists("test_results.html")) {
- sh "mv test_results.html test_results-${env.JOB_NAME}.html"
- sh "sed -i -e 's#TEMPLATE_JOB_NAME#${JOB_NAME}#' -e 's@build #TEMPLATE_BUILD_ID@build #${BUILD_ID}@' -e 's#Build-ID: TEMPLATE_BUILD_ID#Build-ID: ${BUILD_ID}#' -e 's#TEMPLATE_STAGE_NAME#${testStageName}#' test_results-${JOB_NAME}.html"
- archiveArtifacts artifacts: "test_results-${env.JOB_NAME}.html"
- }
- }
- }
- }
- }
- }
-}
diff --git a/ci-scripts/Jenkinsfile-physim-deploy b/ci-scripts/Jenkinsfile-physim-deploy
deleted file mode 100644
index e3d243d07b..0000000000
--- a/ci-scripts/Jenkinsfile-physim-deploy
+++ /dev/null
@@ -1,224 +0,0 @@
-#!/bin/groovy
-/*
- * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The OpenAirInterface Software Alliance licenses this file to You under
- * the OAI Public License, Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.openairinterface.org/?page_id=698
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *-------------------------------------------------------------------------------
- * For more information about the OpenAirInterface (OAI) Software Alliance:
- * contact@openairinterface.org
- */
-
-// Location of the executor node
-def pythonExecutor = params.pythonExecutor
-
-// Location of the test XML file to be run
-def testXMLFile = params.pythonTestXmlFile
-def mainPythonAllXmlFiles = ""
-def buildStageStatus = true
-
-// Name of the test stage
-def testStageName = params.pipelineTestStageName
-
-// Name of the resource
-def lockResources = []
-if (params.LockResources != null && params.LockResources.trim().length() > 0)
- params.LockResources.trim().split(",").each{lockResources += [resource: it.trim()]}
-
-// Global Parameters. Normally they should be populated when the master job
-// triggers the slave job with parameters
-def eNB_Repository
-def eNB_Branch
-def eNB_CommitID
-def eNB_AllowMergeRequestProcess = false
-def eNB_TargetBranch
-
-// Flags
-def scmEvent = false
-def upstreamEvent = false
-
-//-------------------------------------------------------------------------------
-// Pipeline start
-pipeline {
- agent {
- label pythonExecutor
- }
- options {
- timestamps()
- ansiColor('xterm')
- lock(extra: lockResources)
- }
-
- stages {
- stage("Build Init") {
- steps {
- // update the build name and description
- buildName "${params.eNB_MR}"
- buildDescription "Branch : ${params.eNB_Branch}"
- }
- }
- stage ('Verify Parameters') {
- steps {
- script {
- echo '\u2705 \u001B[32mVerify Parameters\u001B[0m'
-
- JOB_TIMESTAMP = sh returnStdout: true, script: 'date --utc --rfc-3339=seconds | sed -e "s#+00:00##"'
- JOB_TIMESTAMP = JOB_TIMESTAMP.trim()
-
- def allParametersPresent = true
-
- // It is already to late to check it
- if (params.pythonExecutor != null) {
- echo "eNB CI executor node : ${pythonExecutor}"
- }
- // If not present picking a default Stage Name
- if (params.pipelineTestStageName == null) {
- // picking default
- testStageName = 'Template Test Stage'
- }
-
- if (params.LockResources == null) {
- echo "no LockResources given"
- allParametersPresent = false
- }
- if (params.eNB_SourceCodePath == null) {
- allParametersPresent = false
- }
- // the following 4 parameters should be pushed by the master trigger
- // if not present, take the job GIT variables (used for developing)
- if (params.eNB_Repository == null) {
- eNB_Repository = env.GIT_URL
- } else {
- eNB_Repository = params.eNB_Repository
- }
- echo "eNB_Repository : ${eNB_Repository}"
- if (params.eNB_Branch == null) {
- eNB_Branch = env.GIT_BRANCH
- } else {
- eNB_Branch = params.eNB_Branch
- }
- echo "eNB_Branch : ${eNB_Branch}"
- if (params.eNB_CommitID == null) {
- eNB_CommitID = env.GIT_COMMIT
- } else {
- eNB_CommitID = params.eNB_CommitID
- }
- echo "eNB_CommitID : ${eNB_CommitID}"
- if (params.eNB_mergeRequest != null) {
- eNB_AllowMergeRequestProcess = params.eNB_mergeRequest
- if (eNB_AllowMergeRequestProcess) {
- if (params.eNB_TargetBranch != null) {
- eNB_TargetBranch = params.eNB_TargetBranch
- } else {
- eNB_TargetBranch = 'develop'
- }
- echo "eNB_TargetBranch : ${eNB_TargetBranch}"
- }
- }
-
- if (params.OC_Credentials == null) {
- allParametersPresent = false
- }
- if (params.OC_ProjectName == null) {
- allParametersPresent = false
- }
- if (allParametersPresent) {
- echo "All parameters are present"
- if (eNB_AllowMergeRequestProcess) {
- sh "git fetch"
- sh "./ci-scripts/doGitLabMerge.sh --src-branch ${eNB_Branch} --src-commit ${eNB_CommitID} --target-branch ${eNB_TargetBranch} --target-commit latest"
- } else {
- sh "git fetch"
- sh "git checkout -f ${eNB_CommitID}"
- }
- } else {
- echo "Some parameters are missing"
- sh "./ci-scripts/fail.sh"
- }
- }
- }
- }
-
- stage ("Deploy and Test") {
- steps {
- script {
- dir ('ci-scripts') {
- echo "\u2705 \u001B[32m${testStageName}\u001B[0m"
- // If not present picking a default XML file
- if (params.pythonTestXmlFile == null) {
- // picking default
- testXMLFile = 'xml_files/enb_usrpB210_band7_50PRB.xml'
- echo "Test XML file(default): ${testXMLFile}"
- mainPythonAllXmlFiles += "--XMLTestFile=" + testXMLFile + " "
- } else {
- String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
- for (xmlFile in myXmlTestSuite) {
- if (fileExists(xmlFile)) {
- mainPythonAllXmlFiles += "--XMLTestFile=" + xmlFile + " "
- echo "Test XML file : ${xmlFile}"
- } else {
- echo "Test XML file ${xmlFile}: no such file"
- }
- }
- }
- withCredentials([
- [$class: 'UsernamePasswordMultiBinding', credentialsId: "${params.OC_Credentials}", usernameVariable: 'OC_Username', passwordVariable: 'OC_Password']
- ]) {
- sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} ${mainPythonAllXmlFiles}"
- String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
- for (xmlFile in myXmlTestSuite) {
- if (fileExists(xmlFile)) {
- try {
- timeout (time: 60, unit: 'MINUTES') {
- sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBSourceCodePath=${params.eNB_SourceCodePath} --XMLTestFile=${xmlFile} --OCUserName=${OC_Username} --OCPassword=${OC_Password} --OCProjectName=${OC_ProjectName}"
- }
- } catch (Exception e) {
- currentBuild.result = 'FAILURE'
- buildStageStatus = false
- }
- }
- }
- sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus}"
- }
- }
- }
- }
- }
- stage ("Log Collection") {
- steps {
- script {
- dir ('ci-scripts') {
- // Zipping all archived log files
- sh "mkdir test_logs"
- sh "mv *.log* test_logs || true"
- // Zip all log files matching cmake_targets/{*.log*,log/*} into test_logs_XXXX.zip
- if (fileExists('../cmake_targets/log')) {
- sh "mv ../cmake_targets/log/* test_logs || true"
- }
- sh "zip -r -qq test_logs_${env.BUILD_ID}.zip *test_log*/"
- sh "rm -rf *test_log*/"
- if (fileExists("test_logs_${env.BUILD_ID}.zip")) {
- archiveArtifacts artifacts: "test_logs_${env.BUILD_ID}.zip"
- }
- if (fileExists("test_results.html")) {
- sh "mv test_results.html test_results-${env.JOB_NAME}.html"
- sh "sed -i -e 's#TEMPLATE_JOB_NAME#${JOB_NAME}#' -e 's@build #TEMPLATE_BUILD_ID@build #${BUILD_ID}@' -e 's#Build-ID: TEMPLATE_BUILD_ID#Build-ID: ${BUILD_ID}#' -e 's#TEMPLATE_STAGE_NAME#${testStageName}#' test_results-${JOB_NAME}.html"
- archiveArtifacts artifacts: "test_results-${env.JOB_NAME}.html"
- }
- }
- }
- }
- }
- }
-}
diff --git a/ci-scripts/Jenkinsfile-tmp-full-ran b/ci-scripts/Jenkinsfile-tmp-full-ran
deleted file mode 100644
index 07b10ab980..0000000000
--- a/ci-scripts/Jenkinsfile-tmp-full-ran
+++ /dev/null
@@ -1,250 +0,0 @@
-#!/bin/groovy
-/*
- * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The OpenAirInterface Software Alliance licenses this file to You under
- * the OAI Public License, Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.openairinterface.org/?page_id=698
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *-------------------------------------------------------------------------------
- * For more information about the OpenAirInterface (OAI) Software Alliance:
- * contact@openairinterface.org
- */
-
-// Template Jenkins Declarative Pipeline script to run Test w/ RF HW
-
-// Location of the python executor node shall be in the same subnet as the others servers
-def pythonExecutor = params.pythonExecutor
-
-// Location of the test XML file to be run
-def testXMLFile = params.pythonTestXmlFile
-def mainPythonAllXmlFiles = ""
-def buildStageStatus = true
-
-// Name of the test stage
-def testStageName = params.pipelineTestStageName
-
-def lockResources = []
-if (params.LockResources != null && params.LockResources.trim().length() > 0)
- params.LockResources.trim().split(",").each{lockResources += [resource: it.trim()]}
-
-// Terminate Status
-def termENB = 0
-def termStatusArray = new Boolean[termENB + 1]
-termStatusArray[termENB] = false
-
-// Global Parameters. Normally they should be populated when the master job
-// triggers the slave job with parameters
-def eNB_Repository
-def eNB_Branch
-def eNB_CommitID
-def eNB_AllowMergeRequestProcess = false
-def eNB_TargetBranch
-
-def doEpcLogCollection = true
-
-
-
-pipeline {
- agent {
- label pythonExecutor
- }
- options {
- ansiColor('xterm')
- lock(extra: lockResources)
- }
-
- stages {
- stage("Build Init") {
- steps {
- // update the build name and description
- buildName "${params.eNB_MR}"
- buildDescription "Branch : ${params.eNB_Branch}"
- }
- }
- stage ("Verify Parameters") {
- steps {
- script {
- echo '\u2705 \u001B[32mVerify Parameters\u001B[0m'
- def allParametersPresent = true
-
- // It is already to late to check it
- if (params.pythonExecutor != null) {
- echo "eNB CI executor node : ${pythonExecutor}"
- }
- // If not present picking a default Stage Name
- if (params.pipelineTestStageName == null) {
- // picking default
- testStageName = 'Template Test Stage'
- }
-
- if (params.LockResources == null) {
- echo "no LockResources given"
- allParametersPresent = false
- }
- if (params.eNB_SourceCodePath == null) {
- allParametersPresent = false
- }
- // the following 4 parameters should be pushed by the master trigger
- // if not present, take the job GIT variables (used for developing)
- if (params.eNB_Repository == null) {
- eNB_Repository = env.GIT_URL
- } else {
- eNB_Repository = params.eNB_Repository
- }
- echo "eNB_Repository : ${eNB_Repository}"
- if (params.eNB_Branch == null) {
- eNB_Branch = env.GIT_BRANCH
- } else {
- eNB_Branch = params.eNB_Branch
- }
- echo "eNB_Branch : ${eNB_Branch}"
- if (params.eNB_CommitID == null) {
- eNB_CommitID = env.GIT_COMMIT
- } else {
- eNB_CommitID = params.eNB_CommitID
- }
- echo "eNB_CommitID : ${eNB_CommitID}"
- if (params.eNB_mergeRequest != null) {
- eNB_AllowMergeRequestProcess = params.eNB_mergeRequest
- if (eNB_AllowMergeRequestProcess) {
- if (params.eNB_TargetBranch != null) {
- eNB_TargetBranch = params.eNB_TargetBranch
- } else {
- eNB_TargetBranch = 'develop'
- }
- echo "eNB_TargetBranch : ${eNB_TargetBranch}"
- }
- }
-
- if (allParametersPresent) {
- echo "All parameters are present"
- if (eNB_AllowMergeRequestProcess) {
- sh "git fetch"
- sh "./ci-scripts/doGitLabMerge.sh --src-branch ${eNB_Branch} --src-commit ${eNB_CommitID} --target-branch ${eNB_TargetBranch} --target-commit latest"
- } else {
- sh "git fetch"
- sh "git checkout -f ${eNB_CommitID}"
- }
- } else {
- currentBuild.result = 'ABORTED'
- error('Stopping early because some parameters are missing')
- }
- }
- }
- }
- stage ("Build and Test") {
- steps {
- script {
- dir ('ci-scripts') {
- echo "\u2705 \u001B[32m${testStageName}\u001B[0m"
- // If not present picking a default XML file
- if (params.pythonTestXmlFile == null) {
- // picking default
- testXMLFile = 'xml_files/enb_usrpB210_band7_50PRB.xml'
- echo "Test XML file(default): ${testXMLFile}"
- mainPythonAllXmlFiles += "--XMLTestFile=" + testXMLFile + " "
- } else {
- String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
- for (xmlFile in myXmlTestSuite) {
- if (fileExists(xmlFile)) {
- mainPythonAllXmlFiles += "--XMLTestFile=" + xmlFile + " "
- echo "Test XML file : ${xmlFile}"
- } else {
- echo "Test XML file ${xmlFile}: no such file"
- }
- }
- }
- sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} ${mainPythonAllXmlFiles}"
- String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
- for (xmlFile in myXmlTestSuite) {
- if (fileExists(xmlFile)) {
- try {
- timeout (time: 60, unit: 'MINUTES') {
- sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBSourceCodePath=${params.eNB_SourceCodePath} --XMLTestFile=${xmlFile}"
- }
- } catch (Exception e) {
- currentBuild.result = 'FAILURE'
- buildStageStatus = false
- }
- }
- }
- sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus}"
- }
- }
- }
- }
- stage ("Terminate") {
- parallel {
- stage('Terminate eNB') {
- steps {
- echo '\u2705 \u001B[32mTerminate eNB\u001B[0m'
- sh "python3 ci-scripts/main.py --mode=TerminateeNB"
- }
- post {
- success {
- script {
- termStatusArray[termENB] = true
- }
- }
- }
- }
- }
- }
- stage('Log Collection') {
- parallel {
- stage('Log Collection (eNB - Run)') {
- steps {
- echo '\u2705 \u001B[32mLog Collection (eNB - Run)\u001B[0m'
- sh "python3 ci-scripts/main.py --mode=LogCollecteNB --eNBSourceCodePath=${params.eNB_SourceCodePath} --BuildId=${env.BUILD_ID}"
-
- script {
- if(fileExists("enb.log.${env.BUILD_ID}.zip")) {
- archiveArtifacts "enb.log.${env.BUILD_ID}.zip"
- }
- if(fileExists("ci-scripts/test_results.html")) {
- sh "mv ci-scripts/test_results.html test_results-${JOB_NAME}.html"
- sh "sed -i -e 's#TEMPLATE_JOB_NAME#${JOB_NAME}#' -e 's@build #TEMPLATE_BUILD_ID@build #${BUILD_ID}@' -e 's#Build-ID: TEMPLATE_BUILD_ID#Build-ID: ${BUILD_ID}#' -e 's#TEMPLATE_STAGE_NAME#${testStageName}#' test_results-${JOB_NAME}.html"
- archiveArtifacts "test_results-${JOB_NAME}.html"
- }
- }
- }
- }
- }
- }
- }
-
- post {
- always {
- script {
- if (params.pipelineZipsConsoleLog != null) {
- if (params.pipelineZipsConsoleLog) {
- echo "Archiving Jenkins console log"
- sh "wget --no-check-certificate --no-proxy ${env.JENKINS_URL}/job/${env.JOB_NAME}/${env.BUILD_ID}/consoleText -O consoleText.log || true"
- sh "zip -m consoleText.log.${env.BUILD_ID}.zip consoleText.log || true"
- if(fileExists("consoleText.log.${env.BUILD_ID}.zip")) {
- archiveArtifacts "consoleText.log.${env.BUILD_ID}.zip"
- }
- }
- }
- }
- }
- // Making sure that we really shutdown every thing before leaving
- failure {
- script {
- if (!termStatusArray[termENB]) {
- sh "python3 ci-scripts/main.py --mode=TerminateeNB"
- }
- }
- }
- }
-}
diff --git a/ci-scripts/Jenkinsfile-tmp-multi-enb b/ci-scripts/Jenkinsfile-tmp-multi-enb
deleted file mode 100644
index c01c8daf7e..0000000000
--- a/ci-scripts/Jenkinsfile-tmp-multi-enb
+++ /dev/null
@@ -1,225 +0,0 @@
-#!/bin/groovy
-/*
- * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The OpenAirInterface Software Alliance licenses this file to You under
- * the OAI Public License, Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.openairinterface.org/?page_id=698
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *-------------------------------------------------------------------------------
- * For more information about the OpenAirInterface (OAI) Software Alliance:
- * contact@openairinterface.org
- */
-
-// Template Jenkins Declarative Pipeline script to run Test w/ RF HW
-
-// Location of the python executor node shall be in the same subnet as the others servers
-def pythonExecutor = params.pythonExecutor
-
-// Location of the test XML file to be run
-def testXMLFile = params.pythonTestXmlFile
-def mainPythonAllXmlFiles = ""
-def buildStageStatus = true
-
-// Name of the test stage
-def testStageName = params.pipelineTestStageName
-
-def lockResources = []
-if (params.LockResources != null && params.LockResources.trim().length() > 0)
- params.LockResources.trim().split(",").each{lockResources += [resource: it.trim()]}
-
-// Global Parameters. Normally they should be populated when the master job
-// triggers the slave job with parameters
-def eNB_Repository
-def eNB_Branch
-def eNB_CommitID
-def eNB_AllowMergeRequestProcess = false
-def eNB_TargetBranch
-
-pipeline {
- agent {
- label pythonExecutor
- }
- options {
- ansiColor('xterm')
- lock(extra: lockResources)
- }
- stages {
- stage("Build Init") {
- steps {
- // update the build name and description
- buildName "${params.eNB_MR}"
- buildDescription "Branch : ${params.eNB_Branch}"
- }
- }
- stage ("Verify Parameters") {
- steps {
- script {
- echo '\u2705 \u001B[32mVerify Parameters\u001B[0m'
- def allParametersPresent = true
-
- // It is already to late to check it
- if (params.pythonExecutor != null) {
- echo "eNB CI executor node : ${pythonExecutor}"
- }
- // If not present picking a default Stage Name
- if (params.pipelineTestStageName == null) {
- // picking default
- testStageName = 'Template Test Stage'
- }
-
- if (params.LockResources == null) {
- echo "no LockResources given"
- allParametersPresent = false
- }
- if (params.eNB_SourceCodePath == null) {
- allParametersPresent = false
- }
- // the following 4 parameters should be pushed by the master trigger
- // if not present, take the job GIT variables (used for developing)
- if (params.eNB_Repository == null) {
- eNB_Repository = env.GIT_URL
- } else {
- eNB_Repository = params.eNB_Repository
- }
- echo "eNB_Repository : ${eNB_Repository}"
- if (params.eNB_Branch == null) {
- eNB_Branch = env.GIT_BRANCH
- } else {
- eNB_Branch = params.eNB_Branch
- }
- echo "eNB_Branch : ${eNB_Branch}"
- if (params.eNB_CommitID == null) {
- eNB_CommitID = env.GIT_COMMIT
- } else {
- eNB_CommitID = params.eNB_CommitID
- }
- echo "eNB_CommitID : ${eNB_CommitID}"
- if (params.eNB_mergeRequest != null) {
- eNB_AllowMergeRequestProcess = params.eNB_mergeRequest
- if (eNB_AllowMergeRequestProcess) {
- if (params.eNB_TargetBranch != null) {
- eNB_TargetBranch = params.eNB_TargetBranch
- } else {
- eNB_TargetBranch = 'develop'
- }
- echo "eNB_TargetBranch : ${eNB_TargetBranch}"
- }
- }
-
- if (allParametersPresent) {
- echo "All parameters are present"
- if (eNB_AllowMergeRequestProcess) {
- sh "git fetch"
- sh "./ci-scripts/doGitLabMerge.sh --src-branch ${eNB_Branch} --src-commit ${eNB_CommitID} --target-branch ${eNB_TargetBranch} --target-commit latest"
- } else {
- sh "git fetch"
- sh "git checkout -f ${eNB_CommitID}"
- }
- } else {
- echo "Some parameters are missing"
- sh "./ci-scripts/fail.sh"
- }
- }
- }
- }
- stage ("Build and Test") {
- steps {
- script {
- dir ('ci-scripts') {
- echo "\u2705 \u001B[32m${testStageName}\u001B[0m"
- // If not present picking a default XML file
- if (params.pythonTestXmlFile == null) {
- // picking default
- testXMLFile = 'xml_files/enb_usrpB210_band7_50PRB.xml'
- echo "Test XML file(default): ${testXMLFile}"
- mainPythonAllXmlFiles += "--XMLTestFile=" + testXMLFile + " "
- } else {
- String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
- for (xmlFile in myXmlTestSuite) {
- if (fileExists(xmlFile)) {
- mainPythonAllXmlFiles += "--XMLTestFile=" + xmlFile + " "
- echo "Test XML file : ${xmlFile}"
- } else {
- echo "Test XML file ${xmlFile}: no such file"
- }
- }
- }
- sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} ${mainPythonAllXmlFiles}"
- String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
- for (xmlFile in myXmlTestSuite) {
- if (fileExists(xmlFile)) {
- try {
- timeout (time: 60, unit: 'MINUTES') {
- sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBSourceCodePath=${params.eNB_SourceCodePath} --XMLTestFile=${xmlFile}"
- }
- } catch (Exception e) {
- currentBuild.result = 'FAILURE'
- buildStageStatus = false
- }
- }
- }
- sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus}"
- }
- }
- }
- }
- stage ("Terminate") {
- parallel {
- stage('Terminate eNB') {
- steps {
- echo '\u2705 \u001B[32mTerminate eNB\u001B[0m'
- sh "python3 ci-scripts/main.py --mode=TerminateeNB"
- }
- }
- }
- }
- stage('Log Collection') {
- parallel {
- stage('Log Collection (eNB - Run)') {
- steps {
- echo '\u2705 \u001B[32mLog Collection (eNB - Run)\u001B[0m'
- sh "python3 ci-scripts/main.py --mode=LogCollecteNB --eNBSourceCodePath=${params.eNB_SourceCodePath} --BuildId=${env.BUILD_ID}"
-
- script {
- if(fileExists("enb.log.${env.BUILD_ID}.zip")) {
- archiveArtifacts "enb.log.${env.BUILD_ID}.zip"
- }
- if(fileExists("ci-scripts/test_results.html")) {
- sh "mv ci-scripts/test_results.html test_results-${JOB_NAME}.html"
- sh "sed -i -e 's#TEMPLATE_JOB_NAME#${JOB_NAME}#' -e 's@build #TEMPLATE_BUILD_ID@build #${BUILD_ID}@' -e 's#Build-ID: TEMPLATE_BUILD_ID#Build-ID: ${BUILD_ID}#' -e 's#TEMPLATE_STAGE_NAME#${testStageName}#' test_results-${JOB_NAME}.html"
- archiveArtifacts "test_results-${JOB_NAME}.html"
- }
- }
- }
- }
- }
- }
- }
-
- post {
- always {
- script {
- if (params.pipelineZipsConsoleLog != null) {
- if (params.pipelineZipsConsoleLog) {
- echo "Archiving Jenkins console log"
- sh "wget --no-check-certificate --no-proxy ${env.JENKINS_URL}/job/${env.JOB_NAME}/${env.BUILD_ID}/consoleText -O consoleText.log || true"
- sh "zip -m consoleText.log.${env.BUILD_ID}.zip consoleText.log || true"
- if(fileExists("consoleText.log.${env.BUILD_ID}.zip")) {
- archiveArtifacts "consoleText.log.${env.BUILD_ID}.zip"
- }
- }
- }
- }
- }
- }
-}
diff --git a/ci-scripts/Jenkinsfile-tmp-multi-enb-nsa b/ci-scripts/Jenkinsfile-tmp-multi-enb-nsa
deleted file mode 100644
index 67aa6b4511..0000000000
--- a/ci-scripts/Jenkinsfile-tmp-multi-enb-nsa
+++ /dev/null
@@ -1,216 +0,0 @@
-#!/bin/groovy
-/*
- * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The OpenAirInterface Software Alliance licenses this file to You under
- * the OAI Public License, Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.openairinterface.org/?page_id=698
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *-------------------------------------------------------------------------------
- * For more information about the OpenAirInterface (OAI) Software Alliance:
- * contact@openairinterface.org
- */
-
-// Template Jenkins Declarative Pipeline script to run Test w/ RF HW
-
-// Location of the python executor node shall be in the same subnet as the others servers
-def pythonExecutor = params.pythonExecutor
-
-// Location of the test XML file to be run
-def testXMLFile = params.pythonTestXmlFile
-def mainPythonAllXmlFiles = ""
-def buildStageStatus = true
-
-// Name of the test stage
-def testStageName = params.pipelineTestStageName
-
-def lockResources = []
-if (params.LockResources != null && params.LockResources.trim().length() > 0)
- params.LockResources.trim().split(",").each{lockResources += [resource: it.trim()]}
-
-// Global Parameters. Normally they should be populated when the master job
-// triggers the slave job with parameters
-def eNB_Repository
-def eNB_Branch
-def eNB_CommitID
-def eNB_AllowMergeRequestProcess
-def eNB_TargetBranch
-
-//Status fed to the database
-def StatusForDb = ""
-
-
-pipeline {
- agent {label pythonExecutor}
- options {
- ansiColor('xterm')
- lock(extra: lockResources)
- }
- stages {
- stage("Build Init") {
- steps {
- // update the build name and description
- buildName "${params.eNB_MR}"
- buildDescription "Branch : ${params.eNB_Branch}"
- }
- }
- stage ("Verify Parameters") {
- steps {
- script {
- echo '\u2705 \u001B[32mVerify Parameters\u001B[0m'
- def allParametersPresent = true
-
- // It is already to late to check it
- if (params.pythonExecutor != null) {
- echo "eNB CI executor node : ${pythonExecutor}"
- }
- // If not present picking a default Stage Name
- if (params.pipelineTestStageName == null) {
- // picking default
- testStageName = 'Template Test Stage'
- }
-
- if (params.LockResources == null) {
- echo "no LockResources given"
- allParametersPresent = false
- }
- if (params.eNB_SourceCodePath == null) {
- allParametersPresent = false
- }
- // the following 4 parameters should be pushed by the master trigger
- // if not present, take the job GIT variables (used for developing)
- if (params.eNB_Repository == null) {
- eNB_Repository = env.GIT_URL
- } else {
- eNB_Repository = params.eNB_Repository
- }
- echo "eNB_Repository : ${eNB_Repository}"
- if (params.eNB_Branch == null) {
- eNB_Branch = env.GIT_BRANCH
- } else {
- eNB_Branch = params.eNB_Branch
- }
- echo "eNB_Branch : ${eNB_Branch}"
- if (params.eNB_CommitID == null) {
- eNB_CommitID = env.GIT_COMMIT
- } else {
- eNB_CommitID = params.eNB_CommitID
- }
- echo "eNB_CommitID : ${eNB_CommitID}"
- if (params.eNB_mergeRequest!= null) {
- eNB_AllowMergeRequestProcess = params.eNB_mergeRequest
- if (eNB_AllowMergeRequestProcess) {
- if (params.eNB_TargetBranch != null) {
- eNB_TargetBranch = params.eNB_TargetBranch
- } else {
- eNB_TargetBranch = 'develop'
- }
- echo "eNB_TargetBranch : ${eNB_TargetBranch}"
- }
- }
-
- if (allParametersPresent) {
- echo "All parameters are present"
- if (eNB_AllowMergeRequestProcess) {
- sh "git fetch"
- sh "./ci-scripts/doGitLabMerge.sh --src-branch ${eNB_Branch} --src-commit ${eNB_CommitID} --target-branch ${eNB_TargetBranch} --target-commit latest"
- } else {
- sh "git fetch"
- sh "git checkout -f ${eNB_CommitID}"
- }
- } else {
- echo "Some parameters are missing"
- sh "./ci-scripts/fail.sh"
- }
- }
- }
- }
- stage ("Build and Test") {
- steps {
- script {
- dir ('ci-scripts') {
- echo "\u2705 \u001B[32m${testStageName}\u001B[0m"
- // If not present picking a default XML file
- if (params.pythonTestXmlFile == null) {
- // picking default
- testXMLFile = 'xml_files/enb_usrpB210_band7_50PRB.xml'
- echo "Test XML file(default): ${testXMLFile}"
- mainPythonAllXmlFiles += "--XMLTestFile=" + testXMLFile + " "
- } else {
- String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
- for (xmlFile in myXmlTestSuite) {
- if (fileExists(xmlFile)) {
- mainPythonAllXmlFiles += "--XMLTestFile=" + xmlFile + " "
- echo "Test XML file : ${xmlFile}"
- } else {
- echo "Test XML file ${xmlFile}: no such file"
- }
- }
- }
- sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} ${mainPythonAllXmlFiles}"
- String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
- for (xmlFile in myXmlTestSuite) {
- if (fileExists(xmlFile)) {
- try {
- timeout (time: 60, unit: 'MINUTES') {
- sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} --eNBSourceCodePath=${params.eNB_SourceCodePath} --XMLTestFile=${xmlFile}"
- }
- } catch (Exception e) {
- currentBuild.result = 'FAILURE'
- buildStageStatus = false
- }
- }
- }
- sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus}"
- }
- }
- }
- }
- stage('Log Collection') {
- parallel {
- stage('Log Collection (eNB - Run)') {
- steps {
- echo '\u2705 \u001B[32mLog Collection (eNB - Run)\u001B[0m'
- sh "python3 ci-scripts/main.py --mode=LogCollecteNB --eNBSourceCodePath=${params.eNB_SourceCodePath} --BuildId=${env.BUILD_ID}"
- script {
- if(fileExists("enb.log.${env.BUILD_ID}.zip")) {
- archiveArtifacts "enb.log.${env.BUILD_ID}.zip"
- }
- }
- }
- }
- }
- }
- }
-
- post {
- always {
- script {
- if(fileExists("ci-scripts/test_results.html")) {
- sh "mv ci-scripts/test_results.html test_results-${JOB_NAME}.html"
- sh "sed -i -e 's#TEMPLATE_JOB_NAME#${JOB_NAME}#' -e 's@build #TEMPLATE_BUILD_ID@build #${BUILD_ID}@' -e 's#Build-ID: TEMPLATE_BUILD_ID#Build-ID: ${BUILD_ID}#' -e 's#TEMPLATE_STAGE_NAME#${testStageName}#' test_results-${JOB_NAME}.html"
- archiveArtifacts "test_results-${JOB_NAME}.html"
- }
- if (params.pipelineZipsConsoleLog != null) {
- if (params.pipelineZipsConsoleLog) {
- echo "Archiving Jenkins console log"
- sh "wget --no-check-certificate --no-proxy ${env.JENKINS_URL}/job/${env.JOB_NAME}/${env.BUILD_ID}/consoleText -O consoleText.log || true"
- sh "zip -m consoleText.log.${env.BUILD_ID}.zip consoleText.log || true"
- if(fileExists("consoleText.log.${env.BUILD_ID}.zip")) {
- archiveArtifacts "consoleText.log.${env.BUILD_ID}.zip"
- }
- }
- }
- }
- }
- }
-}
diff --git a/ci-scripts/Jenkinsfile-tmp-ran b/ci-scripts/Jenkinsfile-tmp-ran
deleted file mode 100644
index 526899a5a2..0000000000
--- a/ci-scripts/Jenkinsfile-tmp-ran
+++ /dev/null
@@ -1,260 +0,0 @@
-#!/bin/groovy
-/*
- * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The OpenAirInterface Software Alliance licenses this file to You under
- * the OAI Public License, Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.openairinterface.org/?page_id=698
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *-------------------------------------------------------------------------------
- * For more information about the OpenAirInterface (OAI) Software Alliance:
- * contact@openairinterface.org
- */
-
-// Template Jenkins Declarative Pipeline script to run Test w/ RF HW
-
-// Location of the python executor node shall be in the same subnet as the others servers
-def pythonExecutor = params.pythonExecutor
-
-// Location of the test XML file to be run
-def testXMLFile = params.pythonTestXmlFile
-def mainPythonAllXmlFiles = ""
-def buildStageStatus = true
-
-// Name of the test stage
-def testStageName = params.pipelineTestStageName
-
-def lockResources = []
-if (params.LockResources != null && params.LockResources.trim().length() > 0)
- params.LockResources.trim().split(",").each{lockResources += [resource: it.trim()]}
-
-// Terminate Status
-def termUE = 0
-def termENB = 1
-def termSPGW = 2
-def termMME = 3
-def termHSS = 4
-def termStatusArray = new Boolean[termHSS + 1]
-termStatusArray[termUE] = false
-termStatusArray[termENB] = false
-termStatusArray[termSPGW] = false
-termStatusArray[termMME] = false
-termStatusArray[termHSS] = false
-
-// Global Parameters. Normally they should be populated when the master job
-// triggers the slave job with parameters
-def eNB_Repository
-def eNB_Branch
-def eNB_CommitID
-def eNB_AllowMergeRequestProcess = false
-def eNB_TargetBranch
-
-def flexricOption = ""
-
-pipeline {
- agent {
- label pythonExecutor
- }
- options {
- ansiColor('xterm')
- lock(extra: lockResources)
- }
- stages {
- stage("Build Init") {
- steps {
- // update the build name and description
- buildName "${params.eNB_MR}"
- buildDescription "Branch : ${params.eNB_Branch}"
- }
- }
- stage ("Verify Parameters") {
- steps {
- script {
- echo '\u2705 \u001B[32mVerify Parameters\u001B[0m'
- def allParametersPresent = true
-
- // It is already to late to check it
- if (params.pythonExecutor != null) {
- echo "eNB CI executor node : ${pythonExecutor}"
- }
- // If not present picking a default Stage Name
- if (params.pipelineTestStageName == null) {
- // picking default
- testStageName = 'Template Test Stage'
- }
-
- if (params.LockResources == null) {
- echo "no LockResources given"
- allParametersPresent = false
- }
- if (params.eNB_SourceCodePath == null) {
- allParametersPresent = false
- }
- // the following 4 parameters should be pushed by the master trigger
- // if not present, take the job GIT variables (used for developing)
- if (params.eNB_Repository == null) {
- eNB_Repository = env.GIT_URL
- } else {
- eNB_Repository = params.eNB_Repository
- }
- echo "eNB_Repository : ${eNB_Repository}"
- if (params.eNB_Branch == null) {
- eNB_Branch = env.GIT_BRANCH
- } else {
- eNB_Branch = params.eNB_Branch
- }
- echo "eNB_Branch : ${eNB_Branch}"
- if (params.eNB_CommitID == null) {
- eNB_CommitID = env.GIT_COMMIT
- } else {
- eNB_CommitID = params.eNB_CommitID
- }
- echo "eNB_CommitID : ${eNB_CommitID}"
- if (params.eNB_mergeRequest != null) {
- eNB_AllowMergeRequestProcess = params.eNB_mergeRequest
- if (eNB_AllowMergeRequestProcess) {
- if (params.eNB_TargetBranch != null) {
- eNB_TargetBranch = params.eNB_TargetBranch
- } else {
- eNB_TargetBranch = 'develop'
- }
- echo "eNB_TargetBranch : ${eNB_TargetBranch}"
- }
- }
-
- if (params.Flexric_Tag != null) {
- echo "This pipeline is configured to run with a FlexRIC deployment."
- echo "Appending FlexRicTag option to the list of options"
- flexricOption = "--FlexRicTag=${params.Flexric_Tag}"
- echo "Using new Flexric option: ${flexricOption}"
- }
-
- if (allParametersPresent) {
- echo "All parameters are present"
- if (eNB_AllowMergeRequestProcess) {
- sh "git fetch"
- sh "./ci-scripts/doGitLabMerge.sh --src-branch ${eNB_Branch} --src-commit ${eNB_CommitID} --target-branch ${eNB_TargetBranch} --target-commit latest"
- } else if (eNB_CommitID != 'develop') {
- sh "git fetch"
- sh "git checkout -f ${eNB_CommitID}"
- }
- } else {
- error "Some parameters are missing"
- }
- }
- }
- }
- stage ("Build and Test") {
- steps {
- script {
- dir ('ci-scripts') {
- echo "\u2705 \u001B[32m${testStageName}\u001B[0m"
- // If not present picking a default XML file
- if (params.pythonTestXmlFile == null) {
- // picking default
- testXMLFile = 'xml_files/enb_usrpB210_band7_50PRB.xml'
- echo "Test XML file(default): ${testXMLFile}"
- mainPythonAllXmlFiles += "--XMLTestFile=" + testXMLFile + " "
- } else {
- String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
- for (xmlFile in myXmlTestSuite) {
- if (fileExists(xmlFile)) {
- mainPythonAllXmlFiles += "--XMLTestFile=" + xmlFile + " "
- echo "Test XML file : ${xmlFile}"
- } else {
- echo "Test XML file ${xmlFile}: no such file"
- }
- }
- }
- sh "python3 main.py --mode=InitiateHtml --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} ${flexricOption} ${mainPythonAllXmlFiles}"
- String[] myXmlTestSuite = testXMLFile.split("\\r?\\n")
- for (xmlFile in myXmlTestSuite) {
- if (fileExists(xmlFile)) {
- try {
- timeout (time: 60, unit: 'MINUTES') {
- sh "python3 main.py --mode=TesteNB --ranRepository=${eNB_Repository} --ranBranch=${eNB_Branch} --ranCommitID=${eNB_CommitID} --ranAllowMerge=${eNB_AllowMergeRequestProcess} --ranTargetBranch=${eNB_TargetBranch} ${flexricOption} --eNBSourceCodePath=${params.eNB_SourceCodePath} --XMLTestFile=${xmlFile}"
- }
- } catch (Exception e) {
- currentBuild.result = 'FAILURE'
- buildStageStatus = false
- }
- }
- }
- sh "python3 main.py --mode=FinalizeHtml --finalStatus=${buildStageStatus}"
- }
- }
- }
- }
- stage ("Terminate") {
- parallel {
- stage('Terminate eNB') {
- steps {
- echo '\u2705 \u001B[32mTerminate eNB\u001B[0m'
- sh "python3 ci-scripts/main.py --mode=TerminateeNB"
- }
- post {
- success {
- script {
- termStatusArray[termENB] = true
- }
- }
- }
- }
- }
- }
- stage('Log Collection') {
- parallel {
- stage('Log Collection (eNB - Run)') {
- steps {
- echo '\u2705 \u001B[32mLog Collection (eNB - Run)\u001B[0m'
- sh "python3 ci-scripts/main.py --mode=LogCollecteNB --eNBSourceCodePath=${params.eNB_SourceCodePath} --BuildId=${env.BUILD_ID}"
- script {
- if(fileExists("enb.log.${env.BUILD_ID}.zip")) {
- archiveArtifacts "enb.log.${env.BUILD_ID}.zip"
- }
- if(fileExists("ci-scripts/test_results.html")) {
- sh "mv ci-scripts/test_results.html test_results-${JOB_NAME}.html"
- sh "sed -i -e 's#TEMPLATE_JOB_NAME#${JOB_NAME}#' -e 's@build #TEMPLATE_BUILD_ID@build #${BUILD_ID}@' -e 's#Build-ID: TEMPLATE_BUILD_ID#Build-ID: ${BUILD_ID}#' -e 's#TEMPLATE_STAGE_NAME#${testStageName}#' test_results-${JOB_NAME}.html"
- archiveArtifacts "test_results-${JOB_NAME}.html"
- }
- }
- }
- }
- }
- }
- }
-
- post {
- always {
- script {
- if (params.pipelineZipsConsoleLog != null) {
- if (params.pipelineZipsConsoleLog) {
- echo "Archiving Jenkins console log"
- sh "wget --no-check-certificate --no-proxy ${env.JENKINS_URL}/job/${env.JOB_NAME}/${env.BUILD_ID}/consoleText -O consoleText.log || true"
- sh "zip -m consoleText.log.${env.BUILD_ID}.zip consoleText.log || true"
- if(fileExists("consoleText.log.${env.BUILD_ID}.zip")) {
- archiveArtifacts "consoleText.log.${env.BUILD_ID}.zip"
- }
- }
- }
- }
- }
- // Making sure that we really shutdown every thing before leaving
- failure {
- script {
- if (!termStatusArray[termENB]) {
- sh "python3 ci-scripts/main.py --mode=TerminateeNB"
- }
- }
- }
- }
-}