@@ -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