@@ -58,7 +58,7 @@ pipeline {
5858 env. CODE_URL = ' https://github.com/' + env. LS_USER + ' /' + env. LS_REPO + ' /commit/' + env. GIT_COMMIT
5959 env. DOCKERHUB_LINK = ' https://hub.docker.com/r/' + env. DOCKERHUB_IMAGE + ' /tags/'
6060 env. PULL_REQUEST = env. CHANGE_ID
61- 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'
61+ 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'
6262 }
6363 script{
6464 env. LS_RELEASE_NUMBER = sh(
@@ -141,12 +141,13 @@ pipeline {
141141 env. GITHUBIMAGE = ' ghcr.io/' + env. LS_USER + ' /' + env. CONTAINER_NAME
142142 env. GITLABIMAGE = ' registry.gitlab.com/linuxserver.io/' + env. LS_REPO + ' /' + env. CONTAINER_NAME
143143 if (env. MULTIARCH == ' true' ) {
144- 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
144+ env. CI_TAGS = ' amd64-bionic- ' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER + ' |arm32v7-bionic- ' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER + ' |arm64v8-bionic -' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
145145 } else {
146- env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
146+ env. CI_TAGS = ' bionic- ' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
147147 }
148- env. META_TAG = env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
149- env. EXT_RELEASE_TAG = ' version-' + env. EXT_RELEASE_CLEAN
148+ env. VERSION_TAG = env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
149+ env. META_TAG = ' bionic-' + env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
150+ env. EXT_RELEASE_TAG = ' bionic-version-' + env. EXT_RELEASE_CLEAN
150151 }
151152 }
152153 }
@@ -162,12 +163,13 @@ pipeline {
162163 env. GITHUBIMAGE = ' ghcr.io/' + env. LS_USER + ' /lsiodev-' + env. CONTAINER_NAME
163164 env. GITLABIMAGE = ' registry.gitlab.com/linuxserver.io/' + env. LS_REPO + ' /lsiodev-' + env. CONTAINER_NAME
164165 if (env. MULTIARCH == ' true' ) {
165- 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
166+ env. CI_TAGS = ' amd64-bionic- ' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' |arm32v7-bionic- ' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA + ' |arm64v8-bionic -' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
166167 } else {
167- env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
168+ env. CI_TAGS = ' bionic- ' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
168169 }
169- env. META_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
170- env. EXT_RELEASE_TAG = ' version-' + env. EXT_RELEASE_CLEAN
170+ env. VERSION_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
171+ env. META_TAG = ' bionic-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
172+ env. EXT_RELEASE_TAG = ' bionic-version-' + env. EXT_RELEASE_CLEAN
171173 env. DOCKERHUB_LINK = ' https://hub.docker.com/r/' + env. DEV_DOCKERHUB_IMAGE + ' /tags/'
172174 }
173175 }
@@ -183,12 +185,13 @@ pipeline {
183185 env. GITHUBIMAGE = ' ghcr.io/' + env. LS_USER + ' /lspipepr-' + env. CONTAINER_NAME
184186 env. GITLABIMAGE = ' registry.gitlab.com/linuxserver.io/' + env. LS_REPO + ' /lspipepr-' + env. CONTAINER_NAME
185187 if (env. MULTIARCH == ' true' ) {
186- 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
188+ env. CI_TAGS = ' amd64-bionic- ' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST + ' |arm32v7-bionic- ' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST + ' |arm64v8-bionic -' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
187189 } else {
188- env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
190+ env. CI_TAGS = ' bionic- ' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
189191 }
190- env. META_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
191- env. EXT_RELEASE_TAG = ' version-' + env. EXT_RELEASE_CLEAN
192+ env. VERSION_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
193+ env. META_TAG = ' bionic-' + env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
194+ env. EXT_RELEASE_TAG = ' bionic-version-' + env. EXT_RELEASE_CLEAN
192195 env. CODE_URL = ' https://github.com/' + env. LS_USER + ' /' + env. LS_REPO + ' /pull/' + env. PULL_REQUEST
193196 env. DOCKERHUB_LINK = ' https://hub.docker.com/r/' + env. PR_DOCKERHUB_IMAGE + ' /tags/'
194197 }
@@ -248,9 +251,12 @@ pipeline {
248251 git checkout -f master
249252 cd ${TEMPDIR}/docker-${CONTAINER_NAME}
250253 mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
251- cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/
254+ mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
255+ rm -f ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE.md
256+ cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
252257 cd ${TEMPDIR}/repo/${LS_REPO}/
253258 git add ${TEMPLATED_FILES}
259+ git rm .github/ISSUE_TEMPLATE.md || :
254260 git commit -m 'Bot Updating Templated Files'
255261 git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
256262 echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
@@ -320,8 +326,9 @@ pipeline {
320326 environment name : ' EXIT_STATUS' , value : ' '
321327 }
322328 steps {
329+ echo " Running on node: ${ NODE_NAME} "
323330 sh " docker build --no-cache --pull -t ${ IMAGE} :${ META_TAG} \
324- --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
331+ --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
325332 }
326333 }
327334 // Build MultiArch Docker containers for push to LS Repo
@@ -333,21 +340,23 @@ pipeline {
333340 parallel {
334341 stage(' Build X86' ) {
335342 steps {
343+ echo " Running on node: ${ NODE_NAME} "
336344 sh " docker build --no-cache --pull -t ${ IMAGE} :amd64-${ META_TAG} \
337- --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
345+ --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
338346 }
339347 }
340348 stage(' Build ARMHF' ) {
341349 agent {
342350 label ' ARMHF'
343351 }
344352 steps {
353+ echo " Running on node: ${ NODE_NAME} "
345354 echo ' Logging into Github'
346355 sh ''' #! /bin/bash
347356 echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
348357 '''
349358 sh " docker build --no-cache --pull -f Dockerfile.armhf -t ${ IMAGE} :arm32v7-${ META_TAG} \
350- --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
359+ --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
351360 sh " docker tag ${ IMAGE} :arm32v7-${ META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
352361 retry(5 ) {
353362 sh " docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
@@ -362,12 +371,13 @@ pipeline {
362371 label ' ARM64'
363372 }
364373 steps {
374+ echo " Running on node: ${ NODE_NAME} "
365375 echo ' Logging into Github'
366376 sh ''' #! /bin/bash
367377 echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
368378 '''
369379 sh " docker build --no-cache --pull -f Dockerfile.aarch64 -t ${ IMAGE} :arm64v8-${ META_TAG} \
370- --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
380+ --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
371381 sh " docker tag ${ IMAGE} :arm64v8-${ META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
372382 retry(5 ) {
373383 sh " docker push ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
@@ -546,7 +556,7 @@ pipeline {
546556 '''
547557 }
548558 sh ''' #! /bin/bash
549- for DELETEIMAGE in "${GITHUBIMAGE}" "{GITLABIMAGE}" "${IMAGE}"; do
559+ for DELETEIMAGE in "${GITHUBIMAGE}" "$ {GITLABIMAGE}" "${IMAGE}"; do
550560 docker rmi \
551561 ${DELETEIMAGE}:${META_TAG} \
552562 ${DELETEIMAGE}:${EXT_RELEASE_TAG} \
@@ -610,6 +620,7 @@ pipeline {
610620 docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
611621 docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
612622 docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
623+ docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || :
613624 docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
614625 docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
615626 docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
@@ -619,6 +630,20 @@ pipeline {
619630 done
620631 '''
621632 }
633+ sh ''' #! /bin/bash
634+ for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
635+ docker rmi \
636+ ${DELETEIMAGE}:arm32v7-${META_TAG} \
637+ ${DELETEIMAGE}:arm32v7-bionic \
638+ ${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \
639+ ${DELETEIMAGE}:arm64v8-${META_TAG} \
640+ ${DELETEIMAGE}:arm64v8-bionic \
641+ ${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
642+ done
643+ docker rmi \
644+ ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
645+ ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :
646+ '''
622647 }
623648 }
624649 }
@@ -680,7 +705,7 @@ pipeline {
680705 -e DOCKER_REPOSITORY=${IMAGE} \
681706 -e GIT_BRANCH=master \
682707 -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \
683- ghcr.io/linuxserver/lsiodev-readme-sync bash -c 'node sync'
708+ ghcr.io/linuxserver/lsiodev-readme-sync bash -c 'node sync'
684709 rm -Rf ${TEMPDIR} '''
685710 }
686711 }
0 commit comments