@@ -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-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER + ' |riscv64- ' + env . EXT_RELEASE_CLEAN + ' -ls ' + env . LS_TAG_NUMBER + ' | arm64v8-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
215+ env. CI_TAGS = ' amd64-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER + ' |arm64v8-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
216216 } else {
217217 env. CI_TAGS = 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-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' |riscv64- ' + 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
240+ 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
241241 } else {
242242 env. CI_TAGS = 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-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' -pr-' + env. PULL_REQUEST + ' |riscv64- ' + 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
265+ 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
266266 } else {
267267 env. CI_TAGS = 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-vscodium-web/packages\" \
799- --label \" org.opencontainers.image.documentation=https://docs.linuxserver.io/images/docker-vscodium-web\" \
800- --label \" org.opencontainers.image.source=https://github.com/linuxserver/docker-vscodium-web\" \
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=Vscodium-web\" \
807- --label \" org.opencontainers.image.description=[Vscodium-web](https://vscodium.com/) is a community-driven, freely-licensed binary distribution of the remote host web component of Microsoft's editor VS Code.\" \
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-latest -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-latest -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}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:riscv64-latest ${MANIFESTIMAGE}: arm64v8-latest || \
1001+ docker buildx imagetools create -t ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest || \
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