@@ -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(
@@ -208,12 +213,12 @@ pipeline {
208
213
env. GITLABIMAGE = ' registry.gitlab.com/linuxserver.io/' + env. LS_REPO + ' /lspipepr-' + env. CONTAINER_NAME
209
214
env. QUAYIMAGE = ' quay.io/linuxserver.io/lspipepr-' + env. CONTAINER_NAME
210
215
if (env. MULTIARCH == ' true' ) {
211
- 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
216
+ 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
212
217
} else {
213
- env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
218
+ env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev- ' + env . COMMIT_SHA + ' - pr-' + env. PULL_REQUEST
214
219
}
215
- env. VERSION_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
216
- env. META_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
220
+ env. VERSION_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev- ' + env . COMMIT_SHA + ' - pr-' + env. PULL_REQUEST
221
+ env. META_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev- ' + env . COMMIT_SHA + ' - pr-' + env. PULL_REQUEST
217
222
env. EXT_RELEASE_TAG = ' version-' + env. EXT_RELEASE_CLEAN
218
223
env. CODE_URL = ' https://github.com/' + env. LS_USER + ' /' + env. LS_REPO + ' /pull/' + env. PULL_REQUEST
219
224
env. DOCKERHUB_LINK = ' https://hub.docker.com/r/' + env. PR_DOCKERHUB_IMAGE + ' /tags/'
@@ -341,6 +346,8 @@ pipeline {
341
346
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
342
347
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then
343
348
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
349
+ elif [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
350
+ 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
344
351
fi
345
352
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
346
353
cd ${TEMPDIR}/unraid/templates/
@@ -432,8 +439,7 @@ pipeline {
432
439
}
433
440
steps{
434
441
sh ''' #! /bin/bash
435
- set -e
436
- PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/mariadb") | .uuid')
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/mariadb") | .uuid' || :)
437
443
if [ -z "${PACKAGE_UUID}" ]; then
438
444
echo "Adding package to Scarf.sh"
439
445
curl -sX POST https://scarf.sh/api/v1/organizations/linuxserver-ci/packages \
@@ -543,9 +549,12 @@ pipeline {
543
549
retry(5 ) {
544
550
sh " docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
545
551
}
546
- sh ''' docker rmi \
547
- ${IMAGE}:arm32v7-${META_TAG} \
548
- ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
552
+ sh ''' #! /bin/bash
553
+ containers=$(docker ps -aq)
554
+ if [[ -n "${containers}" ]]; then
555
+ docker stop ${containers}
556
+ fi
557
+ docker system prune -af --volumes || : '''
549
558
}
550
559
}
551
560
stage(' Build ARM64' ) {
@@ -578,9 +587,12 @@ pipeline {
578
587
retry(5 ) {
579
588
sh " docker push ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
580
589
}
581
- sh ''' docker rmi \
582
- ${IMAGE}:arm64v8-${META_TAG} \
583
- ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
590
+ sh ''' #! /bin/bash
591
+ containers=$(docker ps -aq)
592
+ if [[ -n "${containers}" ]]; then
593
+ docker stop ${containers}
594
+ fi
595
+ docker system prune -af --volumes || : '''
584
596
}
585
597
}
586
598
}
@@ -641,13 +653,6 @@ pipeline {
641
653
environment name : ' EXIT_STATUS' , value : ' '
642
654
}
643
655
steps {
644
- sh ''' #! /bin/bash
645
- echo "Packages were updated. Cleaning up the image and exiting."
646
- if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" == "false" ]; then
647
- docker rmi ${IMAGE}:amd64-${META_TAG}
648
- else
649
- docker rmi ${IMAGE}:${META_TAG}
650
- fi'''
651
656
script{
652
657
env. EXIT_STATUS = ' ABORTED'
653
658
}
@@ -665,13 +670,6 @@ pipeline {
665
670
}
666
671
}
667
672
steps {
668
- sh ''' #! /bin/bash
669
- echo "There are no package updates. Cleaning up the image and exiting."
670
- if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" == "false" ]; then
671
- docker rmi ${IMAGE}:amd64-${META_TAG}
672
- else
673
- docker rmi ${IMAGE}:${META_TAG}
674
- fi'''
675
673
script{
676
674
env. EXIT_STATUS = ' ABORTED'
677
675
}
@@ -772,17 +770,6 @@ pipeline {
772
770
done
773
771
'''
774
772
}
775
- sh ''' #! /bin/bash
776
- for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
777
- docker rmi \
778
- ${DELETEIMAGE}:${META_TAG} \
779
- ${DELETEIMAGE}:${EXT_RELEASE_TAG} \
780
- ${DELETEIMAGE}:latest || :
781
- if [ -n "${SEMVER}" ]; then
782
- docker rmi ${DELETEIMAGE}:${SEMVER} || :
783
- fi
784
- done
785
- '''
786
773
}
787
774
}
788
775
}
@@ -876,29 +863,6 @@ pipeline {
876
863
done
877
864
'''
878
865
}
879
- sh ''' #! /bin/bash
880
- for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
881
- docker rmi \
882
- ${DELETEIMAGE}:amd64-${META_TAG} \
883
- ${DELETEIMAGE}:amd64-latest \
884
- ${DELETEIMAGE}:amd64-${EXT_RELEASE_TAG} \
885
- ${DELETEIMAGE}:arm32v7-${META_TAG} \
886
- ${DELETEIMAGE}:arm32v7-latest \
887
- ${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \
888
- ${DELETEIMAGE}:arm64v8-${META_TAG} \
889
- ${DELETEIMAGE}:arm64v8-latest \
890
- ${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
891
- if [ -n "${SEMVER}" ]; then
892
- docker rmi \
893
- ${DELETEIMAGE}:amd64-${SEMVER} \
894
- ${DELETEIMAGE}:arm32v7-${SEMVER} \
895
- ${DELETEIMAGE}:arm64v8-${SEMVER} || :
896
- fi
897
- done
898
- docker rmi \
899
- ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
900
- ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :
901
- '''
902
866
}
903
867
}
904
868
}
@@ -969,7 +933,6 @@ pipeline {
969
933
stage(' Pull Request Comment' ) {
970
934
when {
971
935
not {environment name : ' CHANGE_ID' , value : ' ' }
972
- environment name : ' CI' , value : ' true'
973
936
environment name : ' EXIT_STATUS' , value : ' '
974
937
}
975
938
steps {
@@ -1023,16 +986,24 @@ pipeline {
1023
986
echo "$escaped_table"
1024
987
}
1025
988
1026
- # Retrieve JSON data from URL
1027
- data=$(get_json "$CI_JSON_URL")
1028
- # Create table from JSON data
1029
- table=$(build_table "$data")
1030
- echo -e "$table"
989
+ if [[ "${CI}" = "true" ]]; then
990
+ # Retrieve JSON data from URL
991
+ data=$(get_json "$CI_JSON_URL")
992
+ # Create table from JSON data
993
+ table=$(build_table "$data")
994
+ echo -e "$table"
1031
995
1032
- curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
1033
- -H "Accept: application/vnd.github.v3+json" \
1034
- "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \
1035
- -d "{\\ "body\\ ": \\ "I am a bot, here are the test results for this PR: \\ n${CI_URL}\\ n${SHELLCHECK_URL}\\ n${table}\\ "}"'''
996
+ curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
997
+ -H "Accept: application/vnd.github.v3+json" \
998
+ "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \
999
+ -d "{\\ "body\\ ": \\ "I am a bot, here are the test results for this PR: \\ n${CI_URL}\\ n${SHELLCHECK_URL}\\ n${table}\\ "}"
1000
+ else
1001
+ curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
1002
+ -H "Accept: application/vnd.github.v3+json" \
1003
+ "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \
1004
+ -d "{\\ "body\\ ": \\ "I am a bot, here is the pushed image/manifest for this PR: \\ n\\ n\\ `${GITHUBIMAGE}:${META_TAG}\\ `\\ "}"
1005
+ fi
1006
+ '''
1036
1007
1037
1008
}
1038
1009
}
@@ -1059,6 +1030,14 @@ pipeline {
1059
1030
}
1060
1031
}
1061
1032
cleanup {
1033
+ sh ''' #! /bin/bash
1034
+ echo "Performing docker system prune!!"
1035
+ containers=$(docker ps -aq)
1036
+ if [[ -n "${containers}" ]]; then
1037
+ docker stop ${containers}
1038
+ fi
1039
+ docker system prune -af --volumes || :
1040
+ '''
1062
1041
cleanWs()
1063
1042
}
1064
1043
}
0 commit comments