@@ -116,12 +116,11 @@ pipeline {
116
116
script : ''' echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g' ''' ,
117
117
returnStdout : true ). trim()
118
118
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 +)/
121
120
if (semver. find()) {
122
121
env. SEMVER = " ${ semver[0][1]} .${ semver[0][2]} .${ semver[0][3]} "
123
122
} else {
124
- semver = env. EXT_RELEASE_CLEAN =~ / (\d +)\. (\d +)(?:\. (\d +))?(.*)$ /
123
+ semver = env. EXT_RELEASE_CLEAN =~ / (\d +)\. (\d +)(?:\. (\d +))?(.*)/
125
124
if (semver. find()) {
126
125
if (semver[0 ][3 ]) {
127
126
env. SEMVER = " ${ semver[0][1]} .${ semver[0][2]} .${ semver[0][3]} "
@@ -131,7 +130,15 @@ pipeline {
131
130
}
132
131
}
133
132
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
+
135
142
}
136
143
}
137
144
}
@@ -400,33 +407,21 @@ pipeline {
400
407
steps{
401
408
sh ''' #! /bin/bash
402
409
set -e
403
- PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/packages | jq -r '.[] | select(.name=="linuxserver/duckdns") | .uuid')
410
+ PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/ packages | jq -r '.[] | select(.name=="linuxserver/duckdns") | .uuid')
404
411
if [ -z "${PACKAGE_UUID}" ]; then
405
412
echo "Adding package to Scarf.sh"
406
- PACKAGE_UUID=$( curl -sX POST https://scarf.sh/api/v1/packages \
413
+ curl -sX POST https://scarf.sh/api/v1/organizations/linuxserver-ci /packages \
407
414
-H "Authorization: Bearer ${SCARF_TOKEN}" \
408
415
-H "Content-Type: application/json" \
409
416
-d '{"name":"linuxserver/duckdns",\
410
417
"shortDescription":"example description",\
411
418
"libraryType":"docker",\
412
419
"website":"https://github.com/linuxserver/docker-duckdns",\
413
420
"backendUrl":"https://ghcr.io/linuxserver/duckdns",\
414
- "publicUrl":"https://lscr.io/linuxserver/duckdns"}' \
415
- | jq -r .uuid)
421
+ "publicUrl":"https://lscr.io/linuxserver/duckdns"}' || :
416
422
else
417
423
echo "Package already exists on Scarf.sh"
418
424
fi
419
- echo "Setting permissions on Scarf.sh for package ${PACKAGE_UUID}"
420
- curl -X POST https://scarf.sh/api/v1/packages/${PACKAGE_UUID}/permissions \
421
- -H "Authorization: Bearer ${SCARF_TOKEN}" \
422
- -H "Content-Type: application/json" \
423
- -d '[{"userQuery":"Spad","permissionLevel":"admin"},\
424
- {"userQuery":"roxedus","permissionLevel":"admin"},\
425
- {"userQuery":"nemchik","permissionLevel":"admin"},\
426
- {"userQuery":"driz","permissionLevel":"admin"},\
427
- {"userQuery":"aptalca","permissionLevel":"admin"},\
428
- {"userQuery":"saarg","permissionLevel":"admin"},\
429
- {"userQuery":"Stark","permissionLevel":"admin"}]'
430
425
'''
431
426
}
432
427
}
@@ -750,11 +745,15 @@ pipeline {
750
745
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
751
746
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
752
747
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG}
753
- docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${SEMVER}
748
+ if [ -n "${SEMVER}" ]; then
749
+ docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${SEMVER}
750
+ fi
754
751
docker push ${PUSHIMAGE}:latest
755
752
docker push ${PUSHIMAGE}:${META_TAG}
756
753
docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG}
757
- docker push ${PUSHIMAGE}:${SEMVER}
754
+ if [ -n "${SEMVER}" ]; then
755
+ docker push ${PUSHIMAGE}:${SEMVER}
756
+ fi
758
757
done
759
758
'''
760
759
}
@@ -763,8 +762,10 @@ pipeline {
763
762
docker rmi \
764
763
${DELETEIMAGE}:${META_TAG} \
765
764
${DELETEIMAGE}:${EXT_RELEASE_TAG} \
766
- ${DELETEIMAGE}:latest \
767
- ${DELETEIMAGE}:${SEMVER} || :
765
+ ${DELETEIMAGE}:latest || :
766
+ if [ -n "${SEMVER}" ]; then
767
+ docker rmi ${DELETEIMAGE}:${SEMVER} || :
768
+ fi
768
769
done
769
770
'''
770
771
}
@@ -814,9 +815,11 @@ pipeline {
814
815
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
815
816
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
816
817
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
817
- docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER}
818
- docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${SEMVER}
819
- docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
818
+ if [ -n "${SEMVER}" ]; then
819
+ docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER}
820
+ docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${SEMVER}
821
+ docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
822
+ fi
820
823
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
821
824
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
822
825
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
@@ -826,9 +829,11 @@ pipeline {
826
829
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
827
830
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
828
831
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
829
- docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
830
- docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER}
831
- docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER}
832
+ if [ -n "${SEMVER}" ]; then
833
+ docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
834
+ docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER}
835
+ docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER}
836
+ fi
832
837
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
833
838
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
834
839
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
@@ -841,14 +846,18 @@ pipeline {
841
846
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
842
847
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
843
848
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
844
- docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || :
845
- docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
846
- docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm
847
- docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
849
+ if [ -n "${SEMVER}" ]; then
850
+ docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || :
851
+ docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
852
+ docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm
853
+ docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
854
+ fi
848
855
docker manifest push --purge ${MANIFESTIMAGE}:latest
849
856
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
850
857
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
851
- docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER}
858
+ if [ -n "${SEMVER}" ]; then
859
+ docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER}
860
+ fi
852
861
done
853
862
'''
854
863
}
@@ -858,15 +867,18 @@ pipeline {
858
867
${DELETEIMAGE}:amd64-${META_TAG} \
859
868
${DELETEIMAGE}:amd64-latest \
860
869
${DELETEIMAGE}:amd64-${EXT_RELEASE_TAG} \
861
- ${DELETEIMAGE}:amd64-${SEMVER} \
862
870
${DELETEIMAGE}:arm32v7-${META_TAG} \
863
871
${DELETEIMAGE}:arm32v7-latest \
864
872
${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \
865
- ${DELETEIMAGE}:arm32v7-${SEMVER} \
866
873
${DELETEIMAGE}:arm64v8-${META_TAG} \
867
874
${DELETEIMAGE}:arm64v8-latest \
868
- ${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} \
869
- ${DELETEIMAGE}:arm64v8-${SEMVER} || :
875
+ ${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
876
+ if [ -n "${SEMVER}" ]; then
877
+ docker rmi \
878
+ ${DELETEIMAGE}:amd64-${SEMVER} \
879
+ ${DELETEIMAGE}:arm32v7-${SEMVER} \
880
+ ${DELETEIMAGE}:arm64v8-${SEMVER} || :
881
+ fi
870
882
done
871
883
docker rmi \
872
884
ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
0 commit comments