Migrate to gerrit-maven-stage (CLAMP)
[ci-management.git] / jjb / onap-jjb / onap-pypi-template.yaml
1 ---
2 # Job definition Anchors
3 - pypi_job_boiler_plate: &pypi_job_boiler_plate
4     name: pypi_job_boiler_plate
5
6     #####################
7     #   Job Variables   #
8     #####################
9
10     gerrit_merge_triggers:
11       - change-merged-event
12       - comment-added-contains-event:
13           comment-contains-value: pypi-remerge$
14
15     gerrit_release_trigger:
16       - comment-added-contains-event:
17           comment-contains-value: pypi-release$
18
19     gerrit_trigger_file_paths:
20       - compare-type: ANT
21         pattern: '**'
22
23     submodule-timeout: 10
24
25     #####################
26     # Job Configuration #
27     #####################
28
29     project-type: freestyle
30     node: '{build-node}'
31
32     parameters:
33       - lf-infra-parameters:
34           project: '{project}'
35           branch: '{branch}'
36           stream: '{stream}'
37           lftools-version: '{lftools-version}'
38       - lf-infra-tox-parameters:
39           tox-dir: '{tox-dir}'
40           tox-envs: '{tox-envs}'
41
42
43     properties:
44       - lf-infra-properties:
45           build-days-to-keep: '{build-days-to-keep}'
46
47     scm:
48       - lf-infra-gerrit-scm:
49           jenkins-ssh-credential: '{jenkins-ssh-credential}'
50           git-url: '$GIT_URL/$PROJECT'
51           refspec: '$GERRIT_REFSPEC'
52           branch: '$GERRIT_BRANCH'
53           submodule-recursive: true
54           submodule-timeout: '{submodule-timeout}'
55           choosing-strategy: default
56
57     wrappers:
58       - lf-infra-wrappers:
59           build-timeout: '{build-timeout}'
60           jenkins-ssh-credential: '{jenkins-ssh-credential}'
61
62     publishers:
63       - lf-infra-publish
64
65 - job-template:
66     name: '{project-name}-python-staging-{stream}'
67
68     # Job template for PyPI staging jobs
69     # Daily Builds
70
71     <<: *pypi_job_boiler_plate
72
73     triggers:
74       - gerrit:
75           server-name: '{gerrit-server-name}'
76           trigger-on: '{obj:gerrit_merge_triggers}'
77           projects:
78             - project-compare-type: ANT
79               project-pattern: '{project}'
80               branches:
81                 - branch-compare-type: ANT
82                   branch-pattern: '**/{branch}'
83               file-paths: '{obj:gerrit_trigger_file_paths}'
84
85     builders:
86       - lf-infra-tox-install:
87           python-version: '{python-version}'
88       - shell: !include-raw-escape: ../global-jjb/shell/tox-run.sh
89       - config-file-provider:
90           files:
91             - file-id: pypirc
92               target: '$HOME/.pypirc'
93       - shell:
94           !include-raw-escape: ../../shell/pypi-dist-build.sh
95
96       - publish-pypi:
97           pypi-server: staging
98
99 - job-template:
100     name: '{project-name}-python-release-{stream}'
101
102     # Job template for PyPI release jobs
103
104     <<: *pypi_job_boiler_plate
105
106     triggers:
107       - gerrit:
108           server-name: '{gerrit-server-name}'
109           trigger-on: '{obj:gerrit_release_trigger}'
110           projects:
111             - project-compare-type: ANT
112               project-pattern: '{project}'
113               branches:
114                 - branch-compare-type: ANT
115                   branch-pattern: '**/{branch}'
116               file-paths: '{obj:gerrit_trigger_file_paths}'
117
118     builders:
119       - lf-infra-tox-install:
120           python-version: '{python-version}'
121       - shell: !include-raw-escape: ../global-jjb/shell/tox-run.sh
122       - config-file-provider:
123           files:
124             - file-id: pypirc
125               target: '$HOME/.pypirc'
126       - shell:
127           !include-raw-escape: ../../shell/pypi-dist-build.sh
128
129       - publish-pypi:
130           pypi-server: release
131
132 - job-template:
133     name: '{project-name}-{subproject}-python-staging-{stream}'
134
135     # Job template for PyPI staging jobs
136     # Daily Builds
137
138     <<: *pypi_job_boiler_plate
139
140     triggers:
141       - gerrit:
142           server-name: '{gerrit-server-name}'
143           trigger-on: '{obj:gerrit_merge_triggers}'
144           projects:
145             - project-compare-type: ANT
146               project-pattern: '{project}'
147               branches:
148                 - branch-compare-type: ANT
149                   branch-pattern: '**/{branch}'
150               file-paths: '{obj:gerrit_trigger_file_paths}'
151
152     builders:
153       - lf-infra-tox-install:
154           python-version: '{python-version}'
155       - shell: !include-raw-escape: ../global-jjb/shell/tox-run.sh
156       - config-file-provider:
157           files:
158             - file-id: pypirc
159               target: '$HOME/.pypirc'
160       - shell:
161           !include-raw-escape: ../../shell/pypi-dist-build.sh
162
163       - publish-pypi:
164           pypi-server: staging
165
166 - job-template:
167     name: '{project-name}-{subproject}-python-release-{stream}'
168
169     # Job template for PyPI release jobs
170
171     <<: *pypi_job_boiler_plate
172
173     triggers:
174       - gerrit:
175           server-name: '{gerrit-server-name}'
176           trigger-on: '{obj:gerrit_release_trigger}'
177           projects:
178             - project-compare-type: ANT
179               project-pattern: '{project}'
180               branches:
181                 - branch-compare-type: ANT
182                   branch-pattern: '**/{branch}'
183               file-paths: '{obj:gerrit_trigger_file_paths}'
184
185     builders:
186       - lf-infra-tox-install:
187           python-version: '{python-version}'
188       - shell: !include-raw-escape: ../global-jjb/shell/tox-run.sh
189       - config-file-provider:
190           files:
191             - file-id: pypirc
192               target: '$HOME/.pypirc'
193       - shell:
194           !include-raw-escape: ../../shell/pypi-dist-build.sh
195
196       - publish-pypi:
197           pypi-server: release