@@ -25,8 +25,8 @@ pipeline {
25
25
DEV_DOCKERHUB_IMAGE = ' lsiodev/mariadb'
26
26
PR_DOCKERHUB_IMAGE = ' lspipepr/mariadb'
27
27
DIST_IMAGE = ' alpine'
28
- DIST_TAG = ' 3.17 '
29
- DIST_REPO = ' http://dl-cdn.alpinelinux.org/alpine/v3.17 /main/'
28
+ DIST_TAG = ' 3.18 '
29
+ DIST_REPO = ' http://dl-cdn.alpinelinux.org/alpine/v3.18 /main/'
30
30
DIST_REPO_PACKAGES = ' mariadb'
31
31
MULTIARCH = ' true'
32
32
CI = ' true'
@@ -167,7 +167,7 @@ pipeline {
167
167
env. GITLABIMAGE = ' registry.gitlab.com/linuxserver.io/' + env. LS_REPO + ' /' + env. CONTAINER_NAME
168
168
env. QUAYIMAGE = ' quay.io/linuxserver.io/' + env. CONTAINER_NAME
169
169
if (env. MULTIARCH == ' true' ) {
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
170
+ env. CI_TAGS = ' amd64-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER + ' |arm64v8-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
171
171
} else {
172
172
env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
173
173
}
@@ -190,7 +190,7 @@ pipeline {
190
190
env. GITLABIMAGE = ' registry.gitlab.com/linuxserver.io/' + env. LS_REPO + ' /lsiodev-' + env. CONTAINER_NAME
191
191
env. QUAYIMAGE = ' quay.io/linuxserver.io/lsiodev-' + env. CONTAINER_NAME
192
192
if (env. MULTIARCH == ' true' ) {
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
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
194
194
} else {
195
195
env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
196
196
}
@@ -213,7 +213,7 @@ pipeline {
213
213
env. GITLABIMAGE = ' registry.gitlab.com/linuxserver.io/' + env. LS_REPO + ' /lspipepr-' + env. CONTAINER_NAME
214
214
env. QUAYIMAGE = ' quay.io/linuxserver.io/lspipepr-' + env. CONTAINER_NAME
215
215
if (env. MULTIARCH == ' true' ) {
216
- env. CI_TAGS = ' amd64-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' -pr-' + env. PULL_REQUEST + ' |arm32v7- ' + 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
216
+ 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
217
217
} else {
218
218
env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' -pr-' + env. PULL_REQUEST
219
219
}
@@ -519,44 +519,6 @@ pipeline {
519
519
--build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
520
520
}
521
521
}
522
- stage(' Build ARMHF' ) {
523
- agent {
524
- label ' ARMHF'
525
- }
526
- steps {
527
- echo " Running on node: ${ NODE_NAME} "
528
- echo ' Logging into Github'
529
- sh ''' #! /bin/bash
530
- echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
531
- '''
532
- sh " sed -r -i 's|(^FROM .*)|\\ 1\\ n\\ nENV LSIO_FIRST_PARTY=true|g' Dockerfile.armhf"
533
- sh " docker buildx build \
534
- --label \" org.opencontainers.image.created=${ GITHUB_DATE} \" \
535
- --label \" org.opencontainers.image.authors=linuxserver.io\" \
536
- --label \" org.opencontainers.image.url=https://github.com/linuxserver/docker-mariadb/packages\" \
537
- --label \" org.opencontainers.image.documentation=https://docs.linuxserver.io/images/docker-mariadb\" \
538
- --label \" org.opencontainers.image.source=https://github.com/linuxserver/docker-mariadb\" \
539
- --label \" org.opencontainers.image.version=${ EXT_RELEASE_CLEAN} -ls${ LS_TAG_NUMBER} \" \
540
- --label \" org.opencontainers.image.revision=${ COMMIT_SHA} \" \
541
- --label \" org.opencontainers.image.vendor=linuxserver.io\" \
542
- --label \" org.opencontainers.image.licenses=GPL-3.0-only\" \
543
- --label \" org.opencontainers.image.ref.name=${ COMMIT_SHA} \" \
544
- --label \" org.opencontainers.image.title=Mariadb\" \
545
- --label \" org.opencontainers.image.description=[Mariadb](https://mariadb.org/) is one of the most popular database servers. Made by the original developers of MySQL.\" \
546
- --no-cache --pull -f Dockerfile.armhf -t ${ IMAGE} :arm32v7-${ META_TAG} --platform=linux/arm/v7 \
547
- --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG} \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
548
- sh " docker tag ${ IMAGE} :arm32v7-${ META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
549
- retry(5 ) {
550
- sh " docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
551
- }
552
- sh ''' #! /bin/bash
553
- containers=$(docker ps -aq)
554
- if [[ -n "${containers}" ]]; then
555
- docker stop ${containers}
556
- fi
557
- docker system prune -af --volumes || : '''
558
- }
559
- }
560
522
stage(' Build ARM64' ) {
561
523
agent {
562
524
label ' ARM64'
@@ -697,9 +659,7 @@ pipeline {
697
659
set -e
698
660
docker pull ghcr.io/linuxserver/ci:latest
699
661
if [ "${MULTIARCH}" == "true" ]; then
700
- docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
701
662
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
702
- docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
703
663
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
704
664
fi
705
665
docker run --rm \
@@ -802,58 +762,54 @@ pipeline {
802
762
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
803
763
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
804
764
if [ "${CI}" == "false" ]; then
805
- docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
806
- docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
807
765
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
808
766
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
809
767
fi
810
768
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
811
769
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
812
770
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
813
771
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
814
- docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
815
- docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
816
- docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
817
772
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
818
773
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
819
774
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
820
775
if [ -n "${SEMVER}" ]; then
821
776
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER}
822
- docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${SEMVER}
823
777
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
824
778
fi
825
779
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
826
780
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
827
781
docker push ${MANIFESTIMAGE}:amd64-latest
828
- docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
829
- docker push ${MANIFESTIMAGE}:arm32v7-latest
830
- docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
831
782
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
832
783
docker push ${MANIFESTIMAGE}:arm64v8-latest
833
784
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
834
785
if [ -n "${SEMVER}" ]; then
835
786
docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
836
- docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER}
837
787
docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER}
838
788
fi
839
789
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
840
- docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
841
- docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
790
+ docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest
842
791
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
843
792
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
844
- docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
845
- docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
793
+ docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
846
794
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
847
795
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || :
848
- docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
849
- docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
796
+ docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
850
797
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
851
798
if [ -n "${SEMVER}" ]; then
852
799
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || :
853
- docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
854
- docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm
800
+ docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
855
801
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
856
802
fi
803
+ token=$(curl -sX GET "https://ghcr.io/token?scope=repository%3Alinuxserver%2F${CONTAINER_NAME}%3Apull" | jq -r '.token')
804
+ digest=$(curl -s \
805
+ --header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
806
+ --header "Authorization: Bearer ${token}" \
807
+ "https://ghcr.io/v2/linuxserver/${CONTAINER_NAME}/manifests/arm32v7-latest")
808
+ if [[ $(echo "$digest" | jq -r '.layers') != "null" ]]; then
809
+ docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest || :
810
+ docker manifest create ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:amd64-latest
811
+ docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest
812
+ fi
857
813
docker manifest push --purge ${MANIFESTIMAGE}:latest
858
814
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
859
815
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
0 commit comments