@@ -39,7 +39,12 @@ pipeline {
39
39
// Setup all the basic environment variables needed for the build
40
40
stage(" Set ENV Variables base" ){
41
41
steps{
42
- sh ''' docker pull quay.io/skopeo/stable:v1 || : '''
42
+ sh ''' #! /bin/bash
43
+ containers=$(docker ps -aq)
44
+ if [[ -n "${containers}" ]]; then
45
+ docker stop ${containers}
46
+ fi
47
+ docker system prune -af --volumes || : '''
43
48
script{
44
49
env. EXIT_STATUS = ' '
45
50
env. LS_RELEASE = sh(
@@ -204,12 +209,12 @@ pipeline {
204
209
env. GITLABIMAGE = ' registry.gitlab.com/linuxserver.io/' + env. LS_REPO + ' /lspipepr-' + env. CONTAINER_NAME
205
210
env. QUAYIMAGE = ' quay.io/linuxserver.io/lspipepr-' + env. CONTAINER_NAME
206
211
if (env. MULTIARCH == ' true' ) {
207
- 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
212
+ 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
208
213
} else {
209
- env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
214
+ env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev- ' + env . COMMIT_SHA + ' - pr-' + env. PULL_REQUEST
210
215
}
211
- env. VERSION_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
212
- env. META_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
216
+ env. VERSION_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev- ' + env . COMMIT_SHA + ' - pr-' + env. PULL_REQUEST
217
+ env. META_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev- ' + env . COMMIT_SHA + ' - pr-' + env. PULL_REQUEST
213
218
env. EXT_RELEASE_TAG = ' version-' + env. EXT_RELEASE_CLEAN
214
219
env. CODE_URL = ' https://github.com/' + env. LS_USER + ' /' + env. LS_REPO + ' /pull/' + env. PULL_REQUEST
215
220
env. DOCKERHUB_LINK = ' https://hub.docker.com/r/' + env. PR_DOCKERHUB_IMAGE + ' /tags/'
@@ -337,6 +342,8 @@ pipeline {
337
342
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
338
343
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then
339
344
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
345
+ elif [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
346
+ 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
340
347
fi
341
348
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
342
349
cd ${TEMPDIR}/unraid/templates/
@@ -428,8 +435,7 @@ pipeline {
428
435
}
429
436
steps{
430
437
sh ''' #! /bin/bash
431
- set -e
432
- PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/code-server") | .uuid')
438
+ PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/code-server") | .uuid' || :)
433
439
if [ -z "${PACKAGE_UUID}" ]; then
434
440
echo "Adding package to Scarf.sh"
435
441
curl -sX POST https://scarf.sh/api/v1/organizations/linuxserver-ci/packages \
@@ -539,9 +545,12 @@ pipeline {
539
545
retry(5 ) {
540
546
sh " docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
541
547
}
542
- sh ''' docker rmi \
543
- ${IMAGE}:arm32v7-${META_TAG} \
544
- ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
548
+ sh ''' #! /bin/bash
549
+ containers=$(docker ps -aq)
550
+ if [[ -n "${containers}" ]]; then
551
+ docker stop ${containers}
552
+ fi
553
+ docker system prune -af --volumes || : '''
545
554
}
546
555
}
547
556
stage(' Build ARM64' ) {
@@ -574,9 +583,12 @@ pipeline {
574
583
retry(5 ) {
575
584
sh " docker push ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
576
585
}
577
- sh ''' docker rmi \
578
- ${IMAGE}:arm64v8-${META_TAG} \
579
- ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
586
+ sh ''' #! /bin/bash
587
+ containers=$(docker ps -aq)
588
+ if [[ -n "${containers}" ]]; then
589
+ docker stop ${containers}
590
+ fi
591
+ docker system prune -af --volumes || : '''
580
592
}
581
593
}
582
594
}
@@ -637,13 +649,6 @@ pipeline {
637
649
environment name : ' EXIT_STATUS' , value : ' '
638
650
}
639
651
steps {
640
- sh ''' #! /bin/bash
641
- echo "Packages were updated. Cleaning up the image and exiting."
642
- if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" == "false" ]; then
643
- docker rmi ${IMAGE}:amd64-${META_TAG}
644
- else
645
- docker rmi ${IMAGE}:${META_TAG}
646
- fi'''
647
652
script{
648
653
env. EXIT_STATUS = ' ABORTED'
649
654
}
@@ -661,13 +666,6 @@ pipeline {
661
666
}
662
667
}
663
668
steps {
664
- sh ''' #! /bin/bash
665
- echo "There are no package updates. Cleaning up the image and exiting."
666
- if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" == "false" ]; then
667
- docker rmi ${IMAGE}:amd64-${META_TAG}
668
- else
669
- docker rmi ${IMAGE}:${META_TAG}
670
- fi'''
671
669
script{
672
670
env. EXIT_STATUS = ' ABORTED'
673
671
}
@@ -768,17 +766,6 @@ pipeline {
768
766
done
769
767
'''
770
768
}
771
- sh ''' #! /bin/bash
772
- for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
773
- docker rmi \
774
- ${DELETEIMAGE}:${META_TAG} \
775
- ${DELETEIMAGE}:${EXT_RELEASE_TAG} \
776
- ${DELETEIMAGE}:latest || :
777
- if [ -n "${SEMVER}" ]; then
778
- docker rmi ${DELETEIMAGE}:${SEMVER} || :
779
- fi
780
- done
781
- '''
782
769
}
783
770
}
784
771
}
@@ -872,29 +859,6 @@ pipeline {
872
859
done
873
860
'''
874
861
}
875
- sh ''' #! /bin/bash
876
- for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
877
- docker rmi \
878
- ${DELETEIMAGE}:amd64-${META_TAG} \
879
- ${DELETEIMAGE}:amd64-latest \
880
- ${DELETEIMAGE}:amd64-${EXT_RELEASE_TAG} \
881
- ${DELETEIMAGE}:arm32v7-${META_TAG} \
882
- ${DELETEIMAGE}:arm32v7-latest \
883
- ${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \
884
- ${DELETEIMAGE}:arm64v8-${META_TAG} \
885
- ${DELETEIMAGE}:arm64v8-latest \
886
- ${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
887
- if [ -n "${SEMVER}" ]; then
888
- docker rmi \
889
- ${DELETEIMAGE}:amd64-${SEMVER} \
890
- ${DELETEIMAGE}:arm32v7-${SEMVER} \
891
- ${DELETEIMAGE}:arm64v8-${SEMVER} || :
892
- fi
893
- done
894
- docker rmi \
895
- ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
896
- ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :
897
- '''
898
862
}
899
863
}
900
864
}
@@ -965,7 +929,6 @@ pipeline {
965
929
stage(' Pull Request Comment' ) {
966
930
when {
967
931
not {environment name : ' CHANGE_ID' , value : ' ' }
968
- environment name : ' CI' , value : ' true'
969
932
environment name : ' EXIT_STATUS' , value : ' '
970
933
}
971
934
steps {
@@ -1019,16 +982,24 @@ pipeline {
1019
982
echo "$escaped_table"
1020
983
}
1021
984
1022
- # Retrieve JSON data from URL
1023
- data=$(get_json "$CI_JSON_URL")
1024
- # Create table from JSON data
1025
- table=$(build_table "$data")
1026
- echo -e "$table"
985
+ if [[ "${CI}" = "true" ]]; then
986
+ # Retrieve JSON data from URL
987
+ data=$(get_json "$CI_JSON_URL")
988
+ # Create table from JSON data
989
+ table=$(build_table "$data")
990
+ echo -e "$table"
1027
991
1028
- curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
1029
- -H "Accept: application/vnd.github.v3+json" \
1030
- "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \
1031
- -d "{\\ "body\\ ": \\ "I am a bot, here are the test results for this PR: \\ n${CI_URL}\\ n${SHELLCHECK_URL}\\ n${table}\\ "}"'''
992
+ curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
993
+ -H "Accept: application/vnd.github.v3+json" \
994
+ "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \
995
+ -d "{\\ "body\\ ": \\ "I am a bot, here are the test results for this PR: \\ n${CI_URL}\\ n${SHELLCHECK_URL}\\ n${table}\\ "}"
996
+ else
997
+ curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
998
+ -H "Accept: application/vnd.github.v3+json" \
999
+ "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \
1000
+ -d "{\\ "body\\ ": \\ "I am a bot, here is the pushed image/manifest for this PR: \\ n\\ n\\ `${GITHUBIMAGE}:${META_TAG}\\ `\\ "}"
1001
+ fi
1002
+ '''
1032
1003
1033
1004
}
1034
1005
}
@@ -1055,6 +1026,14 @@ pipeline {
1055
1026
}
1056
1027
}
1057
1028
cleanup {
1029
+ sh ''' #! /bin/bash
1030
+ echo "Performing docker system prune!!"
1031
+ containers=$(docker ps -aq)
1032
+ if [[ -n "${containers}" ]]; then
1033
+ docker stop ${containers}
1034
+ fi
1035
+ docker system prune -af --volumes || :
1036
+ '''
1058
1037
cleanWs()
1059
1038
}
1060
1039
}
0 commit comments