Skip to content

Commit e30c907

Browse files
Bot Updating Templated Files
1 parent 21ae5ba commit e30c907

File tree

1 file changed

+52
-48
lines changed

1 file changed

+52
-48
lines changed

Jenkinsfile

Lines changed: 52 additions & 48 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(
@@ -202,12 +207,12 @@ pipeline {
202207
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
203208
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
204209
if (env.MULTIARCH == 'true') {
205-
env.CI_TAGS = 'amd64-bullseye-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-bullseye-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
210+
env.CI_TAGS = 'amd64-bullseye-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-bullseye-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
206211
} else {
207-
env.CI_TAGS = 'bullseye-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
212+
env.CI_TAGS = 'bullseye-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
208213
}
209-
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
210-
env.META_TAG = 'bullseye-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
214+
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
215+
env.META_TAG = 'bullseye-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
211216
env.EXT_RELEASE_TAG = 'bullseye-version-' + env.EXT_RELEASE_CLEAN
212217
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST
213218
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/'
@@ -405,8 +410,7 @@ pipeline {
405410
}
406411
steps{
407412
sh '''#! /bin/bash
408-
set -e
409-
PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/baseimage-debian") | .uuid')
413+
PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/baseimage-debian") | .uuid' || :)
410414
if [ -z "${PACKAGE_UUID}" ]; then
411415
echo "Adding package to Scarf.sh"
412416
curl -sX POST https://scarf.sh/api/v1/organizations/linuxserver-ci/packages \
@@ -513,9 +517,12 @@ pipeline {
513517
retry(5) {
514518
sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
515519
}
516-
sh '''docker rmi \
517-
${IMAGE}:arm64v8-${META_TAG} \
518-
ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
520+
sh '''#! /bin/bash
521+
containers=$(docker ps -aq)
522+
if [[ -n "${containers}" ]]; then
523+
docker stop ${containers}
524+
fi
525+
docker system prune -af --volumes || : '''
519526
}
520527
}
521528
}
@@ -691,17 +698,6 @@ pipeline {
691698
done
692699
'''
693700
}
694-
sh '''#! /bin/bash
695-
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
696-
docker rmi \
697-
${DELETEIMAGE}:${META_TAG} \
698-
${DELETEIMAGE}:${EXT_RELEASE_TAG} \
699-
${DELETEIMAGE}:bullseye || :
700-
if [ -n "${SEMVER}" ]; then
701-
docker rmi ${DELETEIMAGE}:${SEMVER} || :
702-
fi
703-
done
704-
'''
705701
}
706702
}
707703
}
@@ -772,9 +768,16 @@ pipeline {
772768
docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
773769
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
774770
fi
775-
docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-bullseye || :
776-
docker manifest create ${MANIFESTIMAGE}:arm32v7-bullseye ${MANIFESTIMAGE}:amd64-bullseye
777-
docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-bullseye
771+
token=$(curl -sX GET "https://ghcr.io/token?scope=repository%3Alinuxserver%2F${CONTAINER_NAME}%3Apull" | jq -r '.token')
772+
digest=$(curl -s \
773+
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
774+
--header "Authorization: Bearer ${token}" \
775+
"https://ghcr.io/v2/linuxserver/${CONTAINER_NAME}/manifests/arm32v7-bullseye")
776+
if [[ $(echo "$digest" | jq -r '.layers') != "null" ]]; then
777+
docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-bullseye || :
778+
docker manifest create ${MANIFESTIMAGE}:arm32v7-bullseye ${MANIFESTIMAGE}:amd64-bullseye
779+
docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-bullseye
780+
fi
778781
docker manifest push --purge ${MANIFESTIMAGE}:bullseye
779782
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
780783
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
@@ -784,20 +787,6 @@ pipeline {
784787
done
785788
'''
786789
}
787-
sh '''#! /bin/bash
788-
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
789-
docker rmi \
790-
${DELETEIMAGE}:arm64v8-${META_TAG} \
791-
${DELETEIMAGE}:arm64v8-bullseye \
792-
${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
793-
if [ -n "${SEMVER}" ]; then
794-
docker rmi \
795-
${DELETEIMAGE}:arm64v8-${SEMVER} || :
796-
fi
797-
done
798-
docker rmi \
799-
ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :
800-
'''
801790
}
802791
}
803792
}
@@ -868,7 +857,6 @@ pipeline {
868857
stage('Pull Request Comment') {
869858
when {
870859
not {environment name: 'CHANGE_ID', value: ''}
871-
environment name: 'CI', value: 'true'
872860
environment name: 'EXIT_STATUS', value: ''
873861
}
874862
steps {
@@ -922,16 +910,24 @@ pipeline {
922910
echo "$escaped_table"
923911
}
924912
925-
# Retrieve JSON data from URL
926-
data=$(get_json "$CI_JSON_URL")
927-
# Create table from JSON data
928-
table=$(build_table "$data")
929-
echo -e "$table"
913+
if [[ "${CI}" = "true" ]]; then
914+
# Retrieve JSON data from URL
915+
data=$(get_json "$CI_JSON_URL")
916+
# Create table from JSON data
917+
table=$(build_table "$data")
918+
echo -e "$table"
930919
931-
curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
932-
-H "Accept: application/vnd.github.v3+json" \
933-
"https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \
934-
-d "{\\"body\\": \\"I am a bot, here are the test results for this PR: \\n${CI_URL}\\n${SHELLCHECK_URL}\\n${table}\\"}"'''
920+
curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
921+
-H "Accept: application/vnd.github.v3+json" \
922+
"https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \
923+
-d "{\\"body\\": \\"I am a bot, here are the test results for this PR: \\n${CI_URL}\\n${SHELLCHECK_URL}\\n${table}\\"}"
924+
else
925+
curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
926+
-H "Accept: application/vnd.github.v3+json" \
927+
"https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \
928+
-d "{\\"body\\": \\"I am a bot, here is the pushed image/manifest for this PR: \\n\\n\\`${GITHUBIMAGE}:${META_TAG}\\`\\"}"
929+
fi
930+
'''
935931

936932
}
937933
}
@@ -958,6 +954,14 @@ pipeline {
958954
}
959955
}
960956
cleanup {
957+
sh '''#! /bin/bash
958+
echo "Performing docker system prune!!"
959+
containers=$(docker ps -aq)
960+
if [[ -n "${containers}" ]]; then
961+
docker stop ${containers}
962+
fi
963+
docker system prune -af --volumes || :
964+
'''
961965
cleanWs()
962966
}
963967
}

0 commit comments

Comments
 (0)