@@ -132,7 +132,7 @@ pipeline {
132
132
script{
133
133
env. IMAGE = env. DOCKERHUB_IMAGE
134
134
if (env. MULTIARCH == ' true' ) {
135
- 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
135
+ 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
136
136
} else {
137
137
env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
138
138
}
@@ -150,7 +150,7 @@ pipeline {
150
150
script{
151
151
env. IMAGE = env. DEV_DOCKERHUB_IMAGE
152
152
if (env. MULTIARCH == ' true' ) {
153
- 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
153
+ 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
154
154
} else {
155
155
env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
156
156
}
@@ -168,7 +168,7 @@ pipeline {
168
168
script{
169
169
env. IMAGE = env. PR_DOCKERHUB_IMAGE
170
170
if (env. MULTIARCH == ' true' ) {
171
- 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
171
+ 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
172
172
} else {
173
173
env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
174
174
}
@@ -178,6 +178,35 @@ pipeline {
178
178
}
179
179
}
180
180
}
181
+ // Run ShellCheck
182
+ stage(' ShellCheck' ) {
183
+ when {
184
+ environment name : ' CI' , value : ' true'
185
+ }
186
+ steps {
187
+ withCredentials([
188
+ string(credentialsId : ' spaces-key' , variable : ' DO_KEY' ),
189
+ string(credentialsId : ' spaces-secret' , variable : ' DO_SECRET' )
190
+ ]) {
191
+ script{
192
+ env. SHELLCHECK_URL = ' https://lsio-ci.ams3.digitaloceanspaces.com/' + env. IMAGE + ' /' + env. META_TAG + ' /shellcheck-result.xml'
193
+ }
194
+ sh ''' curl -sL https://raw.githubusercontent.com/linuxserver/docker-shellcheck/master/checkrun.sh | /bin/bash'''
195
+ sh ''' #! /bin/bash
196
+ set -e
197
+ docker pull lsiodev/spaces-file-upload:latest
198
+ docker run --rm \
199
+ -e DESTINATION=\" ${IMAGE}/${META_TAG}/shellcheck-result.xml\" \
200
+ -e FILE_NAME="shellcheck-result.xml" \
201
+ -e MIMETYPE="text/xml" \
202
+ -v ${WORKSPACE}:/mnt \
203
+ -e SECRET_KEY=\" ${DO_SECRET}\" \
204
+ -e ACCESS_KEY=\" ${DO_KEY}\" \
205
+ -t lsiodev/spaces-file-upload:latest \
206
+ python /upload.py'''
207
+ }
208
+ }
209
+ }
181
210
// Use helper containers to render templated files
182
211
stage(' Update-Templates' ) {
183
212
when {
@@ -252,7 +281,7 @@ pipeline {
252
281
environment name : ' EXIT_STATUS' , value : ' '
253
282
}
254
283
steps {
255
- sh " docker build --no-cache -t ${ IMAGE} :${ META_TAG} \
284
+ sh " docker build --no-cache --pull - t ${ IMAGE} :${ META_TAG} \
256
285
--build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
257
286
}
258
287
}
@@ -265,7 +294,7 @@ pipeline {
265
294
parallel {
266
295
stage(' Build X86' ) {
267
296
steps {
268
- sh " docker build --no-cache -t ${ IMAGE} :amd64-${ META_TAG} \
297
+ sh " docker build --no-cache --pull - t ${ IMAGE} :amd64-${ META_TAG} \
269
298
--build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
270
299
}
271
300
}
@@ -288,13 +317,13 @@ pipeline {
288
317
'''
289
318
sh " curl https://lsio-ci.ams3.digitaloceanspaces.com/qemu-arm-static -o qemu-arm-static"
290
319
sh " chmod +x qemu-*"
291
- sh " docker build --no-cache -f Dockerfile.armhf -t ${ IMAGE} :arm32v6 -${ META_TAG} \
320
+ sh " docker build --no-cache --pull - f Dockerfile.armhf -t ${ IMAGE} :arm32v7 -${ META_TAG} \
292
321
--build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
293
- sh " docker tag ${ IMAGE} :arm32v6 -${ META_TAG} lsiodev/buildcache:arm32v6 -${ COMMIT_SHA} -${ BUILD_NUMBER} "
294
- sh " docker push lsiodev/buildcache:arm32v6 -${ COMMIT_SHA} -${ BUILD_NUMBER} "
322
+ sh " docker tag ${ IMAGE} :arm32v7 -${ META_TAG} lsiodev/buildcache:arm32v7 -${ COMMIT_SHA} -${ BUILD_NUMBER} "
323
+ sh " docker push lsiodev/buildcache:arm32v7 -${ COMMIT_SHA} -${ BUILD_NUMBER} "
295
324
sh ''' docker rmi \
296
- ${IMAGE}:arm32v6 -${META_TAG} \
297
- lsiodev/buildcache:arm32v6 -${COMMIT_SHA}-${BUILD_NUMBER} '''
325
+ ${IMAGE}:arm32v7 -${META_TAG} \
326
+ lsiodev/buildcache:arm32v7 -${COMMIT_SHA}-${BUILD_NUMBER} '''
298
327
}
299
328
}
300
329
}
@@ -317,7 +346,7 @@ pipeline {
317
346
'''
318
347
sh " curl https://lsio-ci.ams3.digitaloceanspaces.com/qemu-aarch64-static -o qemu-aarch64-static"
319
348
sh " chmod +x qemu-*"
320
- sh " docker build --no-cache -f Dockerfile.aarch64 -t ${ IMAGE} :arm64v8-${ META_TAG} \
349
+ sh " docker build --no-cache --pull - f Dockerfile.aarch64 -t ${ IMAGE} :arm64v8-${ META_TAG} \
321
350
--build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
322
351
sh " docker tag ${ IMAGE} :arm64v8-${ META_TAG} lsiodev/buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
323
352
sh " docker push lsiodev/buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
@@ -347,13 +376,13 @@ pipeline {
347
376
fi
348
377
if [ "${DIST_IMAGE}" == "alpine" ]; then
349
378
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
350
- apk info > packages && \
351
- apk info -v > versions && \
352
- paste -d " " packages versions > /tmp/package_versions.txt && \
379
+ apk info -v > /tmp/package_versions.txt && \
380
+ sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
353
381
chmod 777 /tmp/package_versions.txt'
354
382
elif [ "${DIST_IMAGE}" == "ubuntu" ]; then
355
383
docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\
356
- apt list -qq --installed | cut -d" " -f1-2 > /tmp/package_versions.txt && \
384
+ apt list -qq --installed | sed "s#/.*now ##g" | cut -d" " -f1 > /tmp/package_versions.txt && \
385
+ sort -o /tmp/package_versions.txt /tmp/package_versions.txt && \
357
386
chmod 777 /tmp/package_versions.txt'
358
387
fi
359
388
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
@@ -433,9 +462,9 @@ pipeline {
433
462
set -e
434
463
docker pull lsiodev/ci:latest
435
464
if [ "${MULTIARCH}" == "true" ]; then
436
- docker pull lsiodev/buildcache:arm32v6 -${COMMIT_SHA}-${BUILD_NUMBER}
465
+ docker pull lsiodev/buildcache:arm32v7 -${COMMIT_SHA}-${BUILD_NUMBER}
437
466
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
438
- docker tag lsiodev/buildcache:arm32v6 -${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v6 -${META_TAG}
467
+ docker tag lsiodev/buildcache:arm32v7 -${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7 -${META_TAG}
439
468
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
440
469
fi
441
470
docker run --rm \
@@ -512,38 +541,38 @@ pipeline {
512
541
'''
513
542
sh ''' #! /bin/bash
514
543
if [ "${CI}" == "false" ]; then
515
- docker pull lsiodev/buildcache:arm32v6 -${COMMIT_SHA}-${BUILD_NUMBER}
544
+ docker pull lsiodev/buildcache:arm32v7 -${COMMIT_SHA}-${BUILD_NUMBER}
516
545
docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
517
- docker tag lsiodev/buildcache:arm32v6 -${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v6 -${META_TAG}
546
+ docker tag lsiodev/buildcache:arm32v7 -${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7 -${META_TAG}
518
547
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
519
548
fi'''
520
549
sh " docker tag ${ IMAGE} :amd64-${ META_TAG} ${ IMAGE} :amd64-stable"
521
- sh " docker tag ${ IMAGE} :arm32v6 -${ META_TAG} ${ IMAGE} :arm32v6 -stable"
550
+ sh " docker tag ${ IMAGE} :arm32v7 -${ META_TAG} ${ IMAGE} :arm32v7 -stable"
522
551
sh " docker tag ${ IMAGE} :arm64v8-${ META_TAG} ${ IMAGE} :arm64v8-stable"
523
552
sh " docker push ${ IMAGE} :amd64-${ META_TAG} "
524
- sh " docker push ${ IMAGE} :arm32v6 -${ META_TAG} "
553
+ sh " docker push ${ IMAGE} :arm32v7 -${ META_TAG} "
525
554
sh " docker push ${ IMAGE} :arm64v8-${ META_TAG} "
526
555
sh " docker push ${ IMAGE} :amd64-stable"
527
- sh " docker push ${ IMAGE} :arm32v6 -stable"
556
+ sh " docker push ${ IMAGE} :arm32v7 -stable"
528
557
sh " docker push ${ IMAGE} :arm64v8-stable"
529
558
sh " docker manifest push --purge ${ IMAGE} :stable || :"
530
- sh " docker manifest create ${ IMAGE} :stable ${ IMAGE} :amd64-stable ${ IMAGE} :arm32v6 -stable ${ IMAGE} :arm64v8-stable"
531
- sh " docker manifest annotate ${ IMAGE} :stable ${ IMAGE} :arm32v6 -stable --os linux --arch arm"
559
+ sh " docker manifest create ${ IMAGE} :stable ${ IMAGE} :amd64-stable ${ IMAGE} :arm32v7 -stable ${ IMAGE} :arm64v8-stable"
560
+ sh " docker manifest annotate ${ IMAGE} :stable ${ IMAGE} :arm32v7 -stable --os linux --arch arm"
532
561
sh " docker manifest annotate ${ IMAGE} :stable ${ IMAGE} :arm64v8-stable --os linux --arch arm64 --variant v8"
533
562
sh " docker manifest push --purge ${ IMAGE} :${ META_TAG} || :"
534
- sh " docker manifest create ${ IMAGE} :${ META_TAG} ${ IMAGE} :amd64-${ META_TAG} ${ IMAGE} :arm32v6 -${ META_TAG} ${ IMAGE} :arm64v8-${ META_TAG} "
535
- sh " docker manifest annotate ${ IMAGE} :${ META_TAG} ${ IMAGE} :arm32v6 -${ META_TAG} --os linux --arch arm"
563
+ sh " docker manifest create ${ IMAGE} :${ META_TAG} ${ IMAGE} :amd64-${ META_TAG} ${ IMAGE} :arm32v7 -${ META_TAG} ${ IMAGE} :arm64v8-${ META_TAG} "
564
+ sh " docker manifest annotate ${ IMAGE} :${ META_TAG} ${ IMAGE} :arm32v7 -${ META_TAG} --os linux --arch arm"
536
565
sh " docker manifest annotate ${ IMAGE} :${ META_TAG} ${ IMAGE} :arm64v8-${ META_TAG} --os linux --arch arm64 --variant v8"
537
566
sh " docker manifest push --purge ${ IMAGE} :stable"
538
567
sh " docker manifest push --purge ${ IMAGE} :${ META_TAG} "
539
568
sh ''' docker rmi \
540
569
${IMAGE}:amd64-${META_TAG} \
541
570
${IMAGE}:amd64-stable \
542
- ${IMAGE}:arm32v6 -${META_TAG} \
543
- ${IMAGE}:arm32v6 -stable \
571
+ ${IMAGE}:arm32v7 -${META_TAG} \
572
+ ${IMAGE}:arm32v7 -stable \
544
573
${IMAGE}:arm64v8-${META_TAG} \
545
574
${IMAGE}:arm64v8-stable \
546
- lsiodev/buildcache:arm32v6 -${COMMIT_SHA}-${BUILD_NUMBER} \
575
+ lsiodev/buildcache:arm32v7 -${COMMIT_SHA}-${BUILD_NUMBER} \
547
576
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} '''
548
577
}
549
578
}
@@ -614,7 +643,7 @@ pipeline {
614
643
}
615
644
steps {
616
645
sh ''' curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/issues/${PULL_REQUEST}/comments \
617
- -d '{"body": "I am a bot, here are the test results for this PR '${CI_URL}'"}' '''
646
+ -d '{"body": "I am a bot, here are the test results for this PR: \\ n '${CI_URL}' \\ n'${SHELLCHECK_URL }'"}' '''
618
647
}
619
648
}
620
649
}
@@ -629,12 +658,12 @@ pipeline {
629
658
}
630
659
else if (currentBuild. currentResult == " SUCCESS" ){
631
660
sh ''' curl -X POST --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 1681177,\
632
- "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"}],\
661
+ "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"}],\
633
662
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
634
663
}
635
664
else {
636
665
sh ''' curl -X POST --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 16711680,\
637
- "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"}],\
666
+ "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"}],\
638
667
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
639
668
}
640
669
}
0 commit comments