- branch-compare-type: ANT
branch-pattern: '**/{branch}'
file-paths: '{obj:gerrit_trigger_file_paths}'
+
+# Build and publish artifact from gerrit by shell script.
+# Triggered automatically by merging specific release file;
+# can be run on any branch.
+#
+# Required parameters:
+# build-node: label (flavor) of jenkins build minion
+# project: git repository
+# project-name: Jenkins job name prefix
+# script: shell script to execute
+# Optional parameters:
+# branch: git branch pattern, defaults to master
+# stream: friendly stream name (often same as branch), defaults to master
+# gerrit_release_file_paths: Pathname pattern of the release file to trigger this job
+- job-template:
+ name: '{project-name}-shell-release-{stream}'
+ id: oran-shell-release
+ <<: *oran_shell_common
+
+ gerrit_release_file_paths:
+ - compare-type: REG_EXP
+ pattern: 'releases\/oran-shell-release.*\.yaml'
+
+ 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}'
+ choosing-strategy: default
+
+ triggers:
+ - gerrit:
+ server-name: '{gerrit-server-name}'
+ trigger-on:
+ - change-merged-event
+ projects:
+ - project-compare-type: ANT
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: ANT
+ branch-pattern: '**/{branch}'
+ file-paths: '{obj:gerrit_release_file_paths}'
+
- project:
<<: *pti_rtp_common
name: pti-rtp-merge
+ # runs about 40 minutes
+ build-timeout: 60
+ script: !include-raw-escape:
+ - install-yocto-prereq-centos.sh
+ - verify-yocto.sh
+ jobs:
+ - oran-shell-merge
+
+- project:
+ <<: *pti_rtp_common
+ name: pti-rtp-release-merge
# demand 200GB storage
build-node: centos7-docker-2c-8g-200g
# runs about 18 hours
- build-yocto.sh
- upload-yocto.sh
jobs:
- - oran-shell-merge
+ - oran-shell-release
- project:
<<: *a1_common
name: ric-plt-a1-sonar
- branch: master
python-version: python3
# the install script assumes an ubuntu image
build-node: ubuntu1804-builder-2c-2g
--- /dev/null
+---
+- project:
+ name: ric-plt-alarm-cpp-info
+ project: ric-plt/alarm-cpp
+ project-name: ric-plt-alarm-cpp
+ build-node: centos7-builder-1c-1g
+ jobs:
+ - gerrit-info-yaml-verify
--- /dev/null
+---
+- project:
+ name: ric-plt-alarm-go-info
+ project: ric-plt/alarm-go
+ project-name: ric-plt-alarm-go
+ build-node: centos7-builder-1c-1g
+ jobs:
+ - gerrit-info-yaml-verify
--- /dev/null
+---
+- project:
+ name: ric-plt-xapp-frame-cpp-info
+ project: ric-plt/xapp-frame-cpp
+ project-name: ric-plt-xapp-frame-cpp
+ build-node: centos7-builder-1c-1g
+ jobs:
+ - gerrit-info-yaml-verify
--- /dev/null
+---
+- project:
+ name: ric-plt-xapp-frame-py-project-view
+ project-name: ric-plt-xapp-frame-py
+ views:
+ - project-view
+
+- project:
+ name: ric-plt-xapp-frame-py-info
+ project: ric-plt/xapp-frame-py
+ project-name: ric-plt-xapp-frame-py
+ build-node: centos7-builder-1c-1g
+ jobs:
+ - gerrit-info-yaml-verify
+
+- py_common: &py_common
+ name: xapp-frame-py-common
+ # git repo
+ project: ric-plt/xapp-frame-py
+ # jenkins job name prefix
+ project-name: ric-plt-xapp-frame-py
+ # maven settings file has credentials
+ mvn-settings: ric-plt-xapp-frame-py-settings
+
+# verify distribution and publish to test.pypi.org
+- project:
+ name: ric-plt-xapp-frame-py-pypi
+ <<: *py_common
+ jobs:
+ - '{project-name}-gerrit-pypi-jobs'
+ stream:
+ - master:
+ branch: master
+
+# promote distribution from test.pypi.org to pypi.org
+- project:
+ name: ric-plt-xapp-frame-py-release
+ <<: *py_common
+ # maven release requires sigul which requires centos
+ build-node: centos7-builder-1c-1g
+ jobs:
+ - '{project-name}-gerrit-pypi-release-jobs'
+
+# analyze unit test coverage
+- project:
+ name: ric-plt-xapp-frame-py-sonar
+ <<: *py_common
+ python-version: python3
+ # the install script assumes an ubuntu image
+ build-node: ubuntu1804-builder-2c-2g
+ 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}'
+ jobs:
+ - gerrit-tox-sonar