Skip to content
This repository was archived by the owner on Jun 30, 2022. It is now read-only.

Commit ea67ebc

Browse files
Bot Updating Templated Files
1 parent ad3372f commit ea67ebc

File tree

1 file changed

+49
-37
lines changed

1 file changed

+49
-37
lines changed

Jenkinsfile

Lines changed: 49 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -116,12 +116,11 @@ pipeline {
116116
script: '''echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g' ''',
117117
returnStdout: true).trim()
118118

119-
env.SEMVER = (new Date()).format('YYYY.MM.dd')
120-
def semver = env.EXT_RELEASE_CLEAN =~ /(\d+)\.(\d+)\.(\d+)$/
119+
def semver = env.EXT_RELEASE_CLEAN =~ /(\d+)\.(\d+)\.(\d+)/
121120
if (semver.find()) {
122121
env.SEMVER = "${semver[0][1]}.${semver[0][2]}.${semver[0][3]}"
123122
} else {
124-
semver = env.EXT_RELEASE_CLEAN =~ /(\d+)\.(\d+)(?:\.(\d+))?(.*)$/
123+
semver = env.EXT_RELEASE_CLEAN =~ /(\d+)\.(\d+)(?:\.(\d+))?(.*)/
125124
if (semver.find()) {
126125
if (semver[0][3]) {
127126
env.SEMVER = "${semver[0][1]}.${semver[0][2]}.${semver[0][3]}"
@@ -131,7 +130,15 @@ pipeline {
131130
}
132131
}
133132

134-
println("SEMVER: ${env.SEMVER}")
133+
if (env.SEMVER != null) {
134+
if (BRANCH_NAME != "master" && BRANCH_NAME != "main") {
135+
env.SEMVER = "${env.SEMVER}-${BRANCH_NAME}"
136+
}
137+
println("SEMVER: ${env.SEMVER}")
138+
} else {
139+
println("No SEMVER detected")
140+
}
141+
135142
}
136143
}
137144
}
@@ -381,33 +388,21 @@ pipeline {
381388
steps{
382389
sh '''#! /bin/bash
383390
set -e
384-
PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/packages | jq -r '.[] | select(.name=="linuxserver/baseimage-gui") | .uuid')
391+
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-gui") | .uuid')
385392
if [ -z "${PACKAGE_UUID}" ]; then
386393
echo "Adding package to Scarf.sh"
387-
PACKAGE_UUID=$(curl -sX POST https://scarf.sh/api/v1/packages \
394+
curl -sX POST https://scarf.sh/api/v1/organizations/linuxserver-ci/packages \
388395
-H "Authorization: Bearer ${SCARF_TOKEN}" \
389396
-H "Content-Type: application/json" \
390397
-d '{"name":"linuxserver/baseimage-gui",\
391398
"shortDescription":"example description",\
392399
"libraryType":"docker",\
393400
"website":"https://github.com/linuxserver/docker-baseimage-gui",\
394401
"backendUrl":"https://ghcr.io/linuxserver/baseimage-gui",\
395-
"publicUrl":"https://lscr.io/linuxserver/baseimage-gui"}' \
396-
| jq -r .uuid)
402+
"publicUrl":"https://lscr.io/linuxserver/baseimage-gui"}' || :
397403
else
398404
echo "Package already exists on Scarf.sh"
399405
fi
400-
echo "Setting permissions on Scarf.sh for package ${PACKAGE_UUID}"
401-
curl -X POST https://scarf.sh/api/v1/packages/${PACKAGE_UUID}/permissions \
402-
-H "Authorization: Bearer ${SCARF_TOKEN}" \
403-
-H "Content-Type: application/json" \
404-
-d '[{"userQuery":"Spad","permissionLevel":"admin"},\
405-
{"userQuery":"roxedus","permissionLevel":"admin"},\
406-
{"userQuery":"nemchik","permissionLevel":"admin"},\
407-
{"userQuery":"driz","permissionLevel":"admin"},\
408-
{"userQuery":"aptalca","permissionLevel":"admin"},\
409-
{"userQuery":"saarg","permissionLevel":"admin"},\
410-
{"userQuery":"Stark","permissionLevel":"admin"}]'
411406
'''
412407
}
413408
}
@@ -717,11 +712,15 @@ pipeline {
717712
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
718713
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
719714
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG}
720-
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${SEMVER}
715+
if [ -n "${SEMVER}" ]; then
716+
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${SEMVER}
717+
fi
721718
docker push ${PUSHIMAGE}:latest
722719
docker push ${PUSHIMAGE}:${META_TAG}
723720
docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG}
724-
docker push ${PUSHIMAGE}:${SEMVER}
721+
if [ -n "${SEMVER}" ]; then
722+
docker push ${PUSHIMAGE}:${SEMVER}
723+
fi
725724
done
726725
'''
727726
}
@@ -730,8 +729,10 @@ pipeline {
730729
docker rmi \
731730
${DELETEIMAGE}:${META_TAG} \
732731
${DELETEIMAGE}:${EXT_RELEASE_TAG} \
733-
${DELETEIMAGE}:latest \
734-
${DELETEIMAGE}:${SEMVER} || :
732+
${DELETEIMAGE}:latest || :
733+
if [ -n "${SEMVER}" ]; then
734+
docker rmi ${DELETEIMAGE}:${SEMVER} || :
735+
fi
735736
done
736737
'''
737738
}
@@ -781,9 +782,11 @@ pipeline {
781782
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
782783
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
783784
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
784-
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER}
785-
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${SEMVER}
786-
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
785+
if [ -n "${SEMVER}" ]; then
786+
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER}
787+
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${SEMVER}
788+
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
789+
fi
787790
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
788791
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
789792
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
@@ -793,9 +796,11 @@ pipeline {
793796
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
794797
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
795798
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
796-
docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
797-
docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER}
798-
docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER}
799+
if [ -n "${SEMVER}" ]; then
800+
docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
801+
docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER}
802+
docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER}
803+
fi
799804
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
800805
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
801806
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
@@ -808,14 +813,18 @@ pipeline {
808813
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
809814
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
810815
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
811-
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || :
812-
docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
813-
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm
814-
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
816+
if [ -n "${SEMVER}" ]; then
817+
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || :
818+
docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
819+
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm
820+
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
821+
fi
815822
docker manifest push --purge ${MANIFESTIMAGE}:latest
816823
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
817824
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
818-
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER}
825+
if [ -n "${SEMVER}" ]; then
826+
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER}
827+
fi
819828
done
820829
'''
821830
}
@@ -825,11 +834,14 @@ pipeline {
825834
${DELETEIMAGE}:arm32v7-${META_TAG} \
826835
${DELETEIMAGE}:arm32v7-latest \
827836
${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \
828-
${DELETEIMAGE}:arm32v7-${SEMVER} \
829837
${DELETEIMAGE}:arm64v8-${META_TAG} \
830838
${DELETEIMAGE}:arm64v8-latest \
831-
${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} \
832-
${DELETEIMAGE}:arm64v8-${SEMVER} || :
839+
${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
840+
if [ -n "${SEMVER}" ]; then
841+
docker rmi \
842+
${DELETEIMAGE}:arm32v7-${SEMVER} \
843+
${DELETEIMAGE}:arm64v8-${SEMVER} || :
844+
fi
833845
done
834846
docker rmi \
835847
ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \

0 commit comments

Comments
 (0)