mirror of
				https://github.com/linuxserver/docker-heimdall.git
				synced 2025-10-31 04:57:39 +09:00 
			
		
		
		
	Bot Updating Templated Files
This commit is contained in:
		
							
								
								
									
										48
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										48
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
								
							| @@ -116,6 +116,16 @@ pipeline { | ||||
|        } | ||||
|      } | ||||
|     } | ||||
|     // Sanitize the release tag and strip illegal docker or github characters | ||||
|     stage("Sanitize tag"){ | ||||
|       steps{ | ||||
|         script{ | ||||
|           env.EXT_RELEASE_CLEAN = sh( | ||||
|             script: '''echo ${EXT_RELEASE} | sed 's/[~,%@+;:]//g' ''', | ||||
|             returnStdout: true).trim() | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|     // If this is a master build use live docker endpoints | ||||
|     stage("Set ENV live build"){ | ||||
|       when { | ||||
| @@ -126,11 +136,11 @@ pipeline { | ||||
|         script{ | ||||
|           env.IMAGE = env.DOCKERHUB_IMAGE | ||||
|           if (env.MULTIARCH == 'true') { | ||||
|             env.CI_TAGS = 'amd64-' + env.EXT_RELEASE + '-ls' + env.LS_TAG_NUMBER + '|arm32v6-' + env.EXT_RELEASE + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE + '-ls' + env.LS_TAG_NUMBER | ||||
|             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 | ||||
|           } else { | ||||
|             env.CI_TAGS = env.EXT_RELEASE + '-ls' + env.LS_TAG_NUMBER | ||||
|             env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER | ||||
|           } | ||||
|           env.META_TAG = env.EXT_RELEASE + '-ls' + env.LS_TAG_NUMBER | ||||
|           env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER | ||||
|         } | ||||
|       } | ||||
|     } | ||||
| @@ -144,11 +154,11 @@ pipeline { | ||||
|         script{ | ||||
|           env.IMAGE = env.DEV_DOCKERHUB_IMAGE | ||||
|           if (env.MULTIARCH == 'true') { | ||||
|             env.CI_TAGS = 'amd64-' + env.EXT_RELEASE + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v6-' + env.EXT_RELEASE + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA | ||||
|             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 | ||||
|           } else { | ||||
|             env.CI_TAGS = env.EXT_RELEASE + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA | ||||
|             env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA | ||||
|           } | ||||
|           env.META_TAG = env.EXT_RELEASE + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA | ||||
|           env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA | ||||
|           env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/' | ||||
|         } | ||||
|       } | ||||
| @@ -162,11 +172,11 @@ pipeline { | ||||
|         script{ | ||||
|           env.IMAGE = env.PR_DOCKERHUB_IMAGE | ||||
|           if (env.MULTIARCH == 'true') { | ||||
|             env.CI_TAGS = 'amd64-' + env.EXT_RELEASE + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v6-' + env.EXT_RELEASE + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST | ||||
|             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 | ||||
|           } else { | ||||
|             env.CI_TAGS = env.EXT_RELEASE + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST | ||||
|             env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST | ||||
|           } | ||||
|           env.META_TAG = env.EXT_RELEASE + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST | ||||
|           env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST | ||||
|           env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST | ||||
|           env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/' | ||||
|         } | ||||
| @@ -328,10 +338,12 @@ pipeline { | ||||
|                 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' | ||||
|                   paste -d " " packages versions > /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 -qq list --installed | awk "{print \$1,\$2}" > /tmp/package_versions.txt' | ||||
|                   apt -qq list --installed | awk "{print \$1,\$2}" > /tmp/package_versions.txt && \ | ||||
|                   chmod 777 /tmp/package_versions.txt' | ||||
|               fi | ||||
|               if [ "$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )" != "${PACKAGE_TAG}" ]; then | ||||
|                 git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO} | ||||
| @@ -498,7 +510,7 @@ pipeline { | ||||
|           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 annotate ${IMAGE}:latest ${IMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8" | ||||
|           sh "docker manifest push --purge ${IMAGE}:${EXT_RELEASE}-ls${LS_TAG_NUMBER} || :" | ||||
|           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 annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8" | ||||
| @@ -512,25 +524,25 @@ pipeline { | ||||
|       when { | ||||
|         branch "master" | ||||
|         expression { | ||||
|           env.LS_RELEASE != env.EXT_RELEASE + '-pkg-' + env.PACKAGE_TAG + '-ls' + env.LS_TAG_NUMBER | ||||
|           env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-ls' + env.LS_TAG_NUMBER | ||||
|         } | ||||
|         environment name: 'CHANGE_ID', value: '' | ||||
|         environment name: 'EXIT_STATUS', value: '' | ||||
|       } | ||||
|       steps { | ||||
|         echo "Pushing New tag for current commit ${EXT_RELEASE}-pkg-${PACKAGE_TAG}-ls${LS_TAG_NUMBER}" | ||||
|         echo "Pushing New tag for current commit ${EXT_RELEASE_CLEAN}-pkg-${PACKAGE_TAG}-ls${LS_TAG_NUMBER}" | ||||
|         sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \ | ||||
|         -d '{"tag":"'${EXT_RELEASE}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}'",\ | ||||
|         -d '{"tag":"'${EXT_RELEASE_CLEAN}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}'",\ | ||||
|              "object": "'${COMMIT_SHA}'",\ | ||||
|              "message": "Tagging Release '${EXT_RELEASE}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}' to master",\ | ||||
|              "message": "Tagging Release '${EXT_RELEASE_CLEAN}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}' to master",\ | ||||
|              "type": "commit",\ | ||||
|              "tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' ''' | ||||
|         echo "Pushing New release for Tag" | ||||
|         sh '''#! /bin/bash | ||||
|               curl -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq '. |.body' | sed 's:^.\\(.*\\).$:\\1:' > releasebody.json | ||||
|               echo '{"tag_name":"'${EXT_RELEASE}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}'",\ | ||||
|               echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}'",\ | ||||
|                      "target_commitish": "master",\ | ||||
|                      "name": "'${EXT_RELEASE}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}'",\ | ||||
|                      "name": "'${EXT_RELEASE_CLEAN}'-pkg-'${PACKAGE_TAG}'-ls'${LS_TAG_NUMBER}'",\ | ||||
|                      "body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**'${EXT_REPO}' Changes:**\\n\\n' > start | ||||
|               printf '","draft": false,"prerelease": false}' >> releasebody.json | ||||
|               paste -d'\\0' start releasebody.json > releasebody.json.done | ||||
|   | ||||
		Reference in New Issue
	
	Block a user