Merge "Adding sonar job for rtmgr"
authorJessica Wagantall <jwagantall@linuxfoundation.org>
Tue, 21 Apr 2020 16:30:04 +0000 (16:30 +0000)
committerGerrit Code Review <gerrit@o-ran-sc.org>
Tue, 21 Apr 2020 16:30:04 +0000 (16:30 +0000)
global-jjb
jjb/ci-management/ci-jobs.yaml
jjb/it-dep/it-dep.yaml
jjb/it-dev/it-dev-docker.yaml
jjb/it-dev/it-dev.yaml
jjb/oran-templates/oran-c-cpp-jobs.yaml [deleted file]
jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml
jjb/ric-plt-xapp-frame-cpp/ric-plt-xapp-frame-cpp.yaml
jjb/ric-plt-xapp-frame-py/ric-plt-xapp-frame-py.yaml
jjb/scp-ocu-openlte/scp-ocu-openlte.yaml [deleted file]
jjb/sim-e2-interface/sim-e2-interface.yaml

index 5c0ab82..58776ad 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 5c0ab82a3e6479cf0ac2a34e97503a0af4c19fde
+Subproject commit 58776ad5961580fcdc1cc56a9309e9da52e7673c
index cf380e3..42fd7a9 100644 (file)
@@ -9,6 +9,9 @@
 
 - project:
     name: ci-jobs
+    # configure the gerrit-jjb-verify job
+    build-node-label-check: true
+    build-node-label-list: ""
 
     jobs:
       - '{project-name}-ci-jobs'
index 076c30b..653428b 100644 (file)
@@ -40,6 +40,7 @@
     docker-build-args: -f ci/Dockerfile
     # any tag will do
     container-tag-method: latest
+    submodule-disable: true
     jobs:
       - gerrit-docker-verify
     stream:
@@ -58,6 +59,9 @@
     docker-name: 'o-ran-sc/{name}'
     # use host network for network resources
     docker-build-args: '--network=host -f ci/Dockerfile-package'
+    gerrit_trigger_file_paths:
+      - compare-type: REG_EXP
+        pattern: 'ci/package-tag.yaml'
     jobs:
       - gerrit-docker-verify
       - oran-gerrit-docker-ci-pc-merge
 - project:
     <<: *it_dep_common
     name: it-dep-release
-    branch: master
     # maven release requires sigul which requires centos
     # container release requires docker
     build-node: centos7-docker-2c-8g
     jobs:
       - '{project-name}-gerrit-release-jobs'
+
+
+- project:
+    <<: *it_dep_common
+    name: it-dep-packagecloud-release
+    jobs:
+      - 'gerrit-packagecloud-release-verify'
+      - 'gerrit-packagecloud-release-merge'
index 08701b4..c58b7ac 100644 (file)
     # get tag from YAML
     container-tag-method: yaml-file
     # Jenkins job prefix
-    project-name: 'it-dev-{img}'
+    project-name: 'it-dev-{name}'
     # Docker image name
-    docker-name: '{img}'
+    docker-name: '{name}'
     # Directory with Dockerfile
-    docker-root: 'bldr-imgs/{img}'
+    docker-root: 'bldr-imgs/{name}'
     # Limit build trigger to appropriate files;
     gerrit_trigger_file_paths:
       - compare-type: REG_EXP
-        pattern: 'bldr-imgs/{img}/.*'
+        pattern: 'bldr-imgs/{name}/.*'
     # Includes verify and merge jobs
     jobs:
       - '{project-name}-gerrit-docker-jobs'
       - master:
           branch: master
 
-# Each project name is a subdirectory in bldr-images
+# Each project name is a directory in o-ran-sc/it-dev/bldr-imgs
 # with a Dockerfile and a container-tag.yaml file
-# TODO: coalesce name+img after removing projects from ci-management
 
 - project:
-    name: it-dev-alpine3
-    img: bldr-alpine3
+    name: bldr-alpine3
     <<: *it_dev_docker_common
 
 - project:
