@@ -212,7 +212,7 @@ pipeline {
212212 env. GITLABIMAGE = ' registry.gitlab.com/linuxserver.io/' + env. LS_REPO + ' /' + env. CONTAINER_NAME
213213 env. QUAYIMAGE = ' quay.io/linuxserver.io/' + env. CONTAINER_NAME
214214 if (env. MULTIARCH == ' true' ) {
215- env. CI_TAGS = ' amd64-nightly-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER + ' |riscv64-nightly- ' + env . EXT_RELEASE_CLEAN + ' -ls ' + env . LS_TAG_NUMBER + ' | arm64v8-nightly-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
215+ env. CI_TAGS = ' amd64-nightly-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER + ' |arm64v8-nightly-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
216216 } else {
217217 env. CI_TAGS = ' nightly-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
218218 }
@@ -237,7 +237,7 @@ pipeline {
237237 env. GITLABIMAGE = ' registry.gitlab.com/linuxserver.io/' + env. LS_REPO + ' /lsiodev-' + env. CONTAINER_NAME
238238 env. QUAYIMAGE = ' quay.io/linuxserver.io/lsiodev-' + env. CONTAINER_NAME
239239 if (env. MULTIARCH == ' true' ) {
240- env. CI_TAGS = ' amd64-nightly-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' |riscv64-nightly- ' + env . EXT_RELEASE_CLEAN + ' -pkg- ' + env . PACKAGE_TAG + ' -dev- ' + env . COMMIT_SHA + ' | arm64v8-nightly-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
240+ env. CI_TAGS = ' amd64-nightly-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' |arm64v8-nightly-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
241241 } else {
242242 env. CI_TAGS = ' nightly-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
243243 }
@@ -262,7 +262,7 @@ pipeline {
262262 env. GITLABIMAGE = ' registry.gitlab.com/linuxserver.io/' + env. LS_REPO + ' /lspipepr-' + env. CONTAINER_NAME
263263 env. QUAYIMAGE = ' quay.io/linuxserver.io/lspipepr-' + env. CONTAINER_NAME
264264 if (env. MULTIARCH == ' true' ) {
265- env. CI_TAGS = ' amd64-nightly-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' -pr-' + env. PULL_REQUEST + ' |riscv64-nightly- ' + env . EXT_RELEASE_CLEAN + ' -pkg- ' + env . PACKAGE_TAG + ' -dev- ' + env . COMMIT_SHA + ' -pr- ' + env . PULL_REQUEST + ' | arm64v8-nightly-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' -pr-' + env. PULL_REQUEST
265+ env. CI_TAGS = ' amd64-nightly-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' -pr-' + env. PULL_REQUEST + ' |arm64v8-nightly-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' -pr-' + env. PULL_REQUEST
266266 } else {
267267 env. CI_TAGS = ' nightly-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' -pr-' + env. PULL_REQUEST
268268 }
@@ -785,76 +785,6 @@ pipeline {
785785 '''
786786 }
787787 }
788- stage(' Build RISCV64' ) {
789- agent {
790- label ' RISCV64'
791- }
792- steps {
793- echo " Running on node: ${ NODE_NAME} "
794- sh " sed -r -i 's|(^FROM .*)|\\ 1\\ n\\ nENV LSIO_FIRST_PARTY=true|g' Dockerfile.riscv64"
795- sh " docker buildx build \
796- --label \" org.opencontainers.image.created=${ GITHUB_DATE} \" \
797- --label \" org.opencontainers.image.authors=linuxserver.io\" \
798- --label \" org.opencontainers.image.url=https://github.com/linuxserver/docker-sabnzbd/packages\" \
799- --label \" org.opencontainers.image.documentation=https://docs.linuxserver.io/images/docker-sabnzbd\" \
800- --label \" org.opencontainers.image.source=https://github.com/linuxserver/docker-sabnzbd\" \
801- --label \" org.opencontainers.image.version=${ EXT_RELEASE_CLEAN} -ls${ LS_TAG_NUMBER} \" \
802- --label \" org.opencontainers.image.revision=${ COMMIT_SHA} \" \
803- --label \" org.opencontainers.image.vendor=linuxserver.io\" \
804- --label \" org.opencontainers.image.licenses=GPL-3.0-only\" \
805- --label \" org.opencontainers.image.ref.name=${ COMMIT_SHA} \" \
806- --label \" org.opencontainers.image.title=Sabnzbd\" \
807- --label \" org.opencontainers.image.description=[Sabnzbd](http://sabnzbd.org/) makes Usenet as simple and streamlined as possible by automating everything we can. All you have to do is add an .nzb. SABnzbd takes over from there, where it will be automatically downloaded, verified, repaired, extracted and filed away with zero human interaction.\" \
808- --no-cache --pull -f Dockerfile.riscv64 -t ${ IMAGE} :riscv64-${ META_TAG} --platform=linux/riscv64 \
809- --provenance=true --sbom=true --builder=container --load \
810- --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
811- sh ''' #! /bin/bash
812- set -e
813- IFS=',' read -ra CACHE <<< "$BUILDCACHE"
814- for i in "${CACHE[@]}"; do
815- docker tag ${IMAGE}:riscv64-${META_TAG} ${i}:riscv64-${COMMIT_SHA}-${BUILD_NUMBER}
816- done
817- '''
818- withCredentials([
819- [
820- $class : ' UsernamePasswordMultiBinding' ,
821- credentialsId : ' Quay.io-Robot' ,
822- usernameVariable : ' QUAYUSER' ,
823- passwordVariable : ' QUAYPASS'
824- ]
825- ]) {
826- retry_backoff(5 ,5 ) {
827- sh ''' #! /bin/bash
828- set -e
829- echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin
830- echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
831- echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
832- echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
833-
834- if [[ "${PACKAGE_CHECK}" != "true" ]]; then
835- declare -A pids
836- IFS=',' read -ra CACHE <<< "$BUILDCACHE"
837- for i in "${CACHE[@]}"; do
838- docker push ${i}:riscv64-${COMMIT_SHA}-${BUILD_NUMBER} &
839- pids[$!]="$i"
840- done
841- for p in "${!pids[@]}"; do
842- wait "$p" || { [[ "${pids[$p]}" != *"quay.io"* ]] && exit 1; }
843- done
844- fi
845- '''
846- }
847- }
848- sh ''' #! /bin/bash
849- containers=$(docker ps -aq)
850- if [[ -n "${containers}" ]]; then
851- docker stop ${containers}
852- fi
853- docker system prune -f --volumes || :
854- docker image prune -af || :
855- '''
856- }
857- }
858788 }
859789 }
860790 // Take the image we just built and dump package versions for comparison
@@ -969,8 +899,6 @@ pipeline {
969899 if [ "${MULTIARCH}" == "true" ]; then
970900 docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} --platform=arm64
971901 docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
972- docker pull ghcr.io/linuxserver/lsiodev-buildcache:riscv64-${COMMIT_SHA}-${BUILD_NUMBER} --platform=riscv64
973- docker tag ghcr.io/linuxserver/lsiodev-buildcache:riscv64-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:riscv64-${META_TAG}
974902 fi
975903 docker run --rm \
976904 --shm-size=1gb \
@@ -1062,26 +990,22 @@ pipeline {
1062990 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
1063991 docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${META_TAG} -t ${MANIFESTIMAGE}:arm64v8-nightly -t ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || \
1064992 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
1065- docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:riscv64-${META_TAG} -t ${MANIFESTIMAGE}:riscv64-nightly -t ${MANIFESTIMAGE}:riscv64-${EXT_RELEASE_TAG} ${CACHEIMAGE}:riscv64-${COMMIT_SHA}-${BUILD_NUMBER} || \
1066- { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
1067993 if [ -n "${SEMVER}" ]; then
1068994 docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
1069995 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
1070996 docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${SEMVER} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || \
1071997 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
1072- docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:riscv64-${SEMVER} ${CACHEIMAGE}:riscv64-${COMMIT_SHA}-${BUILD_NUMBER} || \
1073- { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
1074998 fi
1075999 done
10761000 for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
1077- docker buildx imagetools create -t ${MANIFESTIMAGE}:nightly ${MANIFESTIMAGE}:amd64-nightly ${MANIFESTIMAGE}:riscv64-nightly ${MANIFESTIMAGE}: arm64v8-nightly || \
1001+ docker buildx imagetools create -t ${MANIFESTIMAGE}:nightly ${MANIFESTIMAGE}:amd64-nightly ${MANIFESTIMAGE}:arm64v8-nightly || \
10781002 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
1079- docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:riscv64-${META_TAG} ${MANIFESTIMAGE}: arm64v8-${META_TAG} || \
1003+ docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} || \
10801004 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
1081- docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:riscv64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}: arm64v8-${EXT_RELEASE_TAG} || \
1005+ docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} || \
10821006 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
10831007 if [ -n "${SEMVER}" ]; then
1084- docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:riscv64-${SEMVER} ${MANIFESTIMAGE}: arm64v8-${SEMVER} || \
1008+ docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} || \
10851009 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
10861010 fi
10871011 done
0 commit comments