Verify all RMR changes but publish only on master
[ci-management.git] / jjb / ric-plt-lib-rmr / ric-plt-lib-rmr.yaml
1 ---
2 - project:
3     name: ric-plt-lib-rmr-project-view
4     project-name: ric-plt-lib-rmr
5     views:
6       - project-view
7
8 - project:
9     name: ric-plt-lib-rmr-info
10     project: ric-plt/lib/rmr
11     project-name: ric-plt-lib-rmr
12     build-node: centos7-builder-1c-1g
13     jobs:
14       - gerrit-info-yaml-verify
15
16 - rmr_common: &rmr_common
17     name: rmr-common
18     # git repo
19     project: ric-plt/lib/rmr
20     # jenkins job name prefix
21     project-name: ric-plt-lib-rmr
22     # maven settings file has credentials
23     mvn-settings: ric-plt-lib-rmr-settings
24     # image is not pushed, use trivial tag
25     container-tag-method: latest
26     # image name
27     docker-name: '{name}'
28     # use host network for network resources
29     docker-build-args: '--network=host -f ci/Dockerfile'
30     # exclude changes in the bindings subdirectory
31     gerrit_trigger_file_paths:
32       - compare-type: REG_EXP
33         pattern: '^((?!src/bindings|\/COMMIT_MSG).)*$'
34
35 # verify RMR changes targeted at any branch
36 - project:
37     <<: *rmr_common
38     name: ric-plt-lib-rmr-verify
39     jobs:
40       - gerrit-docker-verify
41     stream:
42       - all:
43           branch: '*'
44
45 # build RMR and publish to PackageCloud.io on merge to master branch
46 - project:
47     <<: *rmr_common
48     name: ric-plt-lib-rmr-merge
49     jobs:
50       - oran-gerrit-docker-ci-pc-merge
51     stream:
52       - master:
53           branch: master
54
55 - rmr_python_common: &rmr_python_common
56     name: rmr-python-common
57     # git repo
58     project: ric-plt/lib/rmr
59     # jenkins job name prefix
60     project-name: ric-plt-lib-rmr-python
61     # maven settings file has credentials
62     mvn-settings: ric-plt-lib-rmr-settings
63     # sigul requires centos
64     build-node: centos7-builder-1c-1g
65     # install prereqs
66     pre-build-script: !include-raw-escape: ../shell/install-rpm-nng-rmr.sh
67     # bindings live in a subdirectory
68     tox-dir: src/bindings/rmr-python
69     gerrit_trigger_file_paths:
70       - compare-type: REG_EXP
71         pattern: 'src/bindings/rmr-python/.*'
72
73 # verify binding changes targeted at any branch
74 - project:
75     <<: *rmr_python_common
76     name: ric-plt-lib-rmr-python-pypi-verify
77     stream:
78       - all:
79           branch: '*'
80     jobs:
81       - gerrit-pypi-verify
82
83 # build and publish distributions to test.pypi.org from master
84 - project:
85     <<: *rmr_python_common
86     name: ric-plt-lib-rmr-python-pypi-merge
87     stream:
88       - master:
89           branch: master
90     jobs:
91       - gerrit-pypi-verify
92
93 # promote distributions from test to pypi.org
94 - project:
95     <<: *rmr_python_common
96     name: ric-plt-lib-rmr-python-pypi-release
97     jobs:
98       - '{project-name}-gerrit-pypi-release-jobs'
99
100 - project:
101     <<: *rmr_python_common
102     name: ric-plt-lib-rmr-python-sonar
103     branch: master
104     python-version: python3
105     # the pre-build-script installs debian packages
106     build-node: ubuntu1804-builder-2c-2g
107     # install prereqs
108     pre-build-script: !include-raw-escape: ../shell/install-deb-nng-rmr.sh
109     sonarcloud: true
110     sonarcloud-api-token: '{sonarcloud_api_token}'
111     sonarcloud-project-key: '{sonarcloud_project_organization}_{project-name}'
112     sonarcloud-project-organization: '{sonarcloud_project_organization}'
113     tox-dir: src/bindings/rmr-python
114     jobs:
115       - gerrit-tox-sonar