-    name: it-dev-alpine3-go
-    img: bldr-alpine3-go
+    name: bldr-alpine3-go
     <<: *it_dev_docker_common
 
 - project:
-    name: it-dev-ubuntu18-c-go
-    img: bldr-ubuntu18-c-go
+    name: bldr-alpine3-rmr
+    <<: *it_dev_docker_common
+
+- project:
+    name: bldr-ubuntu18-c-go
     <<: *it_dev_docker_common
index 6d9ccd6..4dcbb96 100644 (file)
@@ -71,8 +71,8 @@
         sonar.organization={sonarcloud_project_organization}
         sonar.build.sourceEncoding=UTF-8
         sonar.sources=xapp_onboarder
-        sonar.exclusions=setup.py,tests/*.py
-        sonar.python.coverage.reportPaths=coverage.xml
+        sonar.exclusions=setup.py,xapp_onboarder/tests/*.py
+        sonar.python.coverage.reportPaths=xapp_onboarder/coverage.xml
     jobs:
       - gerrit-tox-sonarqube
 
diff --git a/jjb/oran-templates/oran-c-cpp-jobs.yaml b/jjb/oran-templates/oran-c-cpp-jobs.yaml
deleted file mode 100644 (file)
index 2291c42..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-#   Copyright (c) 2020 AT&T Intellectual Property.
-#
-#   Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
-#
-#   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.
----
-
-# This file is structured with a cmake alias/anchor, an alias/anchor,
-# and a job-template to simplify the task of lifting it to global-jjb.
-
-####################
-# COMMON FUNCTIONS #
-####################
-
-# Clone of lf_cmake_common which isn't visible here
-- oran_cmake_common: &oran_cmake_common
-    name: oran-cmake-common
-
-    #####################
-    # Job Configuration #
-    #####################
-
-    project-type: freestyle
-    node: "{build-node}"
-    disabled: "{disable-job}"
-
-    properties:
-      - lf-infra-properties:
-          build-days-to-keep: "{build-days-to-keep}"
-
-    parameters:
-      - lf-infra-parameters:
-          project: "{project}"
-          branch: "{branch}"
-          stream: "{stream}"
-      - lf-cmake-parameters:
-          build-dir: "{build-dir}"
-          cmake-opts: "{cmake-opts}"
-          install-prefix: "{install-prefix}"
-          make-opts: "{make-opts}"
-
-    wrappers:
-      - lf-infra-wrappers:
-          build-timeout: "{build-timeout}"
-          jenkins-ssh-credential: "{jenkins-ssh-credential}"
-
-    publishers:
-      - lf-infra-publish
-
-##################
-# CMAKE+PC STAGE #
-##################
-
-- oran_cmake_pc_stage: &oran_cmake_pc_stage
-    name: oran-cmake-pc-stage
-
-    ######################
-    # Default parameters #
-    ######################
-
-    branch: master
-    build-days-to-keep: 7
-    build-dir: "$WORKSPACE/build"
-    build-timeout: 15
-    cmake-opts: ""
-    cron: "" # avoid for PackageCloud which rejects duplicates
-    disable-job: false
-    git-url: "$GIT_URL/$PROJECT"
-    github-url: "https://github.com"
-    install-prefix: "$BUILD_DIR/output"
-    make-opts: ""
-    pre-build: ""
-    stream: master
-    submodule-recursive: true
-    submodule-timeout: 10
-    submodule-disable: false
-
-    gerrit_trigger_file_paths:
-      - compare-type: REG_EXP
-        pattern: ".*"
-
-    # github_included_regions MUST match gerrit_trigger_file_paths
-    github_included_regions:
-      - ".*"
-
-    builders:
-      - config-file-provider:
-          files:
-            - file-id: ".packagecloud"
-              target: "$HOME/.packagecloud"
-      - shell: "{pre-build}"
-      - shell: !include-raw-escape: ../shell/cmake-package.sh
-      - oran-packagecloud-push:
-          build-dir: "{build-dir}"
-          packagecloud-account: "{packagecloud-account}"
-          packagecloud-repo: "{packagecloud-repo}"
-          debian-distribution-versions: "{debian-distribution-versions}"
-          rpm-distribution-versions: "{rpm-distribution-versions}"
-
-- job-template:
-    # build with cmake and publish to PackageCloud on command
-    name: "{project-name}-cmake-pc-stage-{stream}"
-    id: oran-gerrit-cmake-pc-stage
-    <<: *oran_cmake_common
-    <<: *oran_cmake_pc_stage
-
-    ######################
-    # Default parameters #
-    ######################
-
-    gerrit_stage_triggers:
-      - comment-added-contains-event:
-          comment-contains-value: '^Patch Set\s+\d+:\s+stage-release\s*$'
-
-    #####################
-    # Job Configuration #
-    #####################
-
-    scm:
-      - lf-infra-gerrit-scm:
-          jenkins-ssh-credential: "{jenkins-ssh-credential}"
-          git-url: "{git-url}"
-          refspec: "$GERRIT_REFSPEC"
-          branch: "$GERRIT_BRANCH"
-          submodule-recursive: "{submodule-recursive}"
-          submodule-timeout: "{submodule-timeout}"
-          submodule-disable: "{submodule-disable}"
-          # stage jobs always build from tip
-          choosing-strategy: default
-
-    triggers:
-      - timed: "{obj:cron}"
-      - gerrit:
-          server-name: "{gerrit-server-name}"
-          trigger-on: "{obj:gerrit_stage_triggers}"
-          projects:
-            - project-compare-type: ANT
-              project-pattern: "{project}"
-              branches:
-                - branch-compare-type: ANT
-                  branch-pattern: "**/{branch}"
-              file-paths: "{obj:gerrit_trigger_file_paths}"
index ff3fae1..3244486 100644 (file)
@@ -1,6 +1,4 @@
-# The ric-plt/lib/rmr repository contains two projects:
-# 1) C shared library published as deb/rpm to PackageCloud.io
-# 2) Python bindings published as package to PyPI.org
+# C shared library published as deb/rpm to PackageCloud.io
 ---
 - project:
     name: ric-plt-lib-rmr-project-view
