a5da02b0ca4fe0b08125a1f615e6163b69e230a7
[releng/global-jjb.git] / jjb / lf-c-cpp-jobs.yaml
1 ---
2 ################
3 # CMAKE VERIFY #
4 ################
5
6 - lf_cmake_verify: &lf_cmake_verify
7     name: lf-cmake-verify
8
9     ######################
10     # Default parameters #
11     ######################
12
13     branch: master
14     build-days-to-keep: 7
15     build-dir: '$WORKSPACE/target'
16     build-timeout: 15
17     cmake-opts: ''
18     git-url: '$GIT_URL/$PROJECT'
19     install-prefix: '$BUILD_DIR/output'
20     make-opts: ''
21     pre-build: ''
22     stream: master
23     submodule-recursive: true
24
25     gerrit_verify_triggers:
26       - patchset-created-event:
27           exclude-drafts: true
28           exclude-trivial-rebase: false
29           exclude-no-code-change: false
30       - draft-published-event
31       - comment-added-contains-event:
32           comment-contains-value: '^Patch Set[ ]+[0-9]+:([ ]+|[\n]+)(recheck|reverify)$'
33
34     gerrit_trigger_file_paths:
35       - compare-type: REG_EXP
36         pattern: '.*'
37
38     # github_included_regions MUST match gerrit_trigger_file_paths
39     github_included_regions:
40       - '.*'
41
42     #####################
43     # Job Configuration #
44     #####################
45
46     project-type: freestyle
47     node: '{build-node}'
48
49     properties:
50       - lf-infra-properties:
51           build-days-to-keep: '{build-days-to-keep}'
52
53     parameters:
54       - lf-infra-parameters:
55           project: '{project}'
56           branch: '{branch}'
57           stream: '{stream}'
58           lftools-version: '{lftools-version}'
59       - lf-cmake-parameters:
60           build-dir: '{build-dir}'
61           cmake-opts: '{cmake-opts}'
62           install-prefix: '{install-prefix}'
63           make-opts: '{make-opts}'
64
65     wrappers:
66       - lf-infra-wrappers:
67           build-timeout: '{build-timeout}'
68           jenkins-ssh-credential: '{jenkins-ssh-credential}'
69
70     builders:
71       - shell: '{pre-build}'
72       - shell: !include-raw-escape: ../shell/cmake-build.sh
73
74     publishers:
75       - lf-infra-publish
76
77 - job-template:
78     name: '{project-name}-cmake-verify-{stream}'
79     id: gerrit-cmake-verify
80     concurrent: true
81     <<: *lf_cmake_verify
82
83     scm:
84       - lf-infra-gerrit-scm:
85           branch: '$GERRIT_BRANCH'
86           jenkins-ssh-credential: '{jenkins-ssh-credential}'
87           git-url: '{git-url}'
88           refspec: '$GERRIT_REFSPEC'
89           submodule-recursive: '{submodule-recursive}'
90           choosing-strategy: gerrit
91
92     triggers:
93       - gerrit:
94           server-name: '{gerrit-server-name}'
95           trigger-on: '{obj:gerrit_verify_triggers}'
96           projects:
97             - project-compare-type: 'ANT'
98               project-pattern: '{project}'
99               branches:
100                 - branch-compare-type: 'ANT'
101                   branch-pattern: '**/{branch}'
102               file-paths: '{obj:gerrit_trigger_file_paths}'
103
104 - job-template:
105     name: '{project-name}-cmake-verify-{stream}'
106     id: github-cmake-verify
107     concurrent: true
108     <<: *lf_cmake_verify
109
110     properties:
111       - lf-infra-properties:
112           build-days-to-keep: '{build-days-to-keep}'
113       - github:
114           url: '{git-url}/{github-org}/{project}'
115
116     scm:
117       - lf-infra-github-scm:
118           url: '{git-clone-url}{github-org}/{project}'
119           refspec: '+refs/pull/*:refs/remotes/origin/pr/*'
120           branch: '$sha1'
121           submodule-recursive: '{submodule-recursive}'
122           choosing-strategy: default
123           jenkins-ssh-credential: '{jenkins-ssh-credential}'
124
125     triggers:
126       - github-pull-request:
127           trigger-phrase: '^(recheck|reverify)$'
128           only-trigger-phrase: false
129           status-context: 'CMake Verify'
130           permit-all: true
131           github-hooks: true
132           included-regions: '{obj:github_included_regions}'