@@ -205,7 +205,7 @@ pipeline {
205205 env. GITLABIMAGE = ' registry.gitlab.com/linuxserver.io/' + env. LS_REPO + ' /' + env. CONTAINER_NAME
206206 env. QUAYIMAGE = ' quay.io/linuxserver.io/' + env. CONTAINER_NAME
207207 if (env. MULTIARCH == ' true' ) {
208- 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
208+ env. CI_TAGS = ' amd64-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER + ' |arm64v8-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
209209 } else {
210210 env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
211211 }
@@ -230,7 +230,7 @@ pipeline {
230230 env. GITLABIMAGE = ' registry.gitlab.com/linuxserver.io/' + env. LS_REPO + ' /lsiodev-' + env. CONTAINER_NAME
231231 env. QUAYIMAGE = ' quay.io/linuxserver.io/lsiodev-' + env. CONTAINER_NAME
232232 if (env. MULTIARCH == ' true' ) {
233- 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
233+ 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
234234 } else {
235235 env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
236236 }
@@ -255,7 +255,7 @@ pipeline {
255255 env. GITLABIMAGE = ' registry.gitlab.com/linuxserver.io/' + env. LS_REPO + ' /lspipepr-' + env. CONTAINER_NAME
256256 env. QUAYIMAGE = ' quay.io/linuxserver.io/lspipepr-' + env. CONTAINER_NAME
257257 if (env. MULTIARCH == ' true' ) {
258- 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
258+ 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
259259 } else {
260260 env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' -pr-' + env. PULL_REQUEST
261261 }
@@ -715,76 +715,6 @@ pipeline {
715715 '''
716716 }
717717 }
718- stage(' Build RISCV64' ) {
719- agent {
720- label ' RISCV64'
721- }
722- steps {
723- echo " Running on node: ${ NODE_NAME} "
724- sh " sed -r -i 's|(^FROM .*)|\\ 1\\ n\\ nENV LSIO_FIRST_PARTY=true|g' Dockerfile.riscv64"
725- sh " docker buildx build \
726- --label \" org.opencontainers.image.created=${ GITHUB_DATE} \" \
727- --label \" org.opencontainers.image.authors=linuxserver.io\" \
728- --label \" org.opencontainers.image.url=https://github.com/linuxserver/docker-socket-proxy/packages\" \
729- --label \" org.opencontainers.image.documentation=https://docs.linuxserver.io/images/docker-socket-proxy\" \
730- --label \" org.opencontainers.image.source=https://github.com/linuxserver/docker-socket-proxy\" \
731- --label \" org.opencontainers.image.version=${ EXT_RELEASE_CLEAN} -ls${ LS_TAG_NUMBER} \" \
732- --label \" org.opencontainers.image.revision=${ COMMIT_SHA} \" \
733- --label \" org.opencontainers.image.vendor=linuxserver.io\" \
734- --label \" org.opencontainers.image.licenses=GPL-3.0-only\" \
735- --label \" org.opencontainers.image.ref.name=${ COMMIT_SHA} \" \
736- --label \" org.opencontainers.image.title=Socket-proxy\" \
737- --label \" org.opencontainers.image.description=The Socket Proxy is a security-enhanced proxy which allows you to apply access rules to the Docker socket, limiting the attack surface for containers such as watchtower or Traefik that need to use it.\" \
738- --no-cache --pull -f Dockerfile.riscv64 -t ${ IMAGE} :riscv64-${ META_TAG} --platform=linux/riscv64 \
739- --provenance=true --sbom=true --builder=container --load \
740- --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
741- sh ''' #! /bin/bash
742- set -e
743- IFS=',' read -ra CACHE <<< "$BUILDCACHE"
744- for i in "${CACHE[@]}"; do
745- docker tag ${IMAGE}:riscv64-${META_TAG} ${i}:riscv64-${COMMIT_SHA}-${BUILD_NUMBER}
746- done
747- '''
748- withCredentials([
749- [
750- $class : ' UsernamePasswordMultiBinding' ,
751- credentialsId : ' Quay.io-Robot' ,
752- usernameVariable : ' QUAYUSER' ,
753- passwordVariable : ' QUAYPASS'
754- ]
755- ]) {
756- retry_backoff(5 ,5 ) {
757- sh ''' #! /bin/bash
758- set -e
759- echo $DOCKERHUB_TOKEN | docker login -u linuxserverci --password-stdin
760- echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
761- echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
762- echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
763-
764- if [[ "${PACKAGE_CHECK}" != "true" ]]; then
765- declare -A pids
766- IFS=',' read -ra CACHE <<< "$BUILDCACHE"
767- for i in "${CACHE[@]}"; do
768- docker push ${i}:riscv64-${COMMIT_SHA}-${BUILD_NUMBER} &
769- pids[$!]="$i"
770- done
771- for p in "${!pids[@]}"; do
772- wait "$p" || { [[ "${pids[$p]}" != *"quay.io"* ]] && exit 1; }
773- done
774- fi
775- '''
776- }
777- }
778- sh ''' #! /bin/bash
779- containers=$(docker ps -aq)
780- if [[ -n "${containers}" ]]; then
781- docker stop ${containers}
782- fi
783- docker system prune -f --volumes || :
784- docker image prune -af || :
785- '''
786- }
787- }
788718 }
789719 }
790720 // Take the image we just built and dump package versions for comparison
@@ -899,8 +829,6 @@ pipeline {
899829 if [ "${MULTIARCH}" == "true" ]; then
900830 docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} --platform=arm64
901831 docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
902- docker pull ghcr.io/linuxserver/lsiodev-buildcache:riscv64-${COMMIT_SHA}-${BUILD_NUMBER} --platform=riscv64
903- docker tag ghcr.io/linuxserver/lsiodev-buildcache:riscv64-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:riscv64-${META_TAG}
904832 fi
905833 docker run --rm \
906834 --shm-size=1gb \
@@ -992,26 +920,22 @@ pipeline {
992920 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
993921 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} || \
994922 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
995- 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} || \
996- { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
997923 if [ -n "${SEMVER}" ]; then
998924 docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
999925 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
1000926 docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${SEMVER} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || \
1001927 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
1002- docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:riscv64-${SEMVER} ${CACHEIMAGE}:riscv64-${COMMIT_SHA}-${BUILD_NUMBER} || \
1003- { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
1004928 fi
1005929 done
1006930 for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
1007- docker buildx imagetools create -t ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:riscv64-latest ${MANIFESTIMAGE}: arm64v8-latest || \
931+ docker buildx imagetools create -t ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest || \
1008932 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
1009- docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:riscv64-${META_TAG} ${MANIFESTIMAGE}: arm64v8-${META_TAG} || \
933+ docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} || \
1010934 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
1011- docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:riscv64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}: arm64v8-${EXT_RELEASE_TAG} || \
935+ docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} || \
1012936 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
1013937 if [ -n "${SEMVER}" ]; then
1014- docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:riscv64-${SEMVER} ${MANIFESTIMAGE}: arm64v8-${SEMVER} || \
938+ docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} || \
1015939 { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
1016940 fi
1017941 done
0 commit comments