X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=jjb%2Fric-plt-lib-rmr%2Fric-plt-lib-rmr.yaml;h=260090e8bd666ee209b43b5e22e39a2b56db1c4c;hb=ae80929d827af51c7e9d53ef2774292dc07426cf;hp=b5378a118eb0e3b98282760be80cc5e095edf72b;hpb=adf550e5f523a9a01b6e1c91a3c7e8b45b3c7e94;p=ci-management.git 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 b5378a11..260090e8 100644 --- a/jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml +++ b/jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml @@ -5,45 +5,129 @@ views: - project-view -- rmr_docker_common: &rmr_docker_common - # values apply to all RIC docker-build projects. - # factored out in case rmr needs multiple projects. - # use a specific name to prevent reuse attempts - # bcos anchors don't cross document boundaries. - name: rmr-docker-common - build-node: ubuntu1804-docker-4c-4g - # pull from the public mirror + releases registry - container-public-registry: nexus3.o-ran-sc.org:10001 - # push to the staging repo bcos all builds are RCs - container-push-registry: nexus3.o-ran-sc.org:10004 +- project: + name: ric-plt-lib-rmr-info + project: ric-plt/lib/rmr + project-name: ric-plt-lib-rmr + build-node: centos7-builder-1c-1g + jobs: + - gerrit-info-yaml-verify + +- rmr_common: &rmr_common + name: rmr-common + # git repo + project: ric-plt/lib/rmr + # jenkins job name prefix + project-name: ric-plt-lib-rmr + # maven settings file has credentials + mvn-settings: ric-plt-lib-rmr-settings + # image is not pushed, use trivial tag + container-tag-method: latest + # image name + docker-name: '{name}' + # use host network for network resources + docker-build-args: '--network=host -f ci/Dockerfile' + # exclude changes in the bindings subdirectory + gerrit_trigger_file_paths: + - compare-type: REG_EXP + pattern: '^((?!src/bindings|\/COMMIT_MSG).)*$' + +# verify RMR changes targeted at any branch +- project: + <<: *rmr_common + name: ric-plt-lib-rmr-verify + jobs: + - gerrit-docker-verify + stream: + - all: + branch: '*' + +# build RMR and publish to PackageCloud.io on merge to master branch +- project: + <<: *rmr_common + name: ric-plt-lib-rmr-merge + jobs: + - oran-gerrit-docker-ci-pc-merge stream: - master: branch: master -- project: - name: ric-plt-lib-rmr +- rmr_python_common: &rmr_python_common + name: rmr-python-common # git repo project: ric-plt/lib/rmr # jenkins job name prefix - project-name: '{name}' - # use host network to clone from our gerrit - docker-build-args: '--network=host -f ci/Dockerfile' - # image name - docker-name: '{name}' - # image tag, use a fixed value - container-tag-method: latest - # maven settings file has docker credentials + project-name: ric-plt-lib-rmr-python + # maven settings file has credentials mvn-settings: ric-plt-lib-rmr-settings + # sigul requires centos + build-node: centos7-builder-1c-1g + # install prereqs + pre-build-script: !include-raw-escape: ../shell/install-rpm-nng-rmr.sh + # 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 binding changes targeted at any branch +- project: + <<: *rmr_python_common + name: ric-plt-lib-rmr-python-pypi-verify + stream: + - all: + branch: '*' jobs: - # verify only; no merge bcos no image is pushed - - gerrit-docker-verify - <<: *rmr_docker_common + - gerrit-pypi-verify + +# build and publish distributions to test.pypi.org from master +- project: + <<: *rmr_python_common + name: ric-plt-lib-rmr-python-pypi-merge + stream: + - master: + branch: master + jobs: + - gerrit-pypi-merge + +# promote distributions from test to pypi.org +- project: + <<: *rmr_python_common + name: ric-plt-lib-rmr-python-pypi-release + jobs: + - '{project-name}-gerrit-pypi-release-jobs' + +- project: + <<: *rmr_python_common + name: ric-plt-lib-rmr-python-sonar + branch: master + python-version: python3 + # the pre-build-script installs debian packages + build-node: ubuntu1804-builder-2c-2g + # install prereqs + pre-build-script: !include-raw-escape: ../shell/install-deb-nng-rmr.sh + sonarcloud: true + sonarcloud-api-token: '{sonarcloud_api_token}' + sonarcloud-project-key: '{sonarcloud_project_organization}_{project-name}' + sonarcloud-project-organization: '{sonarcloud_project_organization}' + tox-dir: src/bindings/rmr-python + jobs: + - gerrit-tox-sonar - project: - name: ric-plt-lib-rmr-info project: ric-plt/lib/rmr project-name: ric-plt-lib-rmr + name: ric-plt-lib-rmr-release-verify + branch: master build-node: centos7-builder-1c-1g + jobs: + - gerrit-packagecloud-release-verify +- project: + project: ric-plt/lib/rmr + project-name: ric-plt-lib-rmr + name: ric-plt-lib-rmr-release-merge + branch: master + build-node: centos7-builder-1c-1g jobs: - - gerrit-info-yaml-verify + - gerrit-packagecloud-release-merge