@@ -132,7 +132,7 @@ pipeline {
132132 script{
133133 env. IMAGE = env. DOCKERHUB_IMAGE
134134 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
136136 } else {
137137 env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
138138 }
@@ -150,7 +150,7 @@ pipeline {
150150 script{
151151 env. IMAGE = env. DEV_DOCKERHUB_IMAGE
152152 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
154154 } else {
155155 env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
156156 }
@@ -168,7 +168,7 @@ pipeline {
168168 script{
169169 env. IMAGE = env. PR_DOCKERHUB_IMAGE
170170 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
172172 } else {
173173 env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
174174 }
@@ -178,6 +178,35 @@ pipeline {
178178 }
179179 }
180180 }
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+ }
181210 // Use helper containers to render templated files
182211 stage(' Update-Templates' ) {
183212 when {
@@ -252,7 +281,7 @@ pipeline {
252281 environment name : ' EXIT_STATUS' , value : ' '
253282 }
254283 steps {
255- sh " docker build --no-cache -t ${ IMAGE} :${ META_TAG} \
284+ sh " docker build --no-cache --pull - t ${ IMAGE} :${ META_TAG} \
256285 --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
257286 }
258287 }
@@ -265,7 +294,7 @@ pipeline {
265294 parallel {
266295 stage(' Build X86' ) {
267296 steps {
268- sh " docker build --no-cache -t ${ IMAGE} :amd64-${ META_TAG} \
297+ sh " docker build --no-cache --pull - t ${ IMAGE} :amd64-${ META_TAG} \
269298 --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
270299 }
271300 }
@@ -288,13 +317,13 @@ pipeline {
288317 '''
289318 sh " curl https://lsio-ci.ams3.digitaloceanspaces.com/qemu-arm-static -o qemu-arm-static"
290319 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} \
292321 --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} "
295324 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} '''
298327 }
299328 }
300329 }
@@ -317,7 +346,7 @@ pipeline {
317346 '''
318347 sh " curl https://lsio-ci.ams3.digitaloceanspaces.com/qemu-aarch64-static -o qemu-aarch64-static"
319348 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} \
321350 --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
322351 sh " docker tag ${ IMAGE} :arm64v8-${ META_TAG} lsiodev/buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
323352 sh " docker push lsiodev/buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
@@ -347,13 +376,13 @@ pipeline {
347376 fi
348377 if [ "${DIST_IMAGE}" == "alpine" ]; then
349378 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 && \
353381 chmod 777 /tmp/package_versions.txt'
354382 elif [ "${DIST_IMAGE}" == "ubuntu" ]; then
355383 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 && \
357386 chmod 777 /tmp/package_versions.txt'
358387 fi
359388 NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
@@ -433,9 +462,9 @@ pipeline {
433462 set -e
434463 docker pull lsiodev/ci:latest
435464 if [ "${MULTIARCH}" == "true" ]; then
436- docker pull lsiodev/buildcache:arm32v6 -${COMMIT_SHA}-${BUILD_NUMBER}
465+ docker pull lsiodev/buildcache:arm32v7 -${COMMIT_SHA}-${BUILD_NUMBER}
437466 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}
439468 docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
440469 fi
441470 docker run --rm \
@@ -512,38 +541,38 @@ pipeline {
512541 '''
513542 sh ''' #! /bin/bash
514543 if [ "${CI}" == "false" ]; then
515- docker pull lsiodev/buildcache:arm32v6 -${COMMIT_SHA}-${BUILD_NUMBER}
544+ docker pull lsiodev/buildcache:arm32v7 -${COMMIT_SHA}-${BUILD_NUMBER}
516545 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}
518547 docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
519548 fi'''
520549 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"
522551 sh " docker tag ${ IMAGE} :arm64v8-${ META_TAG} ${ IMAGE} :arm64v8-stable"
523552 sh " docker push ${ IMAGE} :amd64-${ META_TAG} "
524- sh " docker push ${ IMAGE} :arm32v6 -${ META_TAG} "
553+ sh " docker push ${ IMAGE} :arm32v7 -${ META_TAG} "
525554 sh " docker push ${ IMAGE} :arm64v8-${ META_TAG} "
526555 sh " docker push ${ IMAGE} :amd64-stable"
527- sh " docker push ${ IMAGE} :arm32v6 -stable"
556+ sh " docker push ${ IMAGE} :arm32v7 -stable"
528557 sh " docker push ${ IMAGE} :arm64v8-stable"
529558 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"
532561 sh " docker manifest annotate ${ IMAGE} :stable ${ IMAGE} :arm64v8-stable --os linux --arch arm64 --variant v8"
533562 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"
536565 sh " docker manifest annotate ${ IMAGE} :${ META_TAG} ${ IMAGE} :arm64v8-${ META_TAG} --os linux --arch arm64 --variant v8"
537566 sh " docker manifest push --purge ${ IMAGE} :stable"
538567 sh " docker manifest push --purge ${ IMAGE} :${ META_TAG} "
539568 sh ''' docker rmi \
540569 ${IMAGE}:amd64-${META_TAG} \
541570 ${IMAGE}:amd64-stable \
542- ${IMAGE}:arm32v6 -${META_TAG} \
543- ${IMAGE}:arm32v6 -stable \
571+ ${IMAGE}:arm32v7 -${META_TAG} \
572+ ${IMAGE}:arm32v7 -stable \
544573 ${IMAGE}:arm64v8-${META_TAG} \
545574 ${IMAGE}:arm64v8-stable \
546- lsiodev/buildcache:arm32v6 -${COMMIT_SHA}-${BUILD_NUMBER} \
575+ lsiodev/buildcache:arm32v7 -${COMMIT_SHA}-${BUILD_NUMBER} \
547576 lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} '''
548577 }
549578 }
@@ -614,7 +643,7 @@ pipeline {
614643 }
615644 steps {
616645 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 }'"}' '''
618647 }
619648 }
620649 }
@@ -629,12 +658,12 @@ pipeline {
629658 }
630659 else if (currentBuild. currentResult == " SUCCESS" ){
631660 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"}],\
633662 "username": "Jenkins"}' ${BUILDS_DISCORD} '''
634663 }
635664 else {
636665 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"}],\
638667 "username": "Jenkins"}' ${BUILDS_DISCORD} '''
639668 }
640669 }
0 commit comments