blob: 566bca20f57e95bc820cc007453a68ee420efd64 [file] [log] [blame]
Zack Williams7468c362018-04-06 09:52:30 -07001---
2# CORD lint and static code validation job templates
Zack Williams92f9b1f2018-04-11 09:58:49 -07003# These are invoked by the per-git-repo jobs stored in verify/
Zack Williams7468c362018-04-06 09:52:30 -07004
5# Verify that there is valid license/copyright on files
6- job-template:
7 id: verify-licensed
Zack Williams92f9b1f2018-04-11 09:58:49 -07008 name: 'verify_{project}_licensed'
9 description: |
Zack Williams92f9b1f2018-04-11 09:58:49 -070010 Created by verify-licensed job-template from ci-management/jjb/lint.yaml
Zack Williams7468c362018-04-06 09:52:30 -070011
12 triggers:
13 - cord-infra-gerrit-trigger-patchset:
14 gerrit-server-name: '{gerrit-server-name}'
15 project-regexp: '^{project}$'
16 branch-regexp: '{branch-regexp}'
Zack Williamsc27ca2d2018-04-11 13:16:45 -070017 file-include-regexp: '{all-files-regexp}'
Zack Williams7468c362018-04-06 09:52:30 -070018 dependency-jobs: '{dependency-jobs}'
19
20 properties:
21 - cord-infra-properties:
22 build-days-to-keep: '{build-days-to-keep}'
23 artifact-num-to-keep: '{artifact-num-to-keep}'
24
25 wrappers:
26 - lf-infra-wrappers:
27 build-timeout: '{build-timeout}'
28 jenkins-ssh-credential: '{jenkins-ssh-credential}'
29
30 scm:
31 - lf-infra-gerrit-scm:
32 git-url: '$GIT_URL/$GERRIT_PROJECT'
33 refspec: '$GERRIT_REFSPEC'
34 branch: '$GERRIT_BRANCH'
35 submodule-recursive: 'false'
36 choosing-strategy: gerrit
37 jenkins-ssh-credential: '{jenkins-ssh-credential}'
38
39 node: '{build-node}'
40 project-type: freestyle
41 concurrent: true
42
43 builders:
44 - shell: !include-raw-escape: shell/licensecheck.sh
45
46
47# run `ansible-lint` to validate ansible playbooks/roles
48- job-template:
49 id: verify-ansible-lint
Zack Williams92f9b1f2018-04-11 09:58:49 -070050 name: 'verify_{project}_ansible-lint'
51 description: |
Zack Williams92f9b1f2018-04-11 09:58:49 -070052 Created by verify-ansible-lint job-template from ci-management/jjb/lint.yaml
Zack Williams7468c362018-04-06 09:52:30 -070053
54 triggers:
55 - cord-infra-gerrit-trigger-patchset:
56 gerrit-server-name: '{gerrit-server-name}'
57 project-regexp: '^{project}$'
58 branch-regexp: '{branch-regexp}'
Zack Williamsc27ca2d2018-04-11 13:16:45 -070059 file-include-regexp: '{all-files-regexp}'
Zack Williams7468c362018-04-06 09:52:30 -070060 dependency-jobs: '{dependency-jobs}'
61
62 properties:
63 - cord-infra-properties:
64 build-days-to-keep: '{build-days-to-keep}'
65 artifact-num-to-keep: '{artifact-num-to-keep}'
66
67 wrappers:
68 - lf-infra-wrappers:
69 build-timeout: '{build-timeout}'
70 jenkins-ssh-credential: '{jenkins-ssh-credential}'
71
72 scm:
73 - lf-infra-gerrit-scm:
74 git-url: '$GIT_URL/$GERRIT_PROJECT'
75 refspec: '$GERRIT_REFSPEC'
76 branch: '$GERRIT_BRANCH'
77 submodule-recursive: 'false'
78 choosing-strategy: gerrit
79 jenkins-ssh-credential: '{jenkins-ssh-credential}'
80
81 node: '{build-node}'
82 project-type: freestyle
83 concurrent: true
84
85 builders:
86 - shell: !include-raw-escape: shell/ansiblelint.sh
87
88
89# run `helm lint --strict` to validate helm charts
90- job-template:
91 id: verify-helm-lint
Zack Williams92f9b1f2018-04-11 09:58:49 -070092 name: 'verify_{project}_helm-lint'
93 description: |
Zack Williams92f9b1f2018-04-11 09:58:49 -070094 Created by verify-helm-lint job-template from ci-management/jjb/lint.yaml
Zack Williams7468c362018-04-06 09:52:30 -070095
96 triggers:
97 - cord-infra-gerrit-trigger-patchset:
98 gerrit-server-name: '{gerrit-server-name}'
99 project-regexp: '^{project}$'
100 branch-regexp: '{branch-regexp}'
Zack Williamsc27ca2d2018-04-11 13:16:45 -0700101 file-include-regexp: '{all-files-regexp}'
Zack Williams7468c362018-04-06 09:52:30 -0700102 dependency-jobs: '{dependency-jobs}'
103
104 properties:
105 - cord-infra-properties:
106 build-days-to-keep: '{build-days-to-keep}'
107 artifact-num-to-keep: '{artifact-num-to-keep}'
108
109 wrappers:
110 - lf-infra-wrappers:
111 build-timeout: '{build-timeout}'
112 jenkins-ssh-credential: '{jenkins-ssh-credential}'
113
114 scm:
115 - lf-infra-gerrit-scm:
116 git-url: '$GIT_URL/$GERRIT_PROJECT'
117 refspec: '$GERRIT_REFSPEC'
118 branch: '$GERRIT_BRANCH'
119 submodule-recursive: 'false'
120 choosing-strategy: gerrit
121 jenkins-ssh-credential: '{jenkins-ssh-credential}'
122
123 node: '{build-node}'
124 project-type: freestyle
125 concurrent: true
126
127 builders:
Zack Williams61f01112018-05-15 15:57:42 -0700128 - shell: |
129 helm init --client-only
130 helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com/
131
Zack Williams7468c362018-04-06 09:52:30 -0700132 - shell: !include-raw-escape: shell/helmlint.sh
Zack Williams32293ee2018-05-18 09:15:13 -0700133
134
135# run `shellcheck` to validate shell scripts charts
136- job-template:
137 id: verify-shellcheck
138 name: 'verify_{project}_shellcheck'
139 description: |
140 Created by {id} job-template from ci-management/jjb/lint.yaml
141
142 triggers:
143 - cord-infra-gerrit-trigger-patchset:
144 gerrit-server-name: '{gerrit-server-name}'
145 project-regexp: '^{project}$'
146 branch-regexp: '{branch-regexp}'
147 file-include-regexp: '{all-files-regexp}'
148 dependency-jobs: '{dependency-jobs}'
149
150 properties:
151 - cord-infra-properties:
152 build-days-to-keep: '{build-days-to-keep}'
153 artifact-num-to-keep: '{artifact-num-to-keep}'
154
155 wrappers:
156 - lf-infra-wrappers:
157 build-timeout: '{build-timeout}'
158 jenkins-ssh-credential: '{jenkins-ssh-credential}'
159
160 scm:
161 - lf-infra-gerrit-scm:
162 git-url: '$GIT_URL/$GERRIT_PROJECT'
163 refspec: '$GERRIT_REFSPEC'
164 branch: '$GERRIT_BRANCH'
165 submodule-recursive: 'false'
166 choosing-strategy: gerrit
167 jenkins-ssh-credential: '{jenkins-ssh-credential}'
168
169 node: '{build-node}'
170 project-type: freestyle
171 concurrent: true
172
173 builders:
174 - shell: !include-raw-escape: shell/shcheck.sh