@@ -198,7 +198,7 @@ pipeline {
198198 env. GITLABIMAGE = ' registry.gitlab.com/linuxserver.io/' + env. LS_REPO + ' /' + env. CONTAINER_NAME
199199 env. QUAYIMAGE = ' quay.io/linuxserver.io/' + env. CONTAINER_NAME
200200 if (env. MULTIARCH == ' true' ) {
201- env. CI_TAGS = ' amd64-resolute-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER + ' |riscv64-resolute- ' + env . EXT_RELEASE_CLEAN + ' -ls ' + env . LS_TAG_NUMBER + ' | arm64v8-resolute-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
201+ env. CI_TAGS = ' amd64-resolute-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER + ' |arm64v8-resolute-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
202202 } else {
203203 env. CI_TAGS = ' resolute-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
204204 }
@@ -223,7 +223,7 @@ pipeline {
223223 env. GITLABIMAGE = ' registry.gitlab.com/linuxserver.io/' + env. LS_REPO + ' /lsiodev-' + env. CONTAINER_NAME
224224 env. QUAYIMAGE = ' quay.io/linuxserver.io/lsiodev-' + env. CONTAINER_NAME
225225 if (env. MULTIARCH == ' true' ) {
226- env. CI_TAGS = ' amd64-resolute-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' |riscv64-resolute- ' + env . EXT_RELEASE_CLEAN + ' -pkg- ' + env . PACKAGE_TAG + ' -dev- ' + env . COMMIT_SHA + ' | arm64v8-resolute-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
226+ env. CI_TAGS = ' amd64-resolute-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' |arm64v8-resolute-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
227227 } else {
228228 env. CI_TAGS = ' resolute-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
229229 }
@@ -248,7 +248,7 @@ pipeline {
248248 env. GITLABIMAGE = ' registry.gitlab.com/linuxserver.io/' + env. LS_REPO + ' /lspipepr-' + env. CONTAINER_NAME
249249 env. QUAYIMAGE = ' quay.io/linuxserver.io/lspipepr-' + env. CONTAINER_NAME
250250 if (env. MULTIARCH == ' true' ) {
251- env. CI_TAGS = ' amd64-resolute-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' -pr-' + env. PULL_REQUEST + ' |riscv64-resolute- ' + env . EXT_RELEASE_CLEAN + ' -pkg- ' + env . PACKAGE_TAG + ' -dev- ' + env . COMMIT_SHA + ' -pr- ' + env . PULL_REQUEST + ' | arm64v8-resolute-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' -pr-' + env. PULL_REQUEST
251+ env. CI_TAGS = ' amd64-resolute-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' -pr-' + env. PULL_REQUEST + ' |arm64v8-resolute-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' -pr-' + env. PULL_REQUEST
252252 } else {
253253 env. CI_TAGS = ' resolute-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' -pr-' + env. PULL_REQUEST
254254 }
@@ -705,75 +705,6 @@ pipeline {
705705 '''
706706 }
707707 }
708- stage(' Build RISCV64' ) {
709- agent {
710- label ' RISCV64'
711- }
712- steps {
713- echo " Running on node: ${ NODE_NAME} "
714- sh " docker buildx build \
715- --label \" org.opencontainers.image.created=${ GITHUB_DATE} \" \
716- --label \" org.opencontainers.image.authors=linuxserver.io\" \
717- --label \" org.opencontainers.image.url=https://github.com/linuxserver/docker-baseimage-ubuntu/packages\" \
718- --label \" org.opencontainers.image.documentation=https://docs.linuxserver.io/images/docker-baseimage-ubuntu\" \
719- --label \" org.opencontainers.image.source=https://github.com/linuxserver/docker-baseimage-ubuntu\" \
720- --label \" org.opencontainers.image.version=${ EXT_RELEASE_CLEAN} -ls${ LS_TAG_NUMBER} \" \
721- --label \" org.opencontainers.image.revision=${ COMMIT_SHA} \" \
722- --label \" org.opencontainers.image.vendor=linuxserver.io\" \
723- --label \" org.opencontainers.image.licenses=GPL-3.0-only\" \
724- --label \" org.opencontainers.image.ref.name=${ COMMIT_SHA} \" \
725- --label \" org.opencontainers.image.title=Baseimage-ubuntu\" \
726- --label \" org.opencontainers.image.description=baseimage-ubuntu image by linuxserver.io\" \
727- --no-cache --pull -f Dockerfile.riscv64 -t ${ IMAGE} :riscv64-${ META_TAG} --platform=linux/riscv64 \
728- --provenance=true --sbom=true --builder=container --load \
729- --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
730- sh ''' #! /bin/bash
731- set -e
732- IFS=',' read -ra CACHE <<< "$BUILDCACHE"
733- for i in "${CACHE[@]}"; do
734- docker tag ${IMAGE}:riscv64-${META_TAG} ${i}:riscv64-${COMMIT_SHA}-${BUILD_NUMBER}
735- done
736- '''
737- withCredentials([
738- [
739- $class : ' UsernamePasswordMultiBinding' ,
740- credentialsId : ' Quay.io-Robot' ,
741- usernameVariable : ' QUAYUSER' ,
742- passwordVariable : ' QUAYPASS'
743- ]
744- ]) {
745- retry_backoff(5 ,5 ) {
746- sh ''' #! /bin/bash
747- set -e
748- echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin
749- echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
750- echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
751- echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
752-
753- if [[ "${PACKAGE_CHECK}" != "true" ]]; then
754- declare -A pids
755- IFS=',' read -ra CACHE <<< "$BUILDCACHE"
756- for i in "${CACHE[@]}"; do
757- docker push ${i}:riscv64-${COMMIT_SHA}-${BUILD_NUMBER} &
758- pids[$!]="$i"
759- done
760- for p in "${!pids[@]}"; do
761- wait "$p" || { [[ "${pids[$p]}" != *"quay.io"* ]] && exit 1; }
762- done
763- fi
764- '''
765- }
766- }
767- sh ''' #! /bin/bash
768- containers=$(docker ps -aq)
769- if [[ -n "${containers}" ]]; then
770- docker stop ${containers}
771- fi
772- docker system prune -f --volumes || :
773- docker image prune -af || :
774- '''
775- }
776- }
777708 }
778709 }
779710 // Take the image we just built and dump package versions for comparison
@@ -887,8 +818,6 @@ pipeline {
887818 if [ "${MULTIARCH}" == "true" ]; then
888819 docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} --platform=arm64
889820 docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
890- docker pull ghcr.io/linuxserver/lsiodev-buildcache:riscv64-${COMMIT_SHA}-${BUILD_NUMBER} --platform=riscv64
891- docker tag ghcr.io/linuxserver/lsiodev-buildcache:riscv64-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:riscv64-${META_TAG}
892821 fi
893822 docker run --rm \
894823 --shm-size=1gb \
@@ -970,26 +899,22 @@ pipeline {
970899 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
971900 docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${META_TAG} -t ${MANIFESTIMAGE}:arm64v8-resolute -t ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || \
972901 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
973- docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:riscv64-${META_TAG} -t ${MANIFESTIMAGE}:riscv64-resolute -t ${MANIFESTIMAGE}:riscv64-${EXT_RELEASE_TAG} ${CACHEIMAGE}:riscv64-${COMMIT_SHA}-${BUILD_NUMBER} || \
974- { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
975902 if [ -n "${SEMVER}" ]; then
976903 docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
977904 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
978905 docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${SEMVER} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || \
979906 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
980- docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:riscv64-${SEMVER} ${CACHEIMAGE}:riscv64-${COMMIT_SHA}-${BUILD_NUMBER} || \
981- { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
982907 fi
983908 done
984909 for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
985- docker buildx imagetools create -t ${MANIFESTIMAGE}:resolute ${MANIFESTIMAGE}:amd64-resolute ${MANIFESTIMAGE}:riscv64-resolute ${MANIFESTIMAGE}: arm64v8-resolute || \
910+ docker buildx imagetools create -t ${MANIFESTIMAGE}:resolute ${MANIFESTIMAGE}:amd64-resolute ${MANIFESTIMAGE}:arm64v8-resolute || \
986911 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
987- docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:riscv64-${META_TAG} ${MANIFESTIMAGE}: arm64v8-${META_TAG} || \
912+ docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} || \
988913 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
989- docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:riscv64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}: arm64v8-${EXT_RELEASE_TAG} || \
914+ docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} || \
990915 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
991916 if [ -n "${SEMVER}" ]; then
992- docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:riscv64-${SEMVER} ${MANIFESTIMAGE}: arm64v8-${SEMVER} || \
917+ docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} || \
993918 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
994919 fi
995920 done
0 commit comments