@@ -299,7 +299,7 @@ pipeline {
299299 echo "Jenkinsfile is up to date."
300300 fi
301301 echo "Starting Stage 2 - Delete old templates"
302- 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 "
302+ 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"
303303 for i in ${OLD_TEMPLATES}; do
304304 if [[ -f "${i}" ]]; then
305305 TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
@@ -529,6 +529,7 @@ pipeline {
529529 --label \" org.opencontainers.image.title=Nginx\" \
530530 --label \" org.opencontainers.image.description=[Nginx](https://nginx.org/) is a simple webserver with php support. The config files reside in `/config` for easy user customization.\" \
531531 --no-cache --pull -t ${ IMAGE} :${ META_TAG} --platform=linux/amd64 \
532+ --provenance=false --sbom=false \
532533 --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
533534 }
534535 }
@@ -560,6 +561,7 @@ pipeline {
560561 --label \" org.opencontainers.image.title=Nginx\" \
561562 --label \" org.opencontainers.image.description=[Nginx](https://nginx.org/) is a simple webserver with php support. The config files reside in `/config` for easy user customization.\" \
562563 --no-cache --pull -t ${ IMAGE} :amd64-${ META_TAG} --platform=linux/amd64 \
564+ --provenance=false --sbom=false \
563565 --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
564566 }
565567 }
@@ -588,6 +590,7 @@ pipeline {
588590 --label \" org.opencontainers.image.title=Nginx\" \
589591 --label \" org.opencontainers.image.description=[Nginx](https://nginx.org/) is a simple webserver with php support. The config files reside in `/config` for easy user customization.\" \
590592 --no-cache --pull -f Dockerfile.aarch64 -t ${ IMAGE} :arm64v8-${ META_TAG} --platform=linux/arm64 \
593+ --provenance=false --sbom=false \
591594 --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
592595 sh " docker tag ${ IMAGE} :arm64v8-${ META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
593596 retry(5 ) {
@@ -711,7 +714,7 @@ pipeline {
711714 --shm-size=1gb \
712715 -v /var/run/docker.sock:/var/run/docker.sock \
713716 -e IMAGE=\" ${IMAGE}\" \
714- -e DELAY_START =\" ${CI_DELAY}\" \
717+ -e DOCKER_LOGS_TIMEOUT =\" ${CI_DELAY}\" \
715718 -e TAGS=\" ${CI_TAGS}\" \
716719 -e META_TAG=\" ${META_TAG}\" \
717720 -e PORT=\" ${CI_PORT}\" \
@@ -819,35 +822,13 @@ pipeline {
819822 docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
820823 docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER}
821824 fi
822- docker manifest push --purge ${MANIFESTIMAGE}:latest || :
823- docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest
824- docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
825- docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
826- docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
827- docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
828- docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || :
829- docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
830- docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
831- if [ -n "${SEMVER}" ]; then
832- docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || :
833- docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
834- docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
835- fi
836- token=$(curl -sX GET "https://ghcr.io/token?scope=repository%3Alinuxserver%2F${CONTAINER_NAME}%3Apull" | jq -r '.token')
837- digest=$(curl -s \
838- --header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
839- --header "Authorization: Bearer ${token}" \
840- "https://ghcr.io/v2/linuxserver/${CONTAINER_NAME}/manifests/arm32v7-latest")
841- if [[ $(echo "$digest" | jq -r '.layers') != "null" ]]; then
842- docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest || :
843- docker manifest create ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:amd64-latest
844- docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest
845- fi
846- docker manifest push --purge ${MANIFESTIMAGE}:latest
847- docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
848- docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
825+ done
826+ for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
827+ docker buildx imagetools create -t ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest
828+ docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
829+ docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
849830 if [ -n "${SEMVER}" ]; then
850- docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER}
831+ docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
851832 fi
852833 done
853834 '''
0 commit comments