blob: b9ac17625d645253e0be0bbc7e8963a7d35ece42 [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
Zack Williamsd5ce0ea2019-01-02 11:49:17 -070089# check helm charts with `helm lint --strict` and that charts version is
90# updated when the contents of a chart is modified.
Zack Williams7468c362018-04-06 09:52:30 -070091- job-template:
92 id: verify-helm-lint
Zack Williams92f9b1f2018-04-11 09:58:49 -070093 name: 'verify_{project}_helm-lint'
94 description: |
Zack Williams92f9b1f2018-04-11 09:58:49 -070095 Created by verify-helm-lint job-template from ci-management/jjb/lint.yaml
Zack Williams7468c362018-04-06 09:52:30 -070096
97 triggers:
98 - cord-infra-gerrit-trigger-patchset:
99 gerrit-server-name: '{gerrit-server-name}'
100 project-regexp: '^{project}$'
101 branch-regexp: '{branch-regexp}'
Zack Williamsc27ca2d2018-04-11 13:16:45 -0700102 file-include-regexp: '{all-files-regexp}'
Zack Williams7468c362018-04-06 09:52:30 -0700103 dependency-jobs: '{dependency-jobs}'
104
105 properties:
106 - cord-infra-properties:
107 build-days-to-keep: '{build-days-to-keep}'
108 artifact-num-to-keep: '{artifact-num-to-keep}'
109
110 wrappers:
111 - lf-infra-wrappers:
112 build-timeout: '{build-timeout}'
113 jenkins-ssh-credential: '{jenkins-ssh-credential}'
114
115 scm:
116 - lf-infra-gerrit-scm:
117 git-url: '$GIT_URL/$GERRIT_PROJECT'
118 refspec: '$GERRIT_REFSPEC'
119 branch: '$GERRIT_BRANCH'
120 submodule-recursive: 'false'
121 choosing-strategy: gerrit
122 jenkins-ssh-credential: '{jenkins-ssh-credential}'
123
124 node: '{build-node}'
125 project-type: freestyle
126 concurrent: true
127
128 builders:
Zack Williams61f01112018-05-15 15:57:42 -0700129 - shell: |
Zack Williams82a8da42018-08-20 11:11:12 -0700130 #!/usr/bin/env bash
131 set -eu -o pipefail
132
Zack Williams61f01112018-05-15 15:57:42 -0700133 helm init --client-only
134 helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com/
Zack Williamsb557a212018-08-17 14:53:10 -0700135 helm repo add rook-beta https://charts.rook.io/beta
Luca Preteae7fc492018-12-13 16:00:37 -0800136 helm repo add cord https://charts.opencord.org
Zack Williams61f01112018-05-15 15:57:42 -0700137
Luca Prete2ae90132018-12-13 17:14:01 -0800138 git clone https://gerrit.opencord.org/helm-repo-tools
139 ./helm-repo-tools/helmlint.sh clean
Zack Williams70123f02019-01-23 12:15:12 -0700140
141 # Specify the remote branch to compare against
142 export COMPARISON_BRANCH="origin/$GERRIT_BRANCH"
Zack Williamsd5ce0ea2019-01-02 11:49:17 -0700143 ./helm-repo-tools/chart_version_check.sh
Zack Williams32293ee2018-05-18 09:15:13 -0700144
145
146# run `shellcheck` to validate shell scripts charts
147- job-template:
148 id: verify-shellcheck
149 name: 'verify_{project}_shellcheck'
150 description: |
151 Created by {id} job-template from ci-management/jjb/lint.yaml
152
153 triggers:
154 - cord-infra-gerrit-trigger-patchset:
155 gerrit-server-name: '{gerrit-server-name}'
156 project-regexp: '^{project}$'
157 branch-regexp: '{branch-regexp}'
158 file-include-regexp: '{all-files-regexp}'
159 dependency-jobs: '{dependency-jobs}'
160
161 properties:
162 - cord-infra-properties:
163 build-days-to-keep: '{build-days-to-keep}'
164 artifact-num-to-keep: '{artifact-num-to-keep}'
165
166 wrappers:
167 - lf-infra-wrappers:
168 build-timeout: '{build-timeout}'
169 jenkins-ssh-credential: '{jenkins-ssh-credential}'
170
171 scm:
172 - lf-infra-gerrit-scm:
173 git-url: '$GIT_URL/$GERRIT_PROJECT'
174 refspec: '$GERRIT_REFSPEC'
175 branch: '$GERRIT_BRANCH'
176 submodule-recursive: 'false'
177 choosing-strategy: gerrit
178 jenkins-ssh-credential: '{jenkins-ssh-credential}'
179
180 node: '{build-node}'
181 project-type: freestyle
182 concurrent: true
183
184 builders:
185 - shell: !include-raw-escape: shell/shcheck.sh