@@ -293,7 +293,7 @@ pipeline {
293293 -v ${WORKSPACE}:/mnt \
294294 -e AWS_ACCESS_KEY_ID=\" ${S3_KEY}\" \
295295 -e AWS_SECRET_ACCESS_KEY=\" ${S3_SECRET}\" \
296- ghcr.io/linuxserver/baseimage-alpine:3.20 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\
296+ ghcr.io/linuxserver/baseimage-alpine:3 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\
297297 apk add --no-cache python3 && \
298298 python3 -m venv /lsiopy && \
299299 pip install --no-cache-dir -U pip && \
@@ -943,10 +943,10 @@ pipeline {
943943 fi
944944 done
945945 docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${META_TAG} -t ${PUSHIMAGE}:latest -t ${PUSHIMAGE}:${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
946- { [[ "${PUSHIMAGE}" != "${QUAYIMAGE}" ]] && exit 1; }
946+ { if [[ "${PUSHIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi ; }
947947 if [ -n "${SEMVER}" ]; then
948948 docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
949- { [[ "${PUSHIMAGE}" != "${QUAYIMAGE}" ]] && exit 1; }
949+ { if [[ "${PUSHIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi ; }
950950 fi
951951 done
952952 '''
@@ -972,26 +972,26 @@ pipeline {
972972 fi
973973 done
974974 docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${META_TAG} -t ${MANIFESTIMAGE}:amd64-latest -t ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
975- { [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]] && exit 1; }
975+ { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi ; }
976976 docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${META_TAG} -t ${MANIFESTIMAGE}:arm64v8-latest -t ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || \
977- { [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]] && exit 1; }
977+ { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi ; }
978978 if [ -n "${SEMVER}" ]; then
979979 docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
980- { [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]] && exit 1; }
980+ { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi ; }
981981 docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${SEMVER} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || \
982- { [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]] && exit 1; }
982+ { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi ; }
983983 fi
984984 done
985985 for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
986986 docker buildx imagetools create -t ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest || \
987- { [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]] && exit 1; }
987+ { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi ; }
988988 docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} || \
989- { [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]] && exit 1; }
989+ { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi ; }
990990 docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} || \
991- { [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]] && exit 1; }
991+ { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi ; }
992992 if [ -n "${SEMVER}" ]; then
993993 docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} || \
994- { [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]] && exit 1; }
994+ { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi ; }
995995 fi
996996 done
997997 '''
@@ -1009,26 +1009,26 @@ pipeline {
10091009 environment name : ' EXIT_STATUS' , value : ' '
10101010 }
10111011 steps {
1012- echo " Auto-generating release notes"
1013- sh ''' if [ "$(git tag --points-at HEAD)" != "" ]; then
1014- echo "Existing tag points to current commit, suggesting no new LS changes"
1015- AUTO_RELEASE_NOTES="No changes"
1016- else
1017- AUTO_RELEASE_NOTES=$(curl -fsL -H "Authorization: token ${GITHUB_TOKEN}" -H "Accept: application/vnd.github+json" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases/generate-notes \
1018- -d '{"tag_name":"'${META_TAG}'",\
1019- "target_commitish": "master"}' \
1020- | jq -r '.body' | sed 's|## What.s Changed||')
1021- fi'''
1022- echo " Pushing New tag for current commit ${ META_TAG} "
1023- sh ''' curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
1024- -d '{"tag":"'${META_TAG}'",\
1025- "object": "'${COMMIT_SHA}'",\
1026- "message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
1027- "type": "commit",\
1028- "tagger": {"name": "LinuxServer-CI","email": "ci@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
1029- echo " Pushing New release for Tag"
10301012 sh ''' #! /bin/bash
1031- curl -H "Authorization: token ${GITHUB_TOKEN}" -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq '. |.body' | sed 's:^.\\ (.*\\ ).$:\\ 1:' > releasebody.json
1013+ echo "Auto-generating release notes"
1014+ if [ "$(git tag --points-at HEAD)" != "" ]; then
1015+ echo "Existing tag points to current commit, suggesting no new LS changes"
1016+ AUTO_RELEASE_NOTES="No changes"
1017+ else
1018+ AUTO_RELEASE_NOTES=$(curl -fsL -H "Authorization: token ${GITHUB_TOKEN}" -H "Accept: application/vnd.github+json" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases/generate-notes \
1019+ -d '{"tag_name":"'${META_TAG}'",\
1020+ "target_commitish": "master"}' \
1021+ | jq -r '.body' | sed 's|## What.s Changed||')
1022+ fi
1023+ echo "Pushing New tag for current commit ${META_TAG}"
1024+ curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
1025+ -d '{"tag":"'${META_TAG}'",\
1026+ "object": "'${COMMIT_SHA}'",\
1027+ "message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
1028+ "type": "commit",\
1029+ "tagger": {"name": "LinuxServer-CI","email": "ci@linuxserver.io","date": "'${GITHUB_DATE}'"}}'
1030+ echo "Pushing New release for Tag"
1031+ curl -H "Authorization: token ${GITHUB_TOKEN}" -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq -r '. |.body' > releasebody.json
10321032 jq -n \
10331033 --arg tag_name "$META_TAG" \
10341034 --arg target_commitish "master" \
@@ -1042,7 +1042,8 @@ pipeline {
10421042 "body": ("**CI Report:**\\ n\\ n" + $ci_url + "\\ n\\ n**LinuxServer Changes:**\\ n\\ n" + $ls_notes + "\\ n\\ n**Remote Changes:**\\ n\\ n" + $remote_notes),
10431043 "draft": false,
10441044 "prerelease": false }' > releasebody.json.done
1045- curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
1045+ curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done
1046+ '''
10461047 }
10471048 }
10481049 // Add protection to the release branch
0 commit comments