| 
					
				 | 
			
			
				@@ -132,7 +132,7 @@ pipeline { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         script{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           env.IMAGE = env.DOCKERHUB_IMAGE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           if (env.MULTIARCH == 'true') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            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 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            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 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -150,7 +150,7 @@ pipeline { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         script{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           env.IMAGE = env.DEV_DOCKERHUB_IMAGE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           if (env.MULTIARCH == 'true') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            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 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            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 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -168,7 +168,7 @@ pipeline { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         script{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           env.IMAGE = env.PR_DOCKERHUB_IMAGE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           if (env.MULTIARCH == 'true') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            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 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            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 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -178,6 +178,35 @@ pipeline { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // Run ShellCheck 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    stage('ShellCheck') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      when { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        environment name: 'CI', value: 'true' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      steps { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        withCredentials([ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          string(credentialsId: 'spaces-key', variable: 'DO_KEY'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          string(credentialsId: 'spaces-secret', variable: 'DO_SECRET') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          script{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            env.SHELLCHECK_URL = 'https://lsio-ci.ams3.digitaloceanspaces.com/' + env.IMAGE + '/' + env.META_TAG + '/shellcheck-result.xml' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          sh '''curl -sL https://raw.githubusercontent.com/linuxserver/docker-shellcheck/master/checkrun.sh | /bin/bash''' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          sh '''#! /bin/bash 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                set -e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                docker pull lsiodev/spaces-file-upload:latest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                docker run --rm \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                -e DESTINATION=\"${IMAGE}/${META_TAG}/shellcheck-result.xml\" \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                -e FILE_NAME="shellcheck-result.xml" \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                -e MIMETYPE="text/xml" \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                -v ${WORKSPACE}:/mnt \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                -e SECRET_KEY=\"${DO_SECRET}\" \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                -e ACCESS_KEY=\"${DO_KEY}\" \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                -t lsiodev/spaces-file-upload:latest \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                python /upload.py''' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // Use helper containers to render templated files 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     stage('Update-Templates') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       when { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -252,7 +281,7 @@ pipeline { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         environment name: 'EXIT_STATUS', value: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       steps { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        sh "docker build --no-cache -t ${IMAGE}:${META_TAG} \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sh "docker build --no-cache --pull -t ${IMAGE}:${META_TAG} \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -265,7 +294,7 @@ pipeline { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       parallel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         stage('Build X86') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           steps { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            sh "docker build --no-cache -t ${IMAGE}:amd64-${META_TAG} \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sh "docker build --no-cache --pull -t ${IMAGE}:amd64-${META_TAG} \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -288,13 +317,13 @@ pipeline { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  ''' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               sh "curl https://lsio-ci.ams3.digitaloceanspaces.com/qemu-arm-static -o qemu-arm-static" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               sh "chmod +x qemu-*" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              sh "docker build --no-cache -f Dockerfile.armhf -t ${IMAGE}:arm32v6-${META_TAG} \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              sh "docker build --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              sh "docker tag ${IMAGE}:arm32v6-${META_TAG} lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              sh "docker push lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              sh "docker tag ${IMAGE}:arm32v7-${META_TAG} lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              sh "docker push lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               sh '''docker rmi \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    ${IMAGE}:arm32v6-${META_TAG} \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} ''' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ${IMAGE}:arm32v7-${META_TAG} \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ''' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -317,7 +346,7 @@ pipeline { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  ''' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               sh "curl https://lsio-ci.ams3.digitaloceanspaces.com/qemu-aarch64-static -o qemu-aarch64-static" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               sh "chmod +x qemu-*" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              sh "docker build --no-cache -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              sh "docker build --no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                            --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${META_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               sh "docker tag ${IMAGE}:arm64v8-${META_TAG} lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               sh "docker push lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -347,13 +376,13 @@ pipeline { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               if [ "${DIST_IMAGE}" == "alpine" ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  apk info > packages && \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  apk info -v > versions && \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  paste -d " " packages versions > /tmp/package_versions.txt && \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  apk info -v > /tmp/package_versions.txt && \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  sort -o /tmp/package_versions.txt  /tmp/package_versions.txt && \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   chmod 777 /tmp/package_versions.txt' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               elif [ "${DIST_IMAGE}" == "ubuntu" ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 docker run --rm --entrypoint '/bin/sh' -v ${TEMPDIR}:/tmp ${LOCAL_CONTAINER} -c '\ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  apt list -qq --installed | cut -d" " -f1-2 > /tmp/package_versions.txt && \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  apt list -qq --installed | sed "s#/.*now ##g" | cut -d" " -f1 > /tmp/package_versions.txt && \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  sort -o /tmp/package_versions.txt  /tmp/package_versions.txt && \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   chmod 777 /tmp/package_versions.txt' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 ) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -433,9 +462,9 @@ pipeline { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 set -e 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 docker pull lsiodev/ci:latest 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if [ "${MULTIARCH}" == "true" ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  docker pull lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  docker tag lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v6-${META_TAG} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 fi 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 docker run --rm \ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -512,38 +541,38 @@ pipeline { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              ''' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           sh '''#! /bin/bash 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if [ "${CI}" == "false" ]; then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  docker pull lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  docker pull lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   docker pull lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  docker tag lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v6-${META_TAG} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 fi''' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           sh "docker tag ${IMAGE}:amd64-${META_TAG} ${IMAGE}:amd64-latest" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          sh "docker tag ${IMAGE}:arm32v6-${META_TAG} ${IMAGE}:arm32v6-latest" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm32v7-latest" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ${IMAGE}:arm64v8-latest" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           sh "docker push ${IMAGE}:amd64-${META_TAG}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          sh "docker push ${IMAGE}:arm32v6-${META_TAG}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          sh "docker push ${IMAGE}:arm32v7-${META_TAG}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           sh "docker push ${IMAGE}:arm64v8-${META_TAG}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           sh "docker push ${IMAGE}:amd64-latest" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          sh "docker push ${IMAGE}:arm32v6-latest" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          sh "docker push ${IMAGE}:arm32v7-latest" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           sh "docker push ${IMAGE}:arm64v8-latest" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           sh "docker manifest push --purge ${IMAGE}:latest || :" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          sh "docker manifest create ${IMAGE}:latest ${IMAGE}:amd64-latest ${IMAGE}:arm32v6-latest ${IMAGE}:arm64v8-latest" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm32v6-latest --os linux --arch arm" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          sh "docker manifest create ${IMAGE}:latest ${IMAGE}:amd64-latest ${IMAGE}:arm32v7-latest ${IMAGE}:arm64v8-latest" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm32v7-latest --os linux --arch arm" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           sh "docker manifest push --purge ${IMAGE}:${META_TAG} || :" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          sh "docker manifest create ${IMAGE}:${META_TAG} ${IMAGE}:amd64-${META_TAG} ${IMAGE}:arm32v6-${META_TAG} ${IMAGE}:arm64v8-${META_TAG}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm32v6-${META_TAG} --os linux --arch arm" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          sh "docker manifest create ${IMAGE}:${META_TAG} ${IMAGE}:amd64-${META_TAG} ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm64v8-${META_TAG}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm32v7-${META_TAG} --os linux --arch arm" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           sh "docker manifest push --purge ${IMAGE}:latest" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           sh "docker manifest push --purge ${IMAGE}:${META_TAG}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           sh '''docker rmi \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ${IMAGE}:amd64-${META_TAG} \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ${IMAGE}:amd64-latest \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ${IMAGE}:arm32v6-${META_TAG} \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                ${IMAGE}:arm32v6-latest \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ${IMAGE}:arm32v7-${META_TAG} \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ${IMAGE}:arm32v7-latest \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ${IMAGE}:arm64v8-${META_TAG} \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ${IMAGE}:arm64v8-latest \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                lsiodev/buildcache:arm32v6-${COMMIT_SHA}-${BUILD_NUMBER} \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ''' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -614,7 +643,7 @@ pipeline { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       steps { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/issues/${PULL_REQUEST}/comments \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        -d '{"body": "I am a bot, here are the test results for this PR '${CI_URL}'"}' ''' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        -d '{"body": "I am a bot, here are the test results for this PR: \\n'${CI_URL}' \\n'${SHELLCHECK_URL}'"}' ''' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -629,12 +658,12 @@ pipeline { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else if (currentBuild.currentResult == "SUCCESS"){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           sh ''' curl -X POST --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 1681177,\ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                 "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"}],\ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 "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"}],\ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  "username": "Jenkins"}' ${BUILDS_DISCORD} ''' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           sh ''' curl -X POST --data '{"avatar_url": "https://wiki.jenkins-ci.org/download/attachments/2916393/headshot.png","embeds": [{"color": 16711680,\ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                 "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"}],\ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 "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"}],\ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  "username": "Jenkins"}' ${BUILDS_DISCORD} ''' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 |