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