@@ -23,8 +21,6 @@
     # maven settings file has credentials to archive artifacts
     mvn-settings: ric-plt-lib-rmr-settings
 
-### RMR C LIBRARY ###
-
 - rmr_c_common: &rmr_c_common
     name: rmr-c-common
     # jenkins job name prefix
@@ -48,7 +44,9 @@
     <<: *rmr_c_common
     name: ric-plt-lib-rmr-c-verify
     project-name: ric-plt-lib-rmr-c
-    cmake-opts: -DDEV_PKG=1
+    cmake-opts: -DDEV_PKG=1 -DBUILD_DOC=1
+    # skip install in cmake-build.sh
+    install: false
     make-opts: package test ARGS=-V
     jobs:
       - gerrit-cmake-verify
@@ -66,7 +64,7 @@
     make-opts: package ARGS=-V
     install-prefix: /usr/local
     jobs:
-      - oran-gerrit-cmake-pc-stage
+      - gerrit-cmake-packagecloud-stage
     stream:
       - master:
           branch: master
@@ -81,7 +79,7 @@
     make-opts: package ARGS=-V
     install-prefix: /usr/local
     jobs:
-      - oran-gerrit-cmake-pc-stage
+      - gerrit-cmake-packagecloud-stage
     stream:
       - master:
           branch: master
         sonar.cfamily.gcov.reportsPath=test
     jobs:
       - gerrit-cmake-sonarqube
