Skip to content
This repository was archived by the owner on Jan 3, 2025. It is now read-only.

Commit 6cff8c6

Browse files
Bot Updating Templated Files
1 parent ef130db commit 6cff8c6

File tree

1 file changed

+62
-7
lines changed

1 file changed

+62
-7
lines changed

Jenkinsfile

Lines changed: 62 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ pipeline {
167167
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
168168
env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME
169169
if (env.MULTIARCH == 'true') {
170-
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
170+
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
171171
} else {
172172
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
173173
}
@@ -190,7 +190,7 @@ pipeline {
190190
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
191191
env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME
192192
if (env.MULTIARCH == 'true') {
193-
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
193+
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-' + 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
194194
} else {
195195
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
196196
}
@@ -213,7 +213,7 @@ pipeline {
213213
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
214214
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
215215
if (env.MULTIARCH == 'true') {
216-
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
216+
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
217217
} else {
218218
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
219219
}
@@ -499,6 +499,40 @@ pipeline {
499499
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
500500
}
501501
}
502+
stage('Build ARMHF') {
503+
agent {
504+
label 'ARMHF'
505+
}
506+
steps {
507+
echo "Running on node: ${NODE_NAME}"
508+
echo 'Logging into Github'
509+
sh '''#! /bin/bash
510+
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
511+
'''
512+
sh "docker build \
513+
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
514+
--label \"org.opencontainers.image.authors=linuxserver.io\" \
515+
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-booksonic-air/packages\" \
516+
--label \"org.opencontainers.image.documentation=https://docs.linuxserver.io/images/docker-booksonic-air\" \
517+
--label \"org.opencontainers.image.source=https://github.com/linuxserver/docker-booksonic-air\" \
518+
--label \"org.opencontainers.image.version=${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}\" \
519+
--label \"org.opencontainers.image.revision=${COMMIT_SHA}\" \
520+
--label \"org.opencontainers.image.vendor=linuxserver.io\" \
521+
--label \"org.opencontainers.image.licenses=GPL-3.0-only\" \
522+
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
523+
--label \"org.opencontainers.image.title=Booksonic-air\" \
524+
--label \"org.opencontainers.image.description=[Booksonic-air](http://booksonic.org) is a platform for accessing the audiobooks you own wherever you are. At the moment the platform consists of: * Booksonic Air - A server for streaming your audiobooks, successor to the original Booksonic server and based on Airsonic. * Booksonic App - An DSub based Android app for connection to Booksonic-Air servers.\" \
525+
--no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} \
526+
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
527+
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
528+
retry(5) {
529+
sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
530+
}
531+
sh '''docker rmi \
532+
${IMAGE}:arm32v7-${META_TAG} \
533+
ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
534+
}
535+
}
502536
stage('Build ARM64') {
503537
agent {
504538
label 'ARM64'
@@ -662,7 +696,9 @@ pipeline {
662696
set -e
663697
docker pull ghcr.io/linuxserver/ci:latest
664698
if [ "${MULTIARCH}" == "true" ]; then
699+
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
665700
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
701+
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
666702
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
667703
fi
668704
docker run --rm \
@@ -778,42 +814,56 @@ pipeline {
778814
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
779815
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
780816
if [ "${CI}" == "false" ]; then
817+
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
818+
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
781819
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
782820
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
783821
fi
784822
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
785823
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
786824
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
787825
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
826+
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
827+
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
828+
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
788829
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
789830
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
790831
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
791832
if [ -n "${SEMVER}" ]; then
792833
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER}
834+
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${SEMVER}
793835
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
794836
fi
795837
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
796838
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
797839
docker push ${MANIFESTIMAGE}:amd64-latest
840+
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
841+
docker push ${MANIFESTIMAGE}:arm32v7-latest
842+
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
798843
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
799844
docker push ${MANIFESTIMAGE}:arm64v8-latest
800845
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
801846
if [ -n "${SEMVER}" ]; then
802847
docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
848+
docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER}
803849
docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER}
804850
fi
805851
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
806-
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest
852+
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
853+
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
807854
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
808855
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
809-
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
856+
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
857+
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
810858
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
811859
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || :
812-
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
860+
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
861+
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
813862
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
814863
if [ -n "${SEMVER}" ]; then
815864
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || :
816-
docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
865+
docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
866+
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm
817867
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
818868
fi
819869
docker manifest push --purge ${MANIFESTIMAGE}:latest
@@ -831,16 +881,21 @@ pipeline {
831881
${DELETEIMAGE}:amd64-${META_TAG} \
832882
${DELETEIMAGE}:amd64-latest \
833883
${DELETEIMAGE}:amd64-${EXT_RELEASE_TAG} \
884+
${DELETEIMAGE}:arm32v7-${META_TAG} \
885+
${DELETEIMAGE}:arm32v7-latest \
886+
${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \
834887
${DELETEIMAGE}:arm64v8-${META_TAG} \
835888
${DELETEIMAGE}:arm64v8-latest \
836889
${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
837890
if [ -n "${SEMVER}" ]; then
838891
docker rmi \
839892
${DELETEIMAGE}:amd64-${SEMVER} \
893+
${DELETEIMAGE}:arm32v7-${SEMVER} \
840894
${DELETEIMAGE}:arm64v8-${SEMVER} || :
841895
fi
842896
done
843897
docker rmi \
898+
ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
844899
ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :
845900
'''
846901
}

0 commit comments

Comments
 (0)