From: Jessica Wagantall Date: Wed, 8 Apr 2020 17:35:27 +0000 (+0000) Subject: Merge "Add PyPI stage job, drop merge for xapp-frame-py" X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=6f8030208432ed6d929e37102a7af4fbe359a750;hp=758eadc69ef226b31c0adafdfd912e22f8e3589c;p=ci-management.git Merge "Add PyPI stage job, drop merge for xapp-frame-py" --- diff --git a/global-jjb b/global-jjb index d315b074..58776ad5 160000 --- a/global-jjb +++ b/global-jjb @@ -1 +1 @@ -Subproject commit d315b074b6c0f82c83c50344103651c9411c4ce9 +Subproject commit 58776ad5961580fcdc1cc56a9309e9da52e7673c diff --git a/jjb/ci-management/ci-jobs.yaml b/jjb/ci-management/ci-jobs.yaml index cf380e3a..42fd7a9f 100644 --- a/jjb/ci-management/ci-jobs.yaml +++ b/jjb/ci-management/ci-jobs.yaml @@ -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' diff --git a/jjb/com-pylog/com-pylog.yaml b/jjb/com-pylog/com-pylog.yaml index 6be814d1..e41e9f04 100644 --- a/jjb/com-pylog/com-pylog.yaml +++ b/jjb/com-pylog/com-pylog.yaml @@ -37,7 +37,8 @@ - master: branch: master jobs: - - '{project-name}-gerrit-pypi-jobs' + - gerrit-pypi-verify + - gerrit-pypi-stage # promote package from test.pypi.org to pypi.org - project: diff --git a/jjb/it-dev/it-dev.yaml b/jjb/it-dev/it-dev.yaml index 6d9ccd66..4dcbb964 100644 --- a/jjb/it-dev/it-dev.yaml +++ b/jjb/it-dev/it-dev.yaml @@ -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 index 2291c424..00000000 --- a/jjb/oran-templates/oran-c-cpp-jobs.yaml +++ /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}" diff --git a/jjb/portal-ric-dashboard/portal-ric-dashboard.yaml b/jjb/portal-ric-dashboard/portal-ric-dashboard.yaml index 908e5782..83c3945b 100644 --- a/jjb/portal-ric-dashboard/portal-ric-dashboard.yaml +++ b/jjb/portal-ric-dashboard/portal-ric-dashboard.yaml @@ -9,7 +9,7 @@ name: portal-ric-dashboard-info project: portal/ric-dashboard project-name: portal-ric-dashboard - build-node: centos7-builder-1c-1g + build-node: centos8-builder-1c-1g jobs: - gerrit-info-yaml-verify diff --git a/jjb/ric-app-qp-driver/ric-app-qp-driver.yaml b/jjb/ric-app-qp-driver/ric-app-qp-driver.yaml index 7c74a02e..ef4ba977 100644 --- a/jjb/ric-app-qp-driver/ric-app-qp-driver.yaml +++ b/jjb/ric-app-qp-driver/ric-app-qp-driver.yaml @@ -38,7 +38,7 @@ <<: *qpd_common name: ric-app-qp-driver-docker # image name - docker-name: 'o-ran-sc/{name}' + docker-name: 'o-ran-sc/ric-app-qp-driver' # source of docker tag container-tag-method: yaml-file # use host network diff --git a/jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml b/jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml index ff3fae16..32444868 100644 --- a/jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml +++ b/jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml @@ -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 @@ -115,68 +113,3 @@ 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 diff --git a/jjb/ric-plt-xapp-frame-cpp/ric-plt-xapp-frame-cpp.yaml b/jjb/ric-plt-xapp-frame-cpp/ric-plt-xapp-frame-cpp.yaml index fe441038..3ca6af35 100644 --- a/jjb/ric-plt-xapp-frame-cpp/ric-plt-xapp-frame-cpp.yaml +++ b/jjb/ric-plt-xapp-frame-cpp/ric-plt-xapp-frame-cpp.yaml @@ -26,35 +26,51 @@ # 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 diff --git a/jjb/sim-o1-interface/sim-o1-interface.yaml b/jjb/sim-o1-interface/sim-o1-interface.yaml index e8c9c0f8..0885b29d 100644 --- a/jjb/sim-o1-interface/sim-o1-interface.yaml +++ b/jjb/sim-o1-interface/sim-o1-interface.yaml @@ -13,7 +13,7 @@ jobs: - gerrit-info-yaml-verify -- sim_o1_interface_common: &sim_o1_interface_common +- sim_o1_interface_docker: &sim_o1_interface_docker # values apply to all sim/o1-interface docker projects name: sim-o1-interface-common # git repo @@ -24,55 +24,80 @@ mvn-settings: sim-o1-interface-settings # source of docker tag container-tag-method: yaml-file + docker-root: ntsimulator + build-node: ubuntu1804-docker-4c-4g + jobs: + - '{project-name}-gerrit-docker-jobs' + stream: + - master: + branch: master - project: - <<: *sim_o1_interface_common - name: sim-o1-interface-manager + <<: *sim_o1_interface_docker + name: sim-o1-interface-ntsim-manager # jenkins job name prefix project-name: '{name}' # image name - docker-name: 'o-ran-sc/{name}' - docker-root: ntsimulator - # dockerfile is in subdir; needed because Dockerfile includes files outside of build context - docker-build-args: '--network=host -f deploy/manager/Dockerfile' + docker-name: 'o-ran-sc/ntsim-manager' + # dockerfile is in subdir + docker-build-args: '--network=host -f deploy/nts-manager/Dockerfile' # tag file is in subdir - container-tag-yaml-dir: ntsimulator/deploy/manager + container-tag-yaml-dir: ntsimulator/deploy/nts-manager gerrit_trigger_file_paths: - compare-type: REG_EXP - pattern: 'ntsimulator/deploy/manager/.*' + pattern: 'ntsimulator/deploy/nts-manager/.*' - compare-type: REG_EXP pattern: 'ntsimulator/src/ntsimulator-manager/.*' - compare-type: REG_EXP - pattern: 'ntsimulator/yang/manager/.*' - jobs: - - '{project-name}-gerrit-docker-jobs' - stream: - - master: - branch: master + pattern: 'ntsimulator/yang/nts-manager/.*' - project: - <<: *sim_o1_interface_common - name: sim-o1-interface-device + <<: *sim_o1_interface_docker + name: sim-o1-interface-o-ran-ru-fh # jenkins job name prefix project-name: '{name}' # image name - docker-name: 'o-ran-sc/{name}' - docker-root: ntsimulator - # dockerfile is in subdir; needed because Dockerfile includes files outside of build context - docker-build-args: '--network=host -f deploy/Dockerfile' + docker-name: 'o-ran-sc/ntsim-o-ran-ru-fh' + # dockerfile is in subdir + docker-build-args: '--network=host -f deploy/o-ran/ru-fh/Dockerfile' # tag file is in subdir - container-tag-yaml-dir: ntsimulator/deploy + container-tag-yaml-dir: ntsimulator/deploy/o-ran/ru-fh + gerrit_trigger_file_paths: + - compare-type: REG_EXP + pattern: 'ntsimulator/.*' + +- project: + <<: *sim_o1_interface_docker + name: sim-o1-interface-o-ran-ru + # jenkins job name prefix + project-name: '{name}' + # image name + docker-name: 'o-ran-sc/ntsim-o-ran-ru' + # dockerfile is in subdir + docker-build-args: '--network=host -f deploy/o-ran-sc/o-ran-ru/Dockerfile' + # tag file is in subdir + container-tag-yaml-dir: ntsimulator/deploy/o-ran-sc/o-ran-ru + gerrit_trigger_file_paths: + - compare-type: REG_EXP + pattern: 'ntsimulator/.*' + +- project: + <<: *sim_o1_interface_docker + name: sim-o1-interface-x-ran + # jenkins job name prefix + project-name: '{name}' + # image name + docker-name: 'o-ran-sc/ntsim-x-ran' + # dockerfile is in subdir + docker-build-args: '--network=host -f deploy/x-ran/Dockerfile' + # tag file is in subdir + container-tag-yaml-dir: ntsimulator/deploy/x-ran gerrit_trigger_file_paths: - compare-type: REG_EXP pattern: 'ntsimulator/.*' - jobs: - - '{project-name}-gerrit-docker-jobs' - stream: - - master: - branch: master - project: - <<: *sim_o1_interface_common + <<: *sim_o1_interface_docker name: sim-o1-interface-release branch: master # maven release requires sigul which requires centos