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