Skip to content

Commit 549e2e0

Browse files
Bot Updating Templated Files
1 parent 8bc5a89 commit 549e2e0

File tree

1 file changed

+50
-71
lines changed

1 file changed

+50
-71
lines changed

Jenkinsfile

Lines changed: 50 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,12 @@ pipeline {
3939
// Setup all the basic environment variables needed for the build
4040
stage("Set ENV Variables base"){
4141
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 || : '''
4348
script{
4449
env.EXIT_STATUS = ''
4550
env.LS_RELEASE = sh(
@@ -204,12 +209,12 @@ pipeline {
204209
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
205210
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
206211
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
208213
} 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
210215
}
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
213218
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
214219
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST
215220
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/'
@@ -337,6 +342,8 @@ pipeline {
337342
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
338343
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then
339344
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
340347
fi
341348
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
342349
cd ${TEMPDIR}/unraid/templates/
@@ -428,8 +435,7 @@ pipeline {
428435
}
429436
steps{
430437
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' || :)
433439
if [ -z "${PACKAGE_UUID}" ]; then
434440
echo "Adding package to Scarf.sh"
435441
curl -sX POST https://scarf.sh/api/v1/organizations/linuxserver-ci/packages \
@@ -539,9 +545,12 @@ pipeline {
539545
retry(5) {
540546
sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}"
541547
}
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 || : '''
545554
}
546555
}
547556
stage('Build ARM64') {
@@ -574,9 +583,12 @@ pipeline {
574583
retry(5) {
575584
sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
576585
}
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 || : '''
580592
}
581593
}
582594
}
@@ -637,13 +649,6 @@ pipeline {
637649
environment name: 'EXIT_STATUS', value: ''
638650
}
639651
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'''
647652
script{
648653
env.EXIT_STATUS = 'ABORTED'
649654
}
@@ -661,13 +666,6 @@ pipeline {
661666
}
662667
}
663668
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'''
671669
script{
672670
env.EXIT_STATUS = 'ABORTED'
673671
}
@@ -768,17 +766,6 @@ pipeline {
768766
done
769767
'''
770768
}
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-
'''
782769
}
783770
}
784771
}
@@ -872,29 +859,6 @@ pipeline {
872859
done
873860
'''
874861
}
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-
'''
898862
}
899863
}
900864
}
@@ -965,7 +929,6 @@ pipeline {
965929
stage('Pull Request Comment') {
966930
when {
967931
not {environment name: 'CHANGE_ID', value: ''}
968-
environment name: 'CI', value: 'true'
969932
environment name: 'EXIT_STATUS', value: ''
970933
}
971934
steps {
@@ -1019,16 +982,24 @@ pipeline {
1019982
echo "$escaped_table"
1020983
}
1021984
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"
1027991
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+
'''
10321003

10331004
}
10341005
}
@@ -1055,6 +1026,14 @@ pipeline {
10551026
}
10561027
}
10571028
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+
'''
10581037
cleanWs()
10591038
}
10601039
}

0 commit comments

Comments
 (0)