@@ -55,7 +55,7 @@ pipeline {
5555 env. CODE_URL = ' https://github.com/' + env. LS_USER + ' /' + env. LS_REPO + ' /commit/' + env. GIT_COMMIT
5656 env. DOCKERHUB_LINK = ' https://hub.docker.com/r/' + env. DOCKERHUB_IMAGE + ' /tags/'
5757 env. PULL_REQUEST = env. CHANGE_ID
58- env. TEMPLATED_FILES = ' Jenkinsfile README.md LICENSE ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE. md ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/greetings.yml ./.github/workflows/stale.yml'
58+ env. TEMPLATED_FILES = ' Jenkinsfile README.md LICENSE ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug. md ./.github/ISSUE_TEMPLATE/issue.feature.md ./.github/ PULL_REQUEST_TEMPLATE.md ./.github/workflows/greetings.yml ./.github/workflows/stale.yml ./.github/workflows/package_trigger.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/external_trigger.yml ./.github/workflows/external_trigger_scheduler .yml'
5959 }
6060 script{
6161 env. LS_RELEASE_NUMBER = sh(
@@ -129,12 +129,13 @@ pipeline {
129129 env. GITHUBIMAGE = ' ghcr.io/' + env. LS_USER + ' /' + env. CONTAINER_NAME
130130 env. GITLABIMAGE = ' registry.gitlab.com/linuxserver.io/' + env. LS_REPO + ' /' + env. CONTAINER_NAME
131131 if (env. MULTIARCH == ' true' ) {
132- 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
132+ env. CI_TAGS = ' amd64-3.12- ' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER + ' |arm32v7-3.12- ' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER + ' |arm64v8-3.12 -' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
133133 } else {
134- env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
134+ env. CI_TAGS = ' 3.12- ' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
135135 }
136- env. META_TAG = env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
137- env. EXT_RELEASE_TAG = ' version-' + env. EXT_RELEASE_CLEAN
136+ env. VERSION_TAG = env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
137+ env. META_TAG = ' 3.12-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
138+ env. EXT_RELEASE_TAG = ' 3.12-version-' + env. EXT_RELEASE_CLEAN
138139 }
139140 }
140141 }
@@ -150,12 +151,13 @@ pipeline {
150151 env. GITHUBIMAGE = ' ghcr.io/' + env. LS_USER + ' /lsiodev-' + env. CONTAINER_NAME
151152 env. GITLABIMAGE = ' registry.gitlab.com/linuxserver.io/' + env. LS_REPO + ' /lsiodev-' + env. CONTAINER_NAME
152153 if (env. MULTIARCH == ' true' ) {
153- 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
154+ env. CI_TAGS = ' amd64-3.12- ' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' |arm32v7-3.12- ' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' |arm64v8-3.12 -' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
154155 } else {
155- env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
156+ env. CI_TAGS = ' 3.12- ' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
156157 }
157- env. META_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
158- env. EXT_RELEASE_TAG = ' version-' + env. EXT_RELEASE_CLEAN
158+ env. VERSION_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
159+ env. META_TAG = ' 3.12-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
160+ env. EXT_RELEASE_TAG = ' 3.12-version-' + env. EXT_RELEASE_CLEAN
159161 env. DOCKERHUB_LINK = ' https://hub.docker.com/r/' + env. DEV_DOCKERHUB_IMAGE + ' /tags/'
160162 }
161163 }
@@ -171,12 +173,13 @@ pipeline {
171173 env. GITHUBIMAGE = ' ghcr.io/' + env. LS_USER + ' /lspipepr-' + env. CONTAINER_NAME
172174 env. GITLABIMAGE = ' registry.gitlab.com/linuxserver.io/' + env. LS_REPO + ' /lspipepr-' + env. CONTAINER_NAME
173175 if (env. MULTIARCH == ' true' ) {
174- 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
176+ env. CI_TAGS = ' amd64-3.12- ' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST + ' |arm32v7-3.12- ' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST + ' |arm64v8-3.12 -' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
175177 } else {
176- env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
178+ env. CI_TAGS = ' 3.12- ' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
177179 }
178- env. META_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
179- env. EXT_RELEASE_TAG = ' version-' + env. EXT_RELEASE_CLEAN
180+ env. VERSION_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
181+ env. META_TAG = ' 3.12-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
182+ env. EXT_RELEASE_TAG = ' 3.12-version-' + env. EXT_RELEASE_CLEAN
180183 env. CODE_URL = ' https://github.com/' + env. LS_USER + ' /' + env. LS_REPO + ' /pull/' + env. PULL_REQUEST
181184 env. DOCKERHUB_LINK = ' https://hub.docker.com/r/' + env. PR_DOCKERHUB_IMAGE + ' /tags/'
182185 }
@@ -236,9 +239,12 @@ pipeline {
236239 git checkout -f master
237240 cd ${TEMPDIR}/docker-${CONTAINER_NAME}
238241 mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
239- cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/
242+ mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
243+ rm -f ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE.md
244+ cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
240245 cd ${TEMPDIR}/repo/${LS_REPO}/
241246 git add ${TEMPLATED_FILES}
247+ git rm .github/ISSUE_TEMPLATE.md || :
242248 git commit -m 'Bot Updating Templated Files'
243249 git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
244250 echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
@@ -308,8 +314,9 @@ pipeline {
308314 environment name : ' EXIT_STATUS' , value : ' '
309315 }
310316 steps {
317+ echo " Running on node: ${ NODE_NAME} "
311318 sh " docker build --no-cache --pull -t ${ IMAGE} :${ META_TAG} \
312- --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
319+ --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
313320 }
314321 }
315322 // Build MultiArch Docker containers for push to LS Repo
@@ -321,21 +328,23 @@ pipeline {
321328 parallel {
322329 stage(' Build X86' ) {
323330 steps {
331+ echo " Running on node: ${ NODE_NAME} "
324332 sh " docker build --no-cache --pull -t ${ IMAGE} :amd64-${ META_TAG} \
325- --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
333+ --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
326334 }
327335 }
328336 stage(' Build ARMHF' ) {
329337 agent {
330338 label ' ARMHF'
331339 }
332340 steps {
341+ echo " Running on node: ${ NODE_NAME} "
333342 echo ' Logging into Github'
334343 sh ''' #! /bin/bash
335344 echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
336345 '''
337346 sh " docker build --no-cache --pull -f Dockerfile.armhf -t ${ IMAGE} :arm32v7-${ META_TAG} \
338- --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
347+ --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
339348 sh " docker tag ${ IMAGE} :arm32v7-${ META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
340349 retry(5 ) {
341350 sh " docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
@@ -350,12 +359,13 @@ pipeline {
350359 label ' ARM64'
351360 }
352361 steps {
362+ echo " Running on node: ${ NODE_NAME} "
353363 echo ' Logging into Github'
354364 sh ''' #! /bin/bash
355365 echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
356366 '''
357367 sh " docker build --no-cache --pull -f Dockerfile.aarch64 -t ${ IMAGE} :arm64v8-${ META_TAG} \
358- --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
368+ --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
359369 sh " docker tag ${ IMAGE} :arm64v8-${ META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
360370 retry(5 ) {
361371 sh " docker push ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
@@ -534,7 +544,7 @@ pipeline {
534544 '''
535545 }
536546 sh ''' #! /bin/bash
537- for DELETEIMAGE in "${GITHUBIMAGE}" "{GITLABIMAGE}" "${IMAGE}"; do
547+ for DELETEIMAGE in "${GITHUBIMAGE}" "$ {GITLABIMAGE}" "${IMAGE}"; do
538548 docker rmi \
539549 ${DELETEIMAGE}:${META_TAG} \
540550 ${DELETEIMAGE}:${EXT_RELEASE_TAG} \
@@ -598,6 +608,7 @@ pipeline {
598608 docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
599609 docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
600610 docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
611+ docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || :
601612 docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
602613 docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
603614 docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
@@ -607,6 +618,20 @@ pipeline {
607618 done
608619 '''
609620 }
621+ sh ''' #! /bin/bash
622+ for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
623+ docker rmi \
624+ ${DELETEIMAGE}:arm32v7-${META_TAG} \
625+ ${DELETEIMAGE}:arm32v7-3.12 \
626+ ${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \
627+ ${DELETEIMAGE}:arm64v8-${META_TAG} \
628+ ${DELETEIMAGE}:arm64v8-3.12 \
629+ ${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
630+ done
631+ docker rmi \
632+ ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
633+ ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :
634+ '''
610635 }
611636 }
612637 }
@@ -668,7 +693,7 @@ pipeline {
668693 -e DOCKER_REPOSITORY=${IMAGE} \
669694 -e GIT_BRANCH=master \
670695 -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \
671- ghcr.io/linuxserver/lsiodev-readme-sync bash -c 'node sync'
696+ ghcr.io/linuxserver/lsiodev-readme-sync bash -c 'node sync'
672697 rm -Rf ${TEMPDIR} '''
673698 }
674699 }
0 commit comments