@@ -122,7 +122,7 @@ pipeline {
122
122
script{
123
123
env. IMAGE = env. DOCKERHUB_IMAGE
124
124
if (env. MULTIARCH == ' true' ) {
125
- env. CI_TAGS = ' amd64-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER + ' |arm32v6 -' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER + ' |arm64v8-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
125
+ env. CI_TAGS = ' amd64-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER + ' |arm32v7 -' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER + ' |arm64v8-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
126
126
} else {
127
127
env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
128
128
}
@@ -140,7 +140,7 @@ pipeline {
140
140
script{
141
141
env. IMAGE = env. DEV_DOCKERHUB_IMAGE
142
142
if (env. MULTIARCH == ' true' ) {
143
- env. CI_TAGS = ' amd64-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' |arm32v6 -' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' |arm64v8-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
143
+ env. CI_TAGS = ' amd64-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' |arm32v7 -' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' |arm64v8-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
144
144
} else {
145
145
env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
146
146
}
@@ -158,7 +158,7 @@ pipeline {
158
158
script{
159
159
env. IMAGE = env. PR_DOCKERHUB_IMAGE
160
160
if (env. MULTIARCH == ' true' ) {
161
- env. CI_TAGS = ' amd64-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST + ' |arm32v6 -' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST + ' |arm64v8-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
161
+ env. CI_TAGS = ' amd64-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST + ' |arm32v7 -' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST + ' |arm64v8-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
162
162
} else {
163
163
env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
164
164
}
@@ -168,6 +168,35 @@ pipeline {
168
168
}
169
169
}
170
170
}
171
+ // Run ShellCheck
172
+ stage(' ShellCheck' ) {
173
+ when {
174
+ environment name : ' CI' , value : ' true'
175
+ }
176
+ steps {
177
+ withCredentials([
178
+ string(credentialsId : ' spaces-key' , variable : ' DO_KEY' ),
179
+ string(credentialsId : ' spaces-secret' , variable : ' DO_SECRET' )
180
+ ]) {
181
+ script{
182
+ env. SHELLCHECK_URL = ' https://lsio-ci.ams3.digitaloceanspaces.com/' + env. IMAGE + ' /' + env. META_TAG + ' /shellcheck-result.xml'
183
+ }
184
+ sh ''' curl -sL https://raw.githubusercontent.com/linuxserver/docker-shellcheck/master/checkrun.sh | /bin/bash'''
185
+ sh ''' #! /bin/bash
186
+ set -e
187
+ docker pull lsiodev/spaces-file-upload:latest
188
+ docker run --rm \
189
+ -e DESTINATION=\" ${IMAGE}/${META_TAG}/shellcheck-result.xml\" \
190
+ -e FILE_NAME="shellcheck-result.xml" \
191
+ -e MIMETYPE="text/xml" \
192
+ -v ${WORKSPACE}:/mnt \
193
+ -e SECRET_KEY=\" ${DO_SECRET}\" \
194
+ -e ACCESS_KEY=\" ${DO_KEY}\" \
195
+ -t lsiodev/spaces-file-upload:latest \
196
+ python /upload.py'''
197
+ }
198
+ }
199
+ }
171
200
// Use helper containers to render templated files
172
201
stage(' Update-Templates' ) {
173
202
when {
@@ -242,7 +271,7 @@ pipeline {
242
271
environment name : ' EXIT_STATUS' , value : ' '
243
272
}
244
273
steps {
245
- sh " docker build --no-cache -t ${ IMAGE} :${ META_TAG} \
274
+ sh " docker build --no-cache --pull - t ${ IMAGE} :${ META_TAG} \
246
275
--build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
247
276
}
248
277
}
@@ -255,7 +284,7 @@ pipeline {
255
284
parallel {
256
285
stage(' Build X86' ) {
257
286
steps {
258
- sh " docker build --no-cache -t ${ IMAGE} :amd64-${ META_TAG} \
287
+ sh " docker build --no-cache --pull - t ${ IMAGE} :amd64-${ META_TAG} \
259
288
--build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
260
289
}
261
290
}
@@ -278,13 +307,13 @@ pipeline {
278
307
'''
279
308
sh " curl https://lsio-ci.ams3.digitaloceanspaces.com/qemu-arm-static -o qemu-arm-static"
280
309
sh " chmod +x qemu-*"
281
- sh " docker build --no-cache -f Dockerfile.armhf -t ${ IMAGE} :arm32v6 -${ META_TAG} \
310
+ sh " docker build --no-cache --pull - f Dockerfile.armhf -t ${ IMAGE} :arm32v7 -${ META_TAG} \
282
311
--build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
283
- sh " docker tag ${ IMAGE} :arm32v6 -${ META_TAG} lsiodev/buildcache:arm32v6 -${ COMMIT_SHA} -${ BUILD_NUMBER} "
284
- sh " docker push lsiodev/buildcache:arm32v6 -${ COMMIT_SHA} -${ BUILD_NUMBER} "
312
+ sh " docker tag ${ IMAGE} :arm32v7 -${ META_TAG} lsiodev/buildcache:arm32v7 -${ COMMIT_SHA} -${ BUILD_NUMBER} "
313
+ sh " docker push lsiodev/buildcache:arm32v7 -${ COMMIT_SHA} -${ BUILD_NUMBER} "
285
314
sh ''' docker rmi \
286
- ${IMAGE}:arm32v6 -${META_TAG} \
287
- lsiodev/buildcache:arm32v6 -${COMMIT_SHA}-${BUILD_NUMBER} '''
315
+ ${IMAGE}:arm32v7 -${META_TAG} \
316
+ lsiodev/buildcache:arm32v7 -${COMMIT_SHA}-${BUILD_NUMBER} '''
288
317
}
289
318
}
290
319
}
@@ -307,7 +336,7 @@ pipeline {
307
336
'''
308
337
sh " curl https://lsio-ci.ams3.digitaloceanspaces.com/qemu-aarch64-static -o qemu-aarch64-static"
309
338
sh " chmod +x qemu-*"
310
- sh " docker build --no-cache -f Dockerfile.aarch64 -t ${ IMAGE} :arm64v8-${ META_TAG} \
339
+ sh " docker build --no-cache --pull - f Dockerfile.aarch64 -t ${ IMAGE} :arm64v8-${ META_TAG} \
311
340
--build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
312
341
sh " docker tag ${ IMAGE} :arm64v8-${ META_TAG} lsiodev/buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
313
342
sh " docker push lsiodev/buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
@@ -337,13 +366,13 @@ pipeline {
337
366
fi
338
367
if [ "${DIST_IMAGE}" == "alpine" ]; then
339
368
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
340
- apk info > packages && \
341
- apk info -v > versions && \
342
- paste -d " " packages versions > /tmp/package_versions.txt && \
369
+ apk info -v > /tmp/package_versions.txt && \
370
+ sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
343
371
chmod 777 /tmp/package_versions.txt'
344
372
elif [ "${DIST_IMAGE}" == "ubuntu" ]; then
345
373
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
346
- apt list -qq --installed | cut -d" " -f1-2 > /tmp/package_versions.txt && \
374
+ apt list -qq --installed | sed "s#/.*now ##g" | cut -d" " -f1 > /tmp/package_versions.txt && \
375
+ sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
347
376
chmod 777 /tmp/package_versions.txt'
348
377
fi
349
378
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
@@ -423,9 +452,9 @@ pipeline {
423
452
set -e
424
453
docker pull lsiodev/ci:latest
425
454
if [ "${MULTIARCH}" == "true" ]; then
426
- docker pull lsiodev/buildcache:arm32v6 -${COMMIT_SHA}-${BUILD_NUMBER}
455
+ docker pull lsiodev/buildcache:arm32v7 -${COMMIT_SHA}-${BUILD_NUMBER}
427
456
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
428
- docker tag lsiodev/buildcache:arm32v6 -${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v6 -${META_TAG}
457
+ docker tag lsiodev/buildcache:arm32v7 -${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7 -${META_TAG}
429
458
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
430
459
fi
431
460
docker run --rm \
@@ -502,38 +531,38 @@ pipeline {
502
531
'''
503
532
sh ''' #! /bin/bash
504
533
if [ "${CI}" == "false" ]; then
505
- docker pull lsiodev/buildcache:arm32v6 -${COMMIT_SHA}-${BUILD_NUMBER}
534
+ docker pull lsiodev/buildcache:arm32v7 -${COMMIT_SHA}-${BUILD_NUMBER}
506
535
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
507
- docker tag lsiodev/buildcache:arm32v6 -${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v6 -${META_TAG}
536
+ docker tag lsiodev/buildcache:arm32v7 -${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7 -${META_TAG}
508
537
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
509
538
fi'''
510
539
sh " docker tag ${ IMAGE} :amd64-${ META_TAG} ${ IMAGE} :amd64-5.8"
511
- sh " docker tag ${ IMAGE} :arm32v6 -${ META_TAG} ${ IMAGE} :arm32v6 -5.8"
540
+ sh " docker tag ${ IMAGE} :arm32v7 -${ META_TAG} ${ IMAGE} :arm32v7 -5.8"
512
541
sh " docker tag ${ IMAGE} :arm64v8-${ META_TAG} ${ IMAGE} :arm64v8-5.8"
513
542
sh " docker push ${ IMAGE} :amd64-${ META_TAG} "
514
- sh " docker push ${ IMAGE} :arm32v6 -${ META_TAG} "
543
+ sh " docker push ${ IMAGE} :arm32v7 -${ META_TAG} "
515
544
sh " docker push ${ IMAGE} :arm64v8-${ META_TAG} "
516
545
sh " docker push ${ IMAGE} :amd64-5.8"
517
- sh " docker push ${ IMAGE} :arm32v6 -5.8"
546
+ sh " docker push ${ IMAGE} :arm32v7 -5.8"
518
547
sh " docker push ${ IMAGE} :arm64v8-5.8"
519
548
sh " docker manifest push --purge ${ IMAGE} :5.8 || :"
520
- sh " docker manifest create ${ IMAGE} :5.8 ${ IMAGE} :amd64-5.8 ${ IMAGE} :arm32v6 -5.8 ${ IMAGE} :arm64v8-5.8"
521
- sh " docker manifest annotate ${ IMAGE} :5.8 ${ IMAGE} :arm32v6 -5.8 --os linux --arch arm"
549
+ sh " docker manifest create ${ IMAGE} :5.8 ${ IMAGE} :amd64-5.8 ${ IMAGE} :arm32v7 -5.8 ${ IMAGE} :arm64v8-5.8"
550
+ sh " docker manifest annotate ${ IMAGE} :5.8 ${ IMAGE} :arm32v7 -5.8 --os linux --arch arm"
522
551
sh " docker manifest annotate ${ IMAGE} :5.8 ${ IMAGE} :arm64v8-5.8 --os linux --arch arm64 --variant v8"
523
552
sh " docker manifest push --purge ${ IMAGE} :${ META_TAG} || :"
524
- sh " docker manifest create ${ IMAGE} :${ META_TAG} ${ IMAGE} :amd64-${ META_TAG} ${ IMAGE} :arm32v6 -${ META_TAG} ${ IMAGE} :arm64v8-${ META_TAG} "
525
- sh " docker manifest annotate ${ IMAGE} :${ META_TAG} ${ IMAGE} :arm32v6 -${ META_TAG} --os linux --arch arm"
553
+ sh " docker manifest create ${ IMAGE} :${ META_TAG} ${ IMAGE} :amd64-${ META_TAG} ${ IMAGE} :arm32v7 -${ META_TAG} ${ IMAGE} :arm64v8-${ META_TAG} "
554
+ sh " docker manifest annotate ${ IMAGE} :${ META_TAG} ${ IMAGE} :arm32v7 -${ META_TAG} --os linux --arch arm"
526
555
sh " docker manifest annotate ${ IMAGE} :${ META_TAG} ${ IMAGE} :arm64v8-${ META_TAG} --os linux --arch arm64 --variant v8"
527
556
sh " docker manifest push --purge ${ IMAGE} :5.8"
528
557
sh " docker manifest push --purge ${ IMAGE} :${ META_TAG} "
529
558
sh ''' docker rmi \
530
559
${IMAGE}:amd64-${META_TAG} \
531
560
${IMAGE}:amd64-5.8 \
532
- ${IMAGE}:arm32v6 -${META_TAG} \
533
- ${IMAGE}:arm32v6 -5.8 \
561
+ ${IMAGE}:arm32v7 -${META_TAG} \
562
+ ${IMAGE}:arm32v7 -5.8 \
534
563
${IMAGE}:arm64v8-${META_TAG} \
535
564
${IMAGE}:arm64v8-5.8 \
536
- lsiodev/buildcache:arm32v6 -${COMMIT_SHA}-${BUILD_NUMBER} \
565
+ lsiodev/buildcache:arm32v7 -${COMMIT_SHA}-${BUILD_NUMBER} \
537
566
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} '''
538
567
}
539
568
}
@@ -604,7 +633,7 @@ pipeline {
604
633
}
605
634
steps {
606
635
sh ''' curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/issues/${PULL_REQUEST}/comments \
607
- -d '{"body": "I am a bot, here are the test results for this PR '${CI_URL}'"}' '''
636
+ -d '{"body": "I am a bot, here are the test results for this PR: \\ n '${CI_URL}' \\ n'${SHELLCHECK_URL }'"}' '''
608
637
}
609
638
}
610
639
}
@@ -619,12 +648,12 @@ pipeline {
619
648
}
620
649
else if (currentBuild. currentResult == " SUCCESS" ){
621
650
sh ''' curl -X POST --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 1681177,\
622
- "description": "**Build:** '${BUILD_NUMBER}'\\ n**CI Results:** '${CI_URL}'\\ n**Status:** Success\\ n**Job:** '${RUN_DISPLAY_URL}'\\ n**Change:** '${CODE_URL}'\\ n**External Release:**: '${RELEASE_LINK}'\\ n**DockerHub:** '${DOCKERHUB_LINK}'\\ n"}],\
651
+ "description": "**Build:** '${BUILD_NUMBER}'\\ n**CI Results:** '${CI_URL}'\\ n**ShellCheck Results:** '${SHELLCHECK_URL}' \\ n** Status:** Success\\ n**Job:** '${RUN_DISPLAY_URL}'\\ n**Change:** '${CODE_URL}'\\ n**External Release:**: '${RELEASE_LINK}'\\ n**DockerHub:** '${DOCKERHUB_LINK}'\\ n"}],\
623
652
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
624
653
}
625
654
else {
626
655
sh ''' curl -X POST --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 16711680,\
627
- "description": "**Build:** '${BUILD_NUMBER}'\\ n**CI Results:** '${CI_URL}'\\ n**Status:** failure\\ n**Job:** '${RUN_DISPLAY_URL}'\\ n**Change:** '${CODE_URL}'\\ n**External Release:**: '${RELEASE_LINK}'\\ n**DockerHub:** '${DOCKERHUB_LINK}'\\ n"}],\
656
+ "description": "**Build:** '${BUILD_NUMBER}'\\ n**CI Results:** '${CI_URL}'\\ n**ShellCheck Results:** '${SHELLCHECK_URL}' \\ n** Status:** failure\\ n**Job:** '${RUN_DISPLAY_URL}'\\ n**Change:** '${CODE_URL}'\\ n**External Release:**: '${RELEASE_LINK}'\\ n**DockerHub:** '${DOCKERHUB_LINK}'\\ n"}],\
628
657
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
629
658
}
630
659
}
0 commit comments