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