Skip to content

Commit 6b403d0

Browse files
Bot Updating Templated Files
1 parent e5a7d2d commit 6b403d0

File tree

1 file changed

+20
-63
lines changed

1 file changed

+20
-63
lines changed

Jenkinsfile

Lines changed: 20 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ pipeline {
161161
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
162162
env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME
163163
if (env.MULTIARCH == 'true') {
164-
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
164+
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
165165
} else {
166166
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
167167
}
@@ -184,7 +184,7 @@ pipeline {
184184
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
185185
env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME
186186
if (env.MULTIARCH == 'true') {
187-
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
187+
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
188188
} else {
189189
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
190190
}
@@ -207,7 +207,7 @@ pipeline {
207207
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
208208
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
209209
if (env.MULTIARCH == 'true') {
210-
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
210+
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
211211
} else {
212212
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
213213
}
@@ -278,7 +278,7 @@ pipeline {
278278
echo "Jenkinsfile is up to date."
279279
fi
280280
# Stage 2 - Delete old templates
281-
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"
281+
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"
282282
for i in ${OLD_TEMPLATES}; do
283283
if [[ -f "${i}" ]]; then
284284
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
@@ -314,12 +314,13 @@ pipeline {
314314
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
315315
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
316316
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
317+
cp --parents readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/ || :
317318
cd ${TEMPDIR}/repo/${LS_REPO}/
318319
if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then
319320
echo ".jenkins-external" >> .gitignore
320321
git add .gitignore
321322
fi
322-
git add ${TEMPLATED_FILES}
323+
git add readme-vars.yml ${TEMPLATED_FILES}
323324
git commit -m 'Bot Updating Templated Files'
324325
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
325326
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
@@ -513,44 +514,6 @@ pipeline {
513514
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
514515
}
515516
}
516-
stage('Build ARMHF') {
517-
agent {
518-
label 'ARMHF'
519-
}
520-
steps {
521-
echo "Running on node: ${NODE_NAME}"
522-
echo 'Logging into Github'
523-
sh '''#! /bin/bash
524-
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
525-
'''
526-
sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile.armhf"
527-
sh "docker buildx build \
528-
--label \"org.opencontainers.image.created=${GITHUB_DATE}\" \
529-
--label \"org.opencontainers.image.authors=linuxserver.io\" \
530-
--label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-wps-office/packages\" \
531-
--label \"org.opencontainers.image.documentation=https://docs.linuxserver.io/images/docker-wps-office\" \
532-
--label \"org.opencontainers.image.source=https://github.com/linuxserver/docker-wps-office\" \
533-
--label \"org.opencontainers.image.version=${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}\" \
534-
--label \"org.opencontainers.image.revision=${COMMIT_SHA}\" \
535-
--label \"org.opencontainers.image.vendor=linuxserver.io\" \
536-
--label \"org.opencontainers.image.licenses=GPL-3.0-only\" \
537-
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
538-
--label \"org.opencontainers.image.title=Wps-office\" \
539-
--label \"org.opencontainers.image.description=[WPS Office](https://www.wps.com/) is a lightweight, feature-rich comprehensive office suite with high compatibility. As a handy and professional office software, WPS Office allows you to edit files in Writer, Presentation, Spreadsheet, and PDF to improve your work efficiency.\" \
540-
--no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} --platform=linux/arm/v7 \
541-
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
542-
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
543-
retry(5) {
544-
sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
545-
}
546-
sh '''#! /bin/bash
547-
containers=$(docker ps -aq)
548-
if [[ -n "${containers}" ]]; then
549-
docker stop ${containers}
550-
fi
551-
docker system prune -af --volumes || : '''
552-
}
553-
}
554517
stage('Build ARM64') {
555518
agent {
556519
label 'ARM64'
@@ -691,9 +654,7 @@ pipeline {
691654
set -e
692655
docker pull ghcr.io/linuxserver/ci:latest
693656
if [ "${MULTIARCH}" == "true" ]; then
694-
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
695657
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
696-
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
697658
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
698659
fi
699660
docker run --rm \
@@ -796,58 +757,54 @@ pipeline {
796757
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
797758
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
798759
if [ "${CI}" == "false" ]; then
799-
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}
800-
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
801760
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
802761
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
803762
fi
804763
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
805764
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
806765
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
807766
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
808-
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
809-
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
810-
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
811767
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
812768
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
813769
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
814770
if [ -n "${SEMVER}" ]; then
815771
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER}
816-
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${SEMVER}
817772
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
818773
fi
819774
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
820775
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
821776
docker push ${MANIFESTIMAGE}:amd64-latest
822-
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
823-
docker push ${MANIFESTIMAGE}:arm32v7-latest
824-
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
825777
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
826778
docker push ${MANIFESTIMAGE}:arm64v8-latest
827779
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
828780
if [ -n "${SEMVER}" ]; then
829781
docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
830-
docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER}
831782
docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER}
832783
fi
833784
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
834-
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
835-
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
785+
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest
836786
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
837787
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
838-
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
839-
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
788+
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
840789
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
841790
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || :
842-
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
843-
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
791+
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
844792
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
845793
if [ -n "${SEMVER}" ]; then
846794
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || :
847-
docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
848-
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm
795+
docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
849796
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
850797
fi
798+
token=$(curl -sX GET "https://ghcr.io/token?scope=repository%3Alinuxserver%2F${CONTAINER_NAME}%3Apull" | jq -r '.token')
799+
digest=$(curl -s \
800+
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
801+
--header "Authorization: Bearer ${token}" \
802+
"https://ghcr.io/v2/linuxserver/${CONTAINER_NAME}/manifests/arm32v7-latest")
803+
if [[ $(echo "$digest" | jq -r '.layers') != "null" ]]; then
804+
docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest || :
805+
docker manifest create ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:amd64-latest
806+
docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest
807+
fi
851808
docker manifest push --purge ${MANIFESTIMAGE}:latest
852809
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
853810
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}

0 commit comments

Comments
 (0)