-
-### RMR PYTHON PACKAGE ###
-
-- rmr_py_common: &rmr_py_common
-    name: rmr-py-common
-    # jenkins job name prefix
-    project-name: ric-plt-lib-rmr-py
-    # the pre-build-script installs RHEL packages
-    build-node: centos7-builder-1c-1g
-    # install prereqs
-    pre-build-script: !include-raw-escape: ../shell/install-rpm-nng-rmr.sh
-    python-version: python3.6
-    # bindings live in a subdirectory
-    tox-dir: src/bindings/rmr-python
-    gerrit_trigger_file_paths:
-      - compare-type: REG_EXP
-        pattern: 'src/bindings/rmr-python/.*'
-
-# verify py changes on every branch
-- project:
-    <<: *rmr_common
-    <<: *rmr_py_common
-    name: ric-plt-lib-rmr-py-verify
-    stream:
-      - all:
-          branch: '*'
-    jobs:
-      - gerrit-pypi-verify
-
-# build and publish distributions to test.pypi.org from master
-- project:
-    <<: *rmr_common
-    <<: *rmr_py_common
-    name: ric-plt-lib-rmr-py-merge
-    stream:
-      - master:
-          branch: master
-    jobs:
-      - gerrit-pypi-merge
-
-# promote package from test.pypi.org to pypi.org
-- project:
-    <<: *rmr_common
-    <<: *rmr_py_common
-    name: ric-plt-lib-rmr-py-release
-    jobs:
-      - '{project-name}-gerrit-pypi-release-jobs'
-
-# analyze Py code and test coverage
-- project:
-    <<: *rmr_common
-    <<: *rmr_py_common
-    name: ric-plt-lib-rmr-py-sonarqube
-    sonar-project-file: ""
-    sonar-properties: |
-        sonar.login={sonarcloud_api_token}
-        sonar.projectKey={sonarcloud_project_organization}_{project-name}
-        sonar.projectName={project-name}
-        sonar.organization={sonarcloud_project_organization}
-        sonar.build.sourceEncoding=UTF-8
-        sonar.sources=src/bindings/rmr-python
-        sonar.exclusions=setup.py,tests/*.py
-        sonar.python.coverage.reportPaths=coverage.xml
-    jobs:
-      - gerrit-tox-sonarqube
index fe44103..3ca6af3 100644 (file)
     # Use ubuntu base for cmake v3
     # Use docker variant for packagecloud ruby gem
     build-node: ubuntu1804-docker-4c-4g
+    # pre-build scripts for CMake templates:
     # install alien package to build RPMS
-    # install RMR per version file in repo for ubuntu
+    # install RMR per version file in repo
     pre-build: !include-raw-escape:
       - ../shell/install-deb-alien.sh
       - ../shell/install-deb-rmr3.sh
+    # skip install in cmake-build.sh
+    install: false
 
-# development library - publish only
+# verify every commit
 - project:
-    name: xapp-frame-cpp-lib-dev
     <<: *xapp_frame_cpp_common
-    project-name: ric-plt-xapp-frame-cpp-dev
+    name: xapp-frame-cpp-verify
     cmake-opts: -DDEV_PKG=1
-    make-opts: package ARGS=-V
+    make-opts: package test ARGS=-V
     jobs:
-      - oran-gerrit-cmake-pc-stage
+      - gerrit-cmake-verify
+    stream:
+      - master:
+          branch: master
+
+# development library - package and publish
+- project:
+    <<: *xapp_frame_cpp_common
+    name: ric-plt-xapp-frame-cpp-dev
+    project-name: '{name}'
+    cmake-opts: -DDEV_PKG=1
+    make-opts: package
+    install-prefix: /usr/local
+    jobs:
+      - gerrit-cmake-packagecloud-stage
     stream:
       - master:
           branch: master
 
-# runtime library - test and publish
+# runtime library - package and publish
 - project:
-    name: xapp-frame-cpp-lib-rt
     <<: *xapp_frame_cpp_common
-    project-name: ric-plt-xapp-frame-cpp-lib
+    name: ric-plt-xapp-frame-cpp-rt
+    project-name: '{name}'
     cmake-opts: -DDEV_PKG=0
-    make-opts: test package ARGS=-V
+    make-opts: package
+    install-prefix: /usr/local
     jobs:
-      - gerrit-cmake-verify
-      - oran-gerrit-cmake-pc-stage
+      - gerrit-cmake-packagecloud-stage
     stream:
       - master:
           branch: master
index e7061dc..da5f48f 100644 (file)
@@ -31,7 +31,8 @@
     name: ric-plt-xapp-frame-py-pypi
     <<: *py_common
     jobs:
-      - '{project-name}-gerrit-pypi-jobs'
+      - gerrit-pypi-verify
+      - gerrit-pypi-stage
     stream:
       - master:
           branch: master
diff --git a/jjb/scp-ocu-openlte/scp-ocu-openlte.yaml b/jjb/scp-ocu-openlte/scp-ocu-openlte.yaml
deleted file mode 100644 (file)
index 0c16fae..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
----
-- project:
-    name: scp-ocu-openlte-project-view
-    project-name: scp-ocu-openlte
-    views:
-      - project-view
-
-- project:
-    name: scp-ocu-openlte-info
-    project: scp/ocu/openlte
-    project-name: scp-ocu-openlte
-    build-node: centos7-builder-1c-1g
-    jobs:
-      - gerrit-info-yaml-verify
-
-- scp_ocu_openlte_common: &scp_ocu_openlte_common
-    # values apply to all scp/ocu/openlte docker projects
-    name: scp-ocu-openlte-common
-    # git repo
-    project: scp/ocu/openlte
-    # jenkins job name prefix
-    project-name: scp-ocu-openlte
-    # maven settings file has docker credentials
-    mvn-settings: scp-ocu-openlte-settings
-    # source of docker tag
-    container-tag-method: yaml-file
-
-- project:
-    <<: *scp_ocu_openlte_common
-    name: scp-ocu-openlte
-    # image name
-    docker-name: 'o-ran-sc/scp/ocu-openlte'
-    docker-build-args: '--network=host'
-    jobs:
-      - '{project-name}-gerrit-docker-jobs'
-    stream:
-      - master:
-          branch: master
-
-- project:
-    <<: *scp_ocu_openlte_common
-    name: scp-ocu-openlte-release
-    branch: master
-    # maven release requires sigul which requires centos
-    # container release requires docker
-    build-node: centos7-docker-2c-8g
-    jobs:
-      - '{project-name}-gerrit-release-jobs'
index a6d2ed4..6307700 100644 (file)
@@ -1,4 +1,10 @@
 ---
+- project:
+    name: sim-e2-interface-project-view
+    project-name: sim-e2-interface
+    views:
+      - project-view
+
 - project:
     name: sim-e2-interface-info
     project: sim/e2-interface
@@ -6,3 +12,38 @@
     build-node: centos7-builder-1c-1g
     jobs:
       - gerrit-info-yaml-verify
+
+- sim_e2_interface_docker: &sim_e2_interface_docker
+    # values apply to all sim/e2-interface docker projects
+    name: sim-e2-interface-docker
+    # git repo
+    project: sim/e2-interface
+    # jenkins job name prefix
+    project-name: sim-e2-interface
+    # maven settings file has docker credentials
+    mvn-settings: sim-e2-interface-settings
+    # source of docker tag
+    container-tag-method: yaml-file
+    build-node: ubuntu1804-docker-4c-4g
+    jobs:
+      - '{project-name}-gerrit-docker-jobs'
+    stream:
+      - master:
+          branch: master
+
+- project:
+    <<: *sim_e2_interface_docker
+    name: sim-e2-interface-e2sim
+    # jenkins job name prefix
+    project-name: '{name}'
+    # image name
+    docker-name: 'o-ran-sc/ntsim-e2-simulator'
+    # docker root
+    docker-root: e2sim
+    # dockerfile is in subdir
+    docker-build-args: '--network=host -f docker/Dockerfile'
+    # tag file is in subdir
+    container-tag-yaml-dir: e2sim/docker
+    gerrit_trigger_file_paths:
+      - compare-type: REG_EXP
+        pattern: '{docker-root}/.*'