@@ -56,7 +56,7 @@ pipeline {
56
56
env. CODE_URL = ' https://github.com/' + env. LS_USER + ' /' + env. LS_REPO + ' /commit/' + env. GIT_COMMIT
57
57
env. DOCKERHUB_LINK = ' https://hub.docker.com/r/' + env. DOCKERHUB_IMAGE + ' /tags/'
58
58
env. PULL_REQUEST = env. CHANGE_ID
59
- 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 ./root/donate.txt'
59
+ 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 ./root/donate.txt ./.github/workflows/package_trigger.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/external_trigger.yml ./.github/workflows/external_trigger_scheduler.yml '
60
60
}
61
61
script{
62
62
env. LS_RELEASE_NUMBER = sh(
@@ -135,6 +135,7 @@ pipeline {
135
135
} else {
136
136
env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
137
137
}
138
+ env. VERSION_TAG = env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
138
139
env. META_TAG = env. EXT_RELEASE_CLEAN + ' -ls' + env. LS_TAG_NUMBER
139
140
env. EXT_RELEASE_TAG = ' version-' + env. EXT_RELEASE_CLEAN
140
141
}
@@ -156,6 +157,7 @@ pipeline {
156
157
} else {
157
158
env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
158
159
}
160
+ env. VERSION_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
159
161
env. META_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev-' + env. COMMIT_SHA
160
162
env. EXT_RELEASE_TAG = ' version-' + env. EXT_RELEASE_CLEAN
161
163
env. DOCKERHUB_LINK = ' https://hub.docker.com/r/' + env. DEV_DOCKERHUB_IMAGE + ' /tags/'
@@ -177,6 +179,7 @@ pipeline {
177
179
} else {
178
180
env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
179
181
}
182
+ env. VERSION_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
180
183
env. META_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
181
184
env. EXT_RELEASE_TAG = ' version-' + env. EXT_RELEASE_CLEAN
182
185
env. CODE_URL = ' https://github.com/' + env. LS_USER + ' /' + env. LS_REPO + ' /pull/' + env. PULL_REQUEST
@@ -238,9 +241,12 @@ pipeline {
238
241
git checkout -f master
239
242
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
240
243
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
241
- cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/
244
+ mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
245
+ rm -f ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE.md
246
+ cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || :
242
247
cd ${TEMPDIR}/repo/${LS_REPO}/
243
248
git add ${TEMPLATED_FILES}
249
+ git rm .github/ISSUE_TEMPLATE.md || :
244
250
git commit -m 'Bot Updating Templated Files'
245
251
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
246
252
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
@@ -310,8 +316,9 @@ pipeline {
310
316
environment name : ' EXIT_STATUS' , value : ' '
311
317
}
312
318
steps {
319
+ echo " Running on node: ${ NODE_NAME} "
313
320
sh " docker build --no-cache --pull -t ${ IMAGE} :${ META_TAG} \
314
- --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
321
+ --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
315
322
}
316
323
}
317
324
// Build MultiArch Docker containers for push to LS Repo
@@ -323,21 +330,23 @@ pipeline {
323
330
parallel {
324
331
stage(' Build X86' ) {
325
332
steps {
333
+ echo " Running on node: ${ NODE_NAME} "
326
334
sh " docker build --no-cache --pull -t ${ IMAGE} :amd64-${ META_TAG} \
327
- --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
335
+ --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
328
336
}
329
337
}
330
338
stage(' Build ARMHF' ) {
331
339
agent {
332
340
label ' ARMHF'
333
341
}
334
342
steps {
343
+ echo " Running on node: ${ NODE_NAME} "
335
344
echo ' Logging into Github'
336
345
sh ''' #! /bin/bash
337
346
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
338
347
'''
339
348
sh " docker build --no-cache --pull -f Dockerfile.armhf -t ${ IMAGE} :arm32v7-${ META_TAG} \
340
- --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
349
+ --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
341
350
sh " docker tag ${ IMAGE} :arm32v7-${ META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
342
351
retry(5 ) {
343
352
sh " docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
@@ -352,12 +361,13 @@ pipeline {
352
361
label ' ARM64'
353
362
}
354
363
steps {
364
+ echo " Running on node: ${ NODE_NAME} "
355
365
echo ' Logging into Github'
356
366
sh ''' #! /bin/bash
357
367
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
358
368
'''
359
369
sh " docker build --no-cache --pull -f Dockerfile.aarch64 -t ${ IMAGE} :arm64v8-${ META_TAG} \
360
- --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ META_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
370
+ --build-arg ${ BUILD_VERSION_ARG} =${ EXT_RELEASE} --build-arg VERSION=\" ${ VERSION_TAG } \" --build-arg BUILD_DATE=${ GITHUB_DATE} ."
361
371
sh " docker tag ${ IMAGE} :arm64v8-${ META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
362
372
retry(5 ) {
363
373
sh " docker push ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
@@ -430,6 +440,13 @@ pipeline {
430
440
environment name : ' EXIT_STATUS' , value : ' '
431
441
}
432
442
steps {
443
+ sh ''' #! /bin/bash
444
+ echo "Packages were updated. Cleaning up the image and exiting."
445
+ if [ "${MULTIARCH}" == "true" ]; then
446
+ docker rmi ${IMAGE}:amd64-${META_TAG}
447
+ else
448
+ docker rmi ${IMAGE}:${META_TAG}
449
+ fi'''
433
450
script{
434
451
env. EXIT_STATUS = ' ABORTED'
435
452
}
@@ -447,6 +464,13 @@ pipeline {
447
464
}
448
465
}
449
466
steps {
467
+ sh ''' #! /bin/bash
468
+ echo "There are no package updates. Cleaning up the image and exiting."
469
+ if [ "${MULTIARCH}" == "true" ]; then
470
+ docker rmi ${IMAGE}:amd64-${META_TAG}
471
+ else
472
+ docker rmi ${IMAGE}:${META_TAG}
473
+ fi'''
450
474
script{
451
475
env. EXIT_STATUS = ' ABORTED'
452
476
}
@@ -536,7 +560,7 @@ pipeline {
536
560
'''
537
561
}
538
562
sh ''' #! /bin/bash
539
- for DELETEIMAGE in "${GITHUBIMAGE}" "{GITLABIMAGE}" "${IMAGE}"; do
563
+ for DELETEIMAGE in "${GITHUBIMAGE}" "$ {GITLABIMAGE}" "${IMAGE}"; do
540
564
docker rmi \
541
565
${DELETEIMAGE}:${META_TAG} \
542
566
${DELETEIMAGE}:${EXT_RELEASE_TAG} \
@@ -600,6 +624,7 @@ pipeline {
600
624
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
601
625
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
602
626
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
627
+ docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || :
603
628
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
604
629
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
605
630
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
@@ -614,10 +639,13 @@ pipeline {
614
639
docker rmi \
615
640
${DELETEIMAGE}:amd64-${META_TAG} \
616
641
${DELETEIMAGE}:amd64-latest \
642
+ ${DELETEIMAGE}:amd64-${EXT_RELEASE_TAG} \
617
643
${DELETEIMAGE}:arm32v7-${META_TAG} \
618
644
${DELETEIMAGE}:arm32v7-latest \
645
+ ${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \
619
646
${DELETEIMAGE}:arm64v8-${META_TAG} \
620
- ${DELETEIMAGE}:arm64v8-latest || :
647
+ ${DELETEIMAGE}:arm64v8-latest \
648
+ ${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
621
649
done
622
650
docker rmi \
623
651
ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
@@ -684,7 +712,7 @@ pipeline {
684
712
-e DOCKER_REPOSITORY=${IMAGE} \
685
713
-e GIT_BRANCH=master \
686
714
-v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \
687
- ghcr.io/linuxserver/lsiodev-readme-sync bash -c 'node sync'
715
+ ghcr.io/linuxserver/lsiodev-readme-sync bash -c 'node sync'
688
716
rm -Rf ${TEMPDIR} '''
689
717
}
690
718
}
0 commit comments