blob: 7db3452884fe4b3454d869c0bc4527d0fc4577f5 [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/
Andy Bavier1b5a2cc2018-07-17 10:32:23 -0700131 helm repo add cord https://charts.opencord.org/master
Zack Williams61f01112018-05-15 15:57:42 -0700132
Zack Williams7468c362018-04-06 09:52:30 -0700133 - shell: !include-raw-escape: shell/helmlint.sh
Zack Williams32293ee2018-05-18 09:15:13 -0700134
135
136# run `shellcheck` to validate shell scripts charts
137- job-template:
138 id: verify-shellcheck
139 name: 'verify_{project}_shellcheck'
140 description: |
141 Created by {id} job-template from ci-management/jjb/lint.yaml
142
143 triggers:
144 - cord-infra-gerrit-trigger-patchset:
145 gerrit-server-name: '{gerrit-server-name}'
146 project-regexp: '^{project}$'
147 branch-regexp: '{branch-regexp}'
148 file-include-regexp: '{all-files-regexp}'
149 dependency-jobs: '{dependency-jobs}'
150
151 properties:
152 - cord-infra-properties:
153 build-days-to-keep: '{build-days-to-keep}'
154 artifact-num-to-keep: '{artifact-num-to-keep}'
155
156 wrappers:
157 - lf-infra-wrappers:
158 build-timeout: '{build-timeout}'
159 jenkins-ssh-credential: '{jenkins-ssh-credential}'
160
161 scm:
162 - lf-infra-gerrit-scm:
163 git-url: '$GIT_URL/$GERRIT_PROJECT'
164 refspec: '$GERRIT_REFSPEC'
165 branch: '$GERRIT_BRANCH'
166 submodule-recursive: 'false'
167 choosing-strategy: gerrit
168 jenkins-ssh-credential: '{jenkins-ssh-credential}'
169
170 node: '{build-node}'
171 project-type: freestyle
172 concurrent: true
173
174 builders:
175 - shell: !include-raw-escape: shell/shcheck.sh