mirror of
				https://github.com/linuxserver/docker-jellyfin.git
				synced 2025-11-01 05:27:38 +09:00 
			
		
		
		
	Bot Updating Templated Files
This commit is contained in:
		
							
								
								
									
										83
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										83
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
								
							| @@ -163,7 +163,7 @@ pipeline { | |||||||
|           env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME |           env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME | ||||||
|           env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME |           env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME | ||||||
|           if (env.MULTIARCH == 'true') { |           if (env.MULTIARCH == 'true') { | ||||||
|             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 |             env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER | ||||||
|           } else { |           } else { | ||||||
|             env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER |             env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER | ||||||
|           } |           } | ||||||
| @@ -186,7 +186,7 @@ pipeline { | |||||||
|           env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME |           env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME | ||||||
|           env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME |           env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME | ||||||
|           if (env.MULTIARCH == 'true') { |           if (env.MULTIARCH == 'true') { | ||||||
|             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 |             env.CI_TAGS = 'amd64-' + 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 { |           } else { | ||||||
|             env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA |             env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA | ||||||
|           } |           } | ||||||
| @@ -209,7 +209,7 @@ pipeline { | |||||||
|           env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME |           env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME | ||||||
|           env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME |           env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME | ||||||
|           if (env.MULTIARCH == 'true') { |           if (env.MULTIARCH == 'true') { | ||||||
|             env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST |             env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST | ||||||
|           } else { |           } else { | ||||||
|             env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST |             env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST | ||||||
|           } |           } | ||||||
| @@ -280,7 +280,7 @@ pipeline { | |||||||
|                 echo "Jenkinsfile is up to date." |                 echo "Jenkinsfile is up to date." | ||||||
|               fi |               fi | ||||||
|               # Stage 2 - Delete old templates |               # Stage 2 - Delete old templates | ||||||
|               OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml" |               OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml Dockerfile.armhf" | ||||||
|               for i in ${OLD_TEMPLATES}; do |               for i in ${OLD_TEMPLATES}; do | ||||||
|                 if [[ -f "${i}" ]]; then |                 if [[ -f "${i}" ]]; then | ||||||
|                   TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}" |                   TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}" | ||||||
| @@ -316,12 +316,13 @@ pipeline { | |||||||
|                 mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows |                 mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows | ||||||
|                 mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE |                 mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE | ||||||
|                 cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || : |                 cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || : | ||||||
|  |                 cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || : | ||||||
|                 cd ${TEMPDIR}/repo/${LS_REPO}/ |                 cd ${TEMPDIR}/repo/${LS_REPO}/ | ||||||
|                 if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then |                 if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then | ||||||
|                   echo ".jenkins-external" >> .gitignore |                   echo ".jenkins-external" >> .gitignore | ||||||
|                   git add .gitignore |                   git add .gitignore | ||||||
|                 fi |                 fi | ||||||
|                 git add ${TEMPLATED_FILES} |                 git add readme-vars.yml ${TEMPLATED_FILES} | ||||||
|                 git commit -m 'Bot Updating Templated Files' |                 git commit -m 'Bot Updating Templated Files' | ||||||
|                 git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all |                 git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all | ||||||
|                 echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} |                 echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} | ||||||
| @@ -515,44 +516,6 @@ pipeline { | |||||||
|               --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." |               --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." | ||||||
|           } |           } | ||||||
|         } |         } | ||||||
|         stage('Build ARMHF') { |  | ||||||
|           agent { |  | ||||||
|             label 'ARMHF' |  | ||||||
|           } |  | ||||||
|           steps { |  | ||||||
|             echo "Running on node: ${NODE_NAME}" |  | ||||||
|             echo 'Logging into Github' |  | ||||||
|             sh '''#! /bin/bash |  | ||||||
|                   echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin |  | ||||||
|                ''' |  | ||||||
|             sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile.armhf" |  | ||||||
|             sh "docker buildx build \ |  | ||||||
|               --label \"org.opencontainers.image.created=${GITHUB_DATE}\" \ |  | ||||||
|               --label \"org.opencontainers.image.authors=linuxserver.io\" \ |  | ||||||
|               --label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-jellyfin/packages\" \ |  | ||||||
|               --label \"org.opencontainers.image.documentation=https://docs.linuxserver.io/images/docker-jellyfin\" \ |  | ||||||
|               --label \"org.opencontainers.image.source=https://github.com/linuxserver/docker-jellyfin\" \ |  | ||||||
|               --label \"org.opencontainers.image.version=${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}\" \ |  | ||||||
|               --label \"org.opencontainers.image.revision=${COMMIT_SHA}\" \ |  | ||||||
|               --label \"org.opencontainers.image.vendor=linuxserver.io\" \ |  | ||||||
|               --label \"org.opencontainers.image.licenses=GPL-3.0-only\" \ |  | ||||||
|               --label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \ |  | ||||||
|               --label \"org.opencontainers.image.title=Jellyfin\" \ |  | ||||||
|               --label \"org.opencontainers.image.description=[Jellyfin](https://jellyfin.github.io/) is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps. Jellyfin is descended from Emby's 3.5.2 release and ported to the .NET Core framework to enable full cross-platform support. There are no strings attached, no premium licenses or features, and no hidden agendas: just a team who want to build something better and work together to achieve it.\" \ |  | ||||||
|               --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} --platform=linux/arm/v7 \ |  | ||||||
|               --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." |  | ||||||
|             sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}" |  | ||||||
|             retry(5) { |  | ||||||
|               sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}" |  | ||||||
|             } |  | ||||||
|             sh '''#! /bin/bash |  | ||||||
|                   containers=$(docker ps -aq) |  | ||||||
|                   if [[ -n "${containers}" ]]; then |  | ||||||
|                     docker stop ${containers} |  | ||||||
|                   fi |  | ||||||
|                   docker system prune -af --volumes || : ''' |  | ||||||
|           } |  | ||||||
|         } |  | ||||||
|         stage('Build ARM64') { |         stage('Build ARM64') { | ||||||
|           agent { |           agent { | ||||||
|             label 'ARM64' |             label 'ARM64' | ||||||
| @@ -693,9 +656,7 @@ pipeline { | |||||||
|                 set -e |                 set -e | ||||||
|                 docker pull ghcr.io/linuxserver/ci:latest |                 docker pull ghcr.io/linuxserver/ci:latest | ||||||
|                 if [ "${MULTIARCH}" == "true" ]; then |                 if [ "${MULTIARCH}" == "true" ]; then | ||||||
|                   docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} |  | ||||||
|                   docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} |                   docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} | ||||||
|                   docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG} |  | ||||||
|                   docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} |                   docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} | ||||||
|                 fi |                 fi | ||||||
|                 docker run --rm \ |                 docker run --rm \ | ||||||
| @@ -798,8 +759,6 @@ pipeline { | |||||||
|                   echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin |                   echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin | ||||||
|                   echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin |                   echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin | ||||||
|                   if [ "${CI}" == "false" ]; then |                   if [ "${CI}" == "false" ]; then | ||||||
|                     docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} |  | ||||||
|                     docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG} |  | ||||||
|                     docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} |                     docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} | ||||||
|                     docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} |                     docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} | ||||||
|                   fi |                   fi | ||||||
| @@ -807,49 +766,47 @@ pipeline { | |||||||
|                     docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} |                     docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} | ||||||
|                     docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest |                     docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest | ||||||
|                     docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} |                     docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} | ||||||
|                     docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} |  | ||||||
|                     docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest |  | ||||||
|                     docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} |  | ||||||
|                     docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} |                     docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} | ||||||
|                     docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest |                     docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest | ||||||
|                     docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} |                     docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} | ||||||
|                     if [ -n "${SEMVER}" ]; then |                     if [ -n "${SEMVER}" ]; then | ||||||
|                       docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER} |                       docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER} | ||||||
|                       docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${SEMVER} |  | ||||||
|                       docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER} |                       docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER} | ||||||
|                     fi |                     fi | ||||||
|                     docker push ${MANIFESTIMAGE}:amd64-${META_TAG} |                     docker push ${MANIFESTIMAGE}:amd64-${META_TAG} | ||||||
|                     docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} |                     docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} | ||||||
|                     docker push ${MANIFESTIMAGE}:amd64-latest |                     docker push ${MANIFESTIMAGE}:amd64-latest | ||||||
|                     docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG} |  | ||||||
|                     docker push ${MANIFESTIMAGE}:arm32v7-latest |  | ||||||
|                     docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} |  | ||||||
|                     docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG} |                     docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG} | ||||||
|                     docker push ${MANIFESTIMAGE}:arm64v8-latest |                     docker push ${MANIFESTIMAGE}:arm64v8-latest | ||||||
|                     docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} |                     docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} | ||||||
|                     if [ -n "${SEMVER}" ]; then |                     if [ -n "${SEMVER}" ]; then | ||||||
|                       docker push ${MANIFESTIMAGE}:amd64-${SEMVER} |                       docker push ${MANIFESTIMAGE}:amd64-${SEMVER} | ||||||
|                       docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER} |  | ||||||
|                       docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER} |                       docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER} | ||||||
|                     fi |                     fi | ||||||
|                     docker manifest push --purge ${MANIFESTIMAGE}:latest || : |                     docker manifest push --purge ${MANIFESTIMAGE}:latest || : | ||||||
|                     docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest |                     docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest | ||||||
|                     docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm |  | ||||||
|                     docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8 |                     docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8 | ||||||
|                     docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || : |                     docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || : | ||||||
|                     docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} |                     docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} | ||||||
|                     docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm |  | ||||||
|                     docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8 |                     docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8 | ||||||
|                     docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || : |                     docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || : | ||||||
|                     docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} |                     docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} | ||||||
|                     docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm |  | ||||||
|                     docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8 |                     docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8 | ||||||
|                     if [ -n "${SEMVER}" ]; then |                     if [ -n "${SEMVER}" ]; then | ||||||
|                       docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || : |                       docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || : | ||||||
|                       docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} |                       docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} | ||||||
|                       docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm |  | ||||||
|                       docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8 |                       docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8 | ||||||
|                     fi |                     fi | ||||||
|  |                     token=$(curl -sX GET "https://ghcr.io/token?scope=repository%3Alinuxserver%2F${CONTAINER_NAME}%3Apull" | jq -r '.token') | ||||||
|  |                     digest=$(curl -s \ | ||||||
|  |                       --header "Accept: application/vnd.docker.distribution.manifest.v2+json" \ | ||||||
|  |                       --header "Authorization: Bearer ${token}" \ | ||||||
|  |                       "https://ghcr.io/v2/linuxserver/${CONTAINER_NAME}/manifests/arm32v7-latest") | ||||||
|  |                     if [[ $(echo "$digest" | jq -r '.layers') != "null" ]]; then | ||||||
|  |                       docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest || : | ||||||
|  |                       docker manifest create ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:amd64-latest | ||||||
|  |                       docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest | ||||||
|  |                     fi | ||||||
|                     docker manifest push --purge ${MANIFESTIMAGE}:latest |                     docker manifest push --purge ${MANIFESTIMAGE}:latest | ||||||
|                     docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}  |                     docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}  | ||||||
|                     docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}  |                     docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user