File tree Expand file tree Collapse file tree 3 files changed +54
-8
lines changed Expand file tree Collapse file tree 3 files changed +54
-8
lines changed Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ version: 2.1
2
2
3
3
promotion_requires : &promotion_requires
4
4
[
5
+ dockerlint,
5
6
hadolint,
6
7
orb-tools/pack,
7
8
test-check-command-docker,
@@ -176,6 +177,25 @@ jobs:
176
177
ls
177
178
exit 1
178
179
fi
180
+ test-dockerlint :
181
+ docker :
182
+ - image : cimg/node:17.7.2
183
+ parameters :
184
+ debug :
185
+ type : boolean
186
+ default : false
187
+ dockerfile :
188
+ type : string
189
+ default : " test.Dockerfile"
190
+ treat-warnings-as-errors :
191
+ type : boolean
192
+ default : false
193
+ steps :
194
+ - checkout
195
+ - docker/dockerlint :
196
+ debug : <<parameters.debug>>
197
+ dockerfile : <<parameters.dockerfile>>
198
+ treat-warnings-as-errors : <<parameters.treat-warnings-as-errors>>
179
199
180
200
workflows :
181
201
test-deploy :
@@ -186,6 +206,11 @@ workflows:
186
206
trusted-registries : docker.io,my-company.com:5000
187
207
dockerfiles : test.Dockerfile:test2.Dockerfile
188
208
filters : *filters
209
+ - test-dockerlint :
210
+ name : dockerlint
211
+ debug : true
212
+ treat-warnings-as-errors : false
213
+ filters : *filters
189
214
- test-pull :
190
215
filters : *filters
191
216
- test-create-workspace :
Original file line number Diff line number Diff line change @@ -26,11 +26,8 @@ parameters:
26
26
steps :
27
27
- run :
28
28
name : Lint Dockerfile at <<parameters.dockerfile>>
29
- command : |
30
- if [[ $EUID == 0 ]]; then export SUDO=""; else export SUDO="sudo"; fi
31
-
32
- npm install -g dockerlint<<^parameters.debug>> > /dev/null 2>&1<</parameters.debug>> || \
33
- $SUDO npm install -g dockerlint<<^parameters.debug>> > /dev/null 2>&1<</parameters.debug>>
34
-
35
- dockerlint<<#parameters.treat-warnings-as-errors>> -p<</parameters.treat-warnings-as-errors>> \
36
- <<parameters.dockerfile>>
29
+ environment :
30
+ PARAM_DEBUG : <<parameters.debug>>
31
+ PARAM_TREAT_WARNING_AS_ERRORS : <<parameters.treat-warnings-as-errors>>
32
+ PARAM_DOCKERFILE : <<parameters.dockerfile>>
33
+ command : <<include(scripts/dockerlint.sh)>>
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
2
+
3
+ if [[ $EUID == 0 ]]; then SUDO=" " ; else SUDO=" sudo" ; fi
4
+
5
+ if ! command -v dockerlint & > /dev/null; then
6
+ if ! command -v npm & > /dev/null; then
7
+ echo " npm is required to install dockerlint." ;
8
+ echo " Consider running this command with an image that has node available: https://circleci.com/developer/images/image/cimg/node" ;
9
+ echo " Alternatively, use dockerlint's docker image: https://github.com/RedCoolBeans/dockerlint#docker-image."
10
+ exit 1
11
+ fi
12
+
13
+ if [ " $PARAM_DEBUG " = true ]; then
14
+ npm install -g dockerlint || " $SUDO " npm install -g dockerlint
15
+ else
16
+ npm install -g dockerlint & > /dev/null || " $SUDO " npm install -g dockerlint & > /dev/null
17
+ fi
18
+ fi
19
+
20
+ if [ " $PARAM_TREAT_WARNING_AS_ERRORS " = true ]; then
21
+ dockerlint -f " $PARAM_DOCKERFILE " -p
22
+ else
23
+ dockerlint -f " $PARAM_DOCKERFILE "
24
+ fi
You can’t perform that action at this time.
0 commit comments