@@ -305,7 +305,7 @@ pipeline {
305305 echo "Jenkinsfile is up to date."
306306 fi
307307 echo "Starting Stage 2 - Delete old templates"
308- 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 "
308+ 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"
309309 for i in ${OLD_TEMPLATES}; do
310310 if [[ -f "${i}" ]]; then
311311 TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
@@ -535,6 +535,7 @@ pipeline {
535535 --label \" org.opencontainers.image.title=Netbox\" \
536536 --label \" org.opencontainers.image.description=[Netbox](https://github.com/netbox-community/netbox) is an IP address management (IPAM) and data center infrastructure management (DCIM) tool. Initially conceived by the network engineering team at DigitalOcean, NetBox was developed specifically to address the needs of network and infrastructure engineers. It is intended to function as a domain-specific source of truth for network operations. \" \
537537 --no-cache --pull -t ${ IMAGE} :${ META_TAG} --platform=linux/amd64 \
538+ --provenance=false --sbom=false \
538539 --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
539540 }
540541 }
@@ -566,6 +567,7 @@ pipeline {
566567 --label \" org.opencontainers.image.title=Netbox\" \
567568 --label \" org.opencontainers.image.description=[Netbox](https://github.com/netbox-community/netbox) is an IP address management (IPAM) and data center infrastructure management (DCIM) tool. Initially conceived by the network engineering team at DigitalOcean, NetBox was developed specifically to address the needs of network and infrastructure engineers. It is intended to function as a domain-specific source of truth for network operations. \" \
568569 --no-cache --pull -t ${ IMAGE} :amd64-${ META_TAG} --platform=linux/amd64 \
570+ --provenance=false --sbom=false \
569571 --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
570572 }
571573 }
@@ -594,6 +596,7 @@ pipeline {
594596 --label \" org.opencontainers.image.title=Netbox\" \
595597 --label \" org.opencontainers.image.description=[Netbox](https://github.com/netbox-community/netbox) is an IP address management (IPAM) and data center infrastructure management (DCIM) tool. Initially conceived by the network engineering team at DigitalOcean, NetBox was developed specifically to address the needs of network and infrastructure engineers. It is intended to function as a domain-specific source of truth for network operations. \" \
596598 --no-cache --pull -f Dockerfile.aarch64 -t ${ IMAGE} :arm64v8-${ META_TAG} --platform=linux/arm64 \
599+ --provenance=false --sbom=false \
597600 --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
598601 sh " docker tag ${ IMAGE} :arm64v8-${ META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
599602 retry(5 ) {
@@ -717,7 +720,7 @@ pipeline {
717720 --shm-size=1gb \
718721 -v /var/run/docker.sock:/var/run/docker.sock \
719722 -e IMAGE=\" ${IMAGE}\" \
720- -e DELAY_START =\" ${CI_DELAY}\" \
723+ -e DOCKER_LOGS_TIMEOUT =\" ${CI_DELAY}\" \
721724 -e TAGS=\" ${CI_TAGS}\" \
722725 -e META_TAG=\" ${META_TAG}\" \
723726 -e PORT=\" ${CI_PORT}\" \
@@ -825,35 +828,13 @@ pipeline {
825828 docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
826829 docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER}
827830 fi
828- docker manifest push --purge ${MANIFESTIMAGE}:latest || :
829- docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest
830- docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
831- docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
832- docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
833- docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
834- docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || :
835- docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
836- docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
837- if [ -n "${SEMVER}" ]; then
838- docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || :
839- docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
840- docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
841- fi
842- token=$(curl -sX GET "https://ghcr.io/token?scope=repository%3Alinuxserver%2F${CONTAINER_NAME}%3Apull" | jq -r '.token')
843- digest=$(curl -s \
844- --header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
845- --header "Authorization: Bearer ${token}" \
846- "https://ghcr.io/v2/linuxserver/${CONTAINER_NAME}/manifests/arm32v7-latest")
847- if [[ $(echo "$digest" | jq -r '.layers') != "null" ]]; then
848- docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest || :
849- docker manifest create ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:amd64-latest
850- docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest
851- fi
852- docker manifest push --purge ${MANIFESTIMAGE}:latest
853- docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
854- docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
831+ done
832+ for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
833+ docker buildx imagetools create -t ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest
834+ docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
835+ docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
855836 if [ -n "${SEMVER}" ]; then
856- docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER}
837+ docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
857838 fi
858839 done
859840 '''
0 commit comments