@@ -33,7 +33,12 @@ pipeline {
33
33
// Setup all the basic environment variables needed for the build
34
34
stage(" Set ENV Variables base" ){
35
35
steps{
36
- sh ''' docker pull quay.io/skopeo/stable:v1 || : '''
36
+ sh ''' #! /bin/bash
37
+ containers=$(docker ps -aq)
38
+ if [[ -n "${containers}" ]]; then
39
+ docker stop ${containers}
40
+ fi
41
+ docker system prune -af --volumes || : '''
37
42
script{
38
43
env. EXIT_STATUS = ' '
39
44
env. LS_RELEASE = sh(
@@ -196,12 +201,12 @@ pipeline {
196
201
env. GITLABIMAGE = ' registry.gitlab.com/linuxserver.io/' + env. LS_REPO + ' /lspipepr-' + env. CONTAINER_NAME
197
202
env. QUAYIMAGE = ' quay.io/linuxserver.io/lspipepr-' + env. CONTAINER_NAME
198
203
if (env. MULTIARCH == ' true' ) {
199
- 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
204
+ 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
200
205
} else {
201
- env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
206
+ env. CI_TAGS = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev- ' + env . COMMIT_SHA + ' - pr-' + env. PULL_REQUEST
202
207
}
203
- env. VERSION_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
204
- env. META_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -pr-' + env. PULL_REQUEST
208
+ env. VERSION_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev- ' + env . COMMIT_SHA + ' - pr-' + env. PULL_REQUEST
209
+ env. META_TAG = env. EXT_RELEASE_CLEAN + ' -pkg-' + env. PACKAGE_TAG + ' -dev- ' + env . COMMIT_SHA + ' - pr-' + env. PULL_REQUEST
205
210
env. EXT_RELEASE_TAG = ' version-' + env. EXT_RELEASE_CLEAN
206
211
env. CODE_URL = ' https://github.com/' + env. LS_USER + ' /' + env. LS_REPO + ' /pull/' + env. PULL_REQUEST
207
212
env. DOCKERHUB_LINK = ' https://hub.docker.com/r/' + env. PR_DOCKERHUB_IMAGE + ' /tags/'
@@ -399,8 +404,7 @@ pipeline {
399
404
}
400
405
steps{
401
406
sh ''' #! /bin/bash
402
- set -e
403
- PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/readme-sync") | .uuid')
407
+ PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/readme-sync") | .uuid' || :)
404
408
if [ -z "${PACKAGE_UUID}" ]; then
405
409
echo "Adding package to Scarf.sh"
406
410
curl -sX POST https://scarf.sh/api/v1/organizations/linuxserver-ci/packages \
@@ -510,9 +514,12 @@ pipeline {
510
514
retry(5 ) {
511
515
sh " docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${ COMMIT_SHA} -${ BUILD_NUMBER} "
512
516
}
513
- sh ''' docker rmi \
514
- ${IMAGE}:arm32v7-${META_TAG} \
515
- ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
517
+ sh ''' #! /bin/bash
518
+ containers=$(docker ps -aq)
519
+ if [[ -n "${containers}" ]]; then
520
+ docker stop ${containers}
521
+ fi
522
+ docker system prune -af --volumes || : '''
516
523
}
517
524
}
518
525
stage(' Build ARM64' ) {
@@ -545,9 +552,12 @@ pipeline {
545
552
retry(5 ) {
546
553
sh " docker push ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${ COMMIT_SHA} -${ BUILD_NUMBER} "
547
554
}
548
- sh ''' docker rmi \
549
- ${IMAGE}:arm64v8-${META_TAG} \
550
- ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
555
+ sh ''' #! /bin/bash
556
+ containers=$(docker ps -aq)
557
+ if [[ -n "${containers}" ]]; then
558
+ docker stop ${containers}
559
+ fi
560
+ docker system prune -af --volumes || : '''
551
561
}
552
562
}
553
563
}
@@ -608,13 +618,6 @@ pipeline {
608
618
environment name : ' EXIT_STATUS' , value : ' '
609
619
}
610
620
steps {
611
- sh ''' #! /bin/bash
612
- echo "Packages were updated. Cleaning up the image and exiting."
613
- if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" == "false" ]; then
614
- docker rmi ${IMAGE}:amd64-${META_TAG}
615
- else
616
- docker rmi ${IMAGE}:${META_TAG}
617
- fi'''
618
621
script{
619
622
env. EXIT_STATUS = ' ABORTED'
620
623
}
@@ -632,13 +635,6 @@ pipeline {
632
635
}
633
636
}
634
637
steps {
635
- sh ''' #! /bin/bash
636
- echo "There are no package updates. Cleaning up the image and exiting."
637
- if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" == "false" ]; then
638
- docker rmi ${IMAGE}:amd64-${META_TAG}
639
- else
640
- docker rmi ${IMAGE}:${META_TAG}
641
- fi'''
642
638
script{
643
639
env. EXIT_STATUS = ' ABORTED'
644
640
}
@@ -739,17 +735,6 @@ pipeline {
739
735
done
740
736
'''
741
737
}
742
- sh ''' #! /bin/bash
743
- for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
744
- docker rmi \
745
- ${DELETEIMAGE}:${META_TAG} \
746
- ${DELETEIMAGE}:${EXT_RELEASE_TAG} \
747
- ${DELETEIMAGE}:latest || :
748
- if [ -n "${SEMVER}" ]; then
749
- docker rmi ${DELETEIMAGE}:${SEMVER} || :
750
- fi
751
- done
752
- '''
753
738
}
754
739
}
755
740
}
@@ -843,29 +828,6 @@ pipeline {
843
828
done
844
829
'''
845
830
}
846
- sh ''' #! /bin/bash
847
- for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
848
- docker rmi \
849
- ${DELETEIMAGE}:amd64-${META_TAG} \
850
- ${DELETEIMAGE}:amd64-latest \
851
- ${DELETEIMAGE}:amd64-${EXT_RELEASE_TAG} \
852
- ${DELETEIMAGE}:arm32v7-${META_TAG} \
853
- ${DELETEIMAGE}:arm32v7-latest \
854
- ${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \
855
- ${DELETEIMAGE}:arm64v8-${META_TAG} \
856
- ${DELETEIMAGE}:arm64v8-latest \
857
- ${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
858
- if [ -n "${SEMVER}" ]; then
859
- docker rmi \
860
- ${DELETEIMAGE}:amd64-${SEMVER} \
861
- ${DELETEIMAGE}:arm32v7-${SEMVER} \
862
- ${DELETEIMAGE}:arm64v8-${SEMVER} || :
863
- fi
864
- done
865
- docker rmi \
866
- ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
867
- ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :
868
- '''
869
831
}
870
832
}
871
833
}
@@ -936,7 +898,6 @@ pipeline {
936
898
stage(' Pull Request Comment' ) {
937
899
when {
938
900
not {environment name : ' CHANGE_ID' , value : ' ' }
939
- environment name : ' CI' , value : ' true'
940
901
environment name : ' EXIT_STATUS' , value : ' '
941
902
}
942
903
steps {
@@ -990,16 +951,24 @@ pipeline {
990
951
echo "$escaped_table"
991
952
}
992
953
993
- # Retrieve JSON data from URL
994
- data=$(get_json "$CI_JSON_URL")
995
- # Create table from JSON data
996
- table=$(build_table "$data")
997
- echo -e "$table"
954
+ if [[ "${CI}" = "true" ]]; then
955
+ # Retrieve JSON data from URL
956
+ data=$(get_json "$CI_JSON_URL")
957
+ # Create table from JSON data
958
+ table=$(build_table "$data")
959
+ echo -e "$table"
998
960
999
- curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
1000
- -H "Accept: application/vnd.github.v3+json" \
1001
- "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \
1002
- -d "{\\ "body\\ ": \\ "I am a bot, here are the test results for this PR: \\ n${CI_URL}\\ n${SHELLCHECK_URL}\\ n${table}\\ "}"'''
961
+ curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
962
+ -H "Accept: application/vnd.github.v3+json" \
963
+ "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \
964
+ -d "{\\ "body\\ ": \\ "I am a bot, here are the test results for this PR: \\ n${CI_URL}\\ n${SHELLCHECK_URL}\\ n${table}\\ "}"
965
+ else
966
+ curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
967
+ -H "Accept: application/vnd.github.v3+json" \
968
+ "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \
969
+ -d "{\\ "body\\ ": \\ "I am a bot, here is the pushed image/manifest for this PR: \\ n\\ n\\ `${GITHUBIMAGE}:${META_TAG}\\ `\\ "}"
970
+ fi
971
+ '''
1003
972
1004
973
}
1005
974
}
@@ -1026,6 +995,14 @@ pipeline {
1026
995
}
1027
996
}
1028
997
cleanup {
998
+ sh ''' #! /bin/bash
999
+ echo "Performing docker system prune!!"
1000
+ containers=$(docker ps -aq)
1001
+ if [[ -n "${containers}" ]]; then
1002
+ docker stop ${containers}
1003
+ fi
1004
+ docker system prune -af --volumes || :
1005
+ '''
1029
1006
cleanWs()
1030
1007
}
1031
1008
}
0 commit comments