@@ -42,7 +42,12 @@ pipeline {
42
42
// Setup all the basic environment variables needed for the build
43
43
stage(" Set ENV Variables base" ){
44
44
steps{
45
- sh ''' docker pull quay.io/skopeo/stable:v1 || : '''
45
+ sh ''' #! /bin/bash
46
+ containers=$(docker ps -aq)
47
+ if [[ -n "${containers}" ]]; then
48
+ docker stop ${containers}
49
+ fi
50
+ docker system prune -af --volumes || : '''
46
51
script{
47
52
env. EXIT_STATUS = ' '
48
53
env. LS_RELEASE = sh(
@@ -214,12 +219,12 @@ pipeline {
214
219
env. GITLABIMAGE = ' registry.gitlab.com/linuxserver.io/' + env. LS_REPO + ' /lspipepr-' + env. CONTAINER_NAME
215
220
env. QUAYIMAGE = ' quay.io/linuxserver.io/lspipepr-' + env. CONTAINER_NAME
216
221
if (env. MULTIARCH == ' true' ) {
217
- 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
222
+ 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
218
223
} else {
219
- env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
224
+ env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev- ' + env . COMMIT_SHA + ' - pr-' + env. PULL_REQUEST
220
225
}
221
- env. VERSION_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
222
- env. META_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
226
+ env. VERSION_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev- ' + env . COMMIT_SHA + ' - pr-' + env. PULL_REQUEST
227
+ env. META_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev- ' + env . COMMIT_SHA + ' - pr-' + env. PULL_REQUEST
223
228
env. EXT_RELEASE_TAG = ' version-' + env. EXT_RELEASE_CLEAN
224
229
env. CODE_URL = ' https://github.com/' + env. LS_USER + ' /' + env. LS_REPO + ' /pull/' + env. PULL_REQUEST
225
230
env. DOCKERHUB_LINK = ' https://hub.docker.com/r/' + env. PR_DOCKERHUB_IMAGE + ' /tags/'
@@ -347,6 +352,8 @@ pipeline {
347
352
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
348
353
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then
349
354
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-logo.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
355
+ elif [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
356
+ sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml
350
357
fi
351
358
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then
352
359
cd ${TEMPDIR}/unraid/templates/
@@ -438,8 +445,7 @@ pipeline {
438
445
}
439
446
steps{
440
447
sh ''' #! /bin/bash
441
- set -e
442
- PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/bookstack") | .uuid')
448
+ PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/bookstack") | .uuid' || :)
443
449
if [ -z "${PACKAGE_UUID}" ]; then
444
450
echo "Adding package to Scarf.sh"
445
451
curl -sX POST https://scarf.sh/api/v1/organizations/linuxserver-ci/packages \
@@ -549,9 +555,12 @@ pipeline {
549
555
retry(5 ) {
550
556
sh " docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
551
557
}
552
- sh ''' docker rmi \
553
- ${IMAGE}:arm32v7-${META_TAG} \
554
- ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
558
+ sh ''' #! /bin/bash
559
+ containers=$(docker ps -aq)
560
+ if [[ -n "${containers}" ]]; then
561
+ docker stop ${containers}
562
+ fi
563
+ docker system prune -af --volumes || : '''
555
564
}
556
565
}
557
566
stage(' Build ARM64' ) {
@@ -584,9 +593,12 @@ pipeline {
584
593
retry(5 ) {
585
594
sh " docker push ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
586
595
}
587
- sh ''' docker rmi \
588
- ${IMAGE}:arm64v8-${META_TAG} \
589
- ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
596
+ sh ''' #! /bin/bash
597
+ containers=$(docker ps -aq)
598
+ if [[ -n "${containers}" ]]; then
599
+ docker stop ${containers}
600
+ fi
601
+ docker system prune -af --volumes || : '''
590
602
}
591
603
}
592
604
}
@@ -647,13 +659,6 @@ pipeline {
647
659
environment name : ' EXIT_STATUS' , value : ' '
648
660
}
649
661
steps {
650
- sh ''' #! /bin/bash
651
- echo "Packages were updated. Cleaning up the image and exiting."
652
- if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" == "false" ]; then
653
- docker rmi ${IMAGE}:amd64-${META_TAG}
654
- else
655
- docker rmi ${IMAGE}:${META_TAG}
656
- fi'''
657
662
script{
658
663
env. EXIT_STATUS = ' ABORTED'
659
664
}
@@ -671,13 +676,6 @@ pipeline {
671
676
}
672
677
}
673
678
steps {
674
- sh ''' #! /bin/bash
675
- echo "There are no package updates. Cleaning up the image and exiting."
676
- if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" == "false" ]; then
677
- docker rmi ${IMAGE}:amd64-${META_TAG}
678
- else
679
- docker rmi ${IMAGE}:${META_TAG}
680
- fi'''
681
679
script{
682
680
env. EXIT_STATUS = ' ABORTED'
683
681
}
@@ -778,17 +776,6 @@ pipeline {
778
776
done
779
777
'''
780
778
}
781
- sh ''' #! /bin/bash
782
- for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
783
- docker rmi \
784
- ${DELETEIMAGE}:${META_TAG} \
785
- ${DELETEIMAGE}:${EXT_RELEASE_TAG} \
786
- ${DELETEIMAGE}:latest || :
787
- if [ -n "${SEMVER}" ]; then
788
- docker rmi ${DELETEIMAGE}:${SEMVER} || :
789
- fi
790
- done
791
- '''
792
779
}
793
780
}
794
781
}
@@ -882,29 +869,6 @@ pipeline {
882
869
done
883
870
'''
884
871
}
885
- sh ''' #! /bin/bash
886
- for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
887
- docker rmi \
888
- ${DELETEIMAGE}:amd64-${META_TAG} \
889
- ${DELETEIMAGE}:amd64-latest \
890
- ${DELETEIMAGE}:amd64-${EXT_RELEASE_TAG} \
891
- ${DELETEIMAGE}:arm32v7-${META_TAG} \
892
- ${DELETEIMAGE}:arm32v7-latest \
893
- ${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \
894
- ${DELETEIMAGE}:arm64v8-${META_TAG} \
895
- ${DELETEIMAGE}:arm64v8-latest \
896
- ${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
897
- if [ -n "${SEMVER}" ]; then
898
- docker rmi \
899
- ${DELETEIMAGE}:amd64-${SEMVER} \
900
- ${DELETEIMAGE}:arm32v7-${SEMVER} \
901
- ${DELETEIMAGE}:arm64v8-${SEMVER} || :
902
- fi
903
- done
904
- docker rmi \
905
- ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
906
- ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :
907
- '''
908
872
}
909
873
}
910
874
}
@@ -975,7 +939,6 @@ pipeline {
975
939
stage(' Pull Request Comment' ) {
976
940
when {
977
941
not {environment name : ' CHANGE_ID' , value : ' ' }
978
- environment name : ' CI' , value : ' true'
979
942
environment name : ' EXIT_STATUS' , value : ' '
980
943
}
981
944
steps {
@@ -1029,16 +992,24 @@ pipeline {
1029
992
echo "$escaped_table"
1030
993
}
1031
994
1032
- # Retrieve JSON data from URL
1033
- data=$(get_json "$CI_JSON_URL")
1034
- # Create table from JSON data
1035
- table=$(build_table "$data")
1036
- echo -e "$table"
995
+ if [[ "${CI}" = "true" ]]; then
996
+ # Retrieve JSON data from URL
997
+ data=$(get_json "$CI_JSON_URL")
998
+ # Create table from JSON data
999
+ table=$(build_table "$data")
1000
+ echo -e "$table"
1037
1001
1038
- curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
1039
- -H "Accept: application/vnd.github.v3+json" \
1040
- "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \
1041
- -d "{\\ "body\\ ": \\ "I am a bot, here are the test results for this PR: \\ n${CI_URL}\\ n${SHELLCHECK_URL}\\ n${table}\\ "}"'''
1002
+ curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
1003
+ -H "Accept: application/vnd.github.v3+json" \
1004
+ "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \
1005
+ -d "{\\ "body\\ ": \\ "I am a bot, here are the test results for this PR: \\ n${CI_URL}\\ n${SHELLCHECK_URL}\\ n${table}\\ "}"
1006
+ else
1007
+ curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
1008
+ -H "Accept: application/vnd.github.v3+json" \
1009
+ "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \
1010
+ -d "{\\ "body\\ ": \\ "I am a bot, here is the pushed image/manifest for this PR: \\ n\\ n\\ `${GITHUBIMAGE}:${META_TAG}\\ `\\ "}"
1011
+ fi
1012
+ '''
1042
1013
1043
1014
}
1044
1015
}
@@ -1065,6 +1036,14 @@ pipeline {
1065
1036
}
1066
1037
}
1067
1038
cleanup {
1039
+ sh ''' #! /bin/bash
1040
+ echo "Performing docker system prune!!"
1041
+ containers=$(docker ps -aq)
1042
+ if [[ -n "${containers}" ]]; then
1043
+ docker stop ${containers}
1044
+ fi
1045
+ docker system prune -af --volumes || :
1046
+ '''
1068
1047
cleanWs()
1069
1048
}
1070
1049
}
0 commit comments