Skip to content
This repository was archived by the owner on Mar 11, 2024. It is now read-only.

Commit 667cac5

Browse files
Bot Updating Templated Files
1 parent e7386b3 commit 667cac5

File tree

1 file changed

+20
-63
lines changed

1 file changed

+20
-63
lines changed

Jenkinsfile

+20-63
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ pipeline {
155155
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
156156
env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME
157157
if (env.MULTIARCH == 'true') {
158-
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
158+
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
159159
} else {
160160
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
161161
}
@@ -178,7 +178,7 @@ pipeline {
178178
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
179179
env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME
180180
if (env.MULTIARCH == 'true') {
181-
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
181+
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
182182
} else {
183183
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
184184
}
@@ -201,7 +201,7 @@ pipeline {
201201
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
202202
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
203203
if (env.MULTIARCH == 'true') {
204-
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
204+
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
205205
} else {
206206
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
207207
}
@@ -272,7 +272,7 @@ pipeline {
272272
echo "Jenkinsfile is up to date."
273273
fi
274274
# Stage 2 - Delete old templates
275-
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml"
275+
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml Dockerfile.armhf"
276276
for i in ${OLD_TEMPLATES}; do
277277
if [[ -f "${i}" ]]; then
278278
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
@@ -308,12 +308,13 @@ pipeline {
308308
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
309309
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
310310
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
311+
cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || :
311312
cd ${TEMPDIR}/repo/${LS_REPO}/
312313
if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then
313314
echo ".jenkins-external" >> .gitignore
314315
git add .gitignore
315316
fi
316-
git add ${TEMPLATED_FILES}
317+
git add readme-vars.yml ${TEMPLATED_FILES}
317318
git commit -m 'Bot Updating Templated Files'
318319
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
319320
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
@@ -484,44 +485,6 @@ pipeline {
484485
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
485486
}
486487
}
487-
stage('Build ARMHF') {
488-
agent {
489-
label 'ARMHF'
490-
}
491-
steps {
492-
echo "Running on node: ${NODE_NAME}"
493-
echo 'Logging into Github'
494-
sh '''#! /bin/bash
495-
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
496-
'''
497-
sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile.armhf"
498-
sh "docker buildx build \
499-
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
500-
--label \"org.opencontainers.image.authors=linuxserver.io\" \
501-
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-readme-sync/packages\" \
502-
--label \"org.opencontainers.image.documentation=https://docs.linuxserver.io/images/docker-readme-sync\" \
503-
--label \"org.opencontainers.image.source=https://github.com/linuxserver/docker-readme-sync\" \
504-
--label \"org.opencontainers.image.version=${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}\" \
505-
--label \"org.opencontainers.image.revision=${COMMIT_SHA}\" \
506-
--label \"org.opencontainers.image.vendor=linuxserver.io\" \
507-
--label \"org.opencontainers.image.licenses=GPL-3.0-only\" \
508-
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
509-
--label \"org.opencontainers.image.title=Readme-sync\" \
510-
--label \"org.opencontainers.image.description=readme-sync image by linuxserver.io\" \
511-
--no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} --platform=linux/arm/v7 \
512-
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
513-
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
514-
retry(5) {
515-
sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
516-
}
517-
sh '''#! /bin/bash
518-
containers=$(docker ps -aq)
519-
if [[ -n "${containers}" ]]; then
520-
docker stop ${containers}
521-
fi
522-
docker system prune -af --volumes || : '''
523-
}
524-
}
525488
stage('Build ARM64') {
526489
agent {
527490
label 'ARM64'
@@ -662,9 +625,7 @@ pipeline {
662625
set -e
663626
docker pull ghcr.io/linuxserver/ci:latest
664627
if [ "${MULTIARCH}" == "true" ]; then
665-
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
666628
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
667-
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
668629
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
669630
fi
670631
docker run --rm \
@@ -767,58 +728,54 @@ pipeline {
767728
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
768729
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
769730
if [ "${CI}" == "false" ]; then
770-
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
771-
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
772731
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
773732
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
774733
fi
775734
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
776735
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
777736
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
778737
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
779-
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
780-
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
781-
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
782738
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
783739
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
784740
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
785741
if [ -n "${SEMVER}" ]; then
786742
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER}
787-
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${SEMVER}
788743
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
789744
fi
790745
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
791746
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
792747
docker push ${MANIFESTIMAGE}:amd64-latest
793-
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
794-
docker push ${MANIFESTIMAGE}:arm32v7-latest
795-
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
796748
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
797749
docker push ${MANIFESTIMAGE}:arm64v8-latest
798750
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
799751
if [ -n "${SEMVER}" ]; then
800752
docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
801-
docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER}
802753
docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER}
803754
fi
804755
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
805-
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
806-
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
756+
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest
807757
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
808758
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
809-
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
810-
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
759+
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
811760
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
812761
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || :
813-
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
814-
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
762+
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
815763
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
816764
if [ -n "${SEMVER}" ]; then
817765
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || :
818-
docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
819-
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm
766+
docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
820767
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
821768
fi
769+
token=$(curl -sX GET "https://ghcr.io/token?scope=repository%3Alinuxserver%2F${CONTAINER_NAME}%3Apull" | jq -r '.token')
770+
digest=$(curl -s \
771+
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
772+
--header "Authorization: Bearer ${token}" \
773+
"https://ghcr.io/v2/linuxserver/${CONTAINER_NAME}/manifests/arm32v7-latest")
774+
if [[ $(echo "$digest" | jq -r '.layers') != "null" ]]; then
775+
docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest || :
776+
docker manifest create ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:amd64-latest
777+
docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest
778+
fi
822779
docker manifest push --purge ${MANIFESTIMAGE}:latest
823780
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
824781
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}

0 commit comments

Comments
 (0)