mirror of
				https://github.com/linuxserver/docker-transmission.git
				synced 2025-10-31 00:45:47 +01:00 
			
		
		
		
	Bot Updating Templated Files
This commit is contained in:
		
							
								
								
									
										89
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										89
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
								
							| @@ -212,6 +212,7 @@ pipeline { | |||||||
|           env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER |           env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER | ||||||
|           env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN |           env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN | ||||||
|           env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache' |           env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache' | ||||||
|  |           env.CITEST_IMAGETAG = 'latest' | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
| @@ -237,6 +238,7 @@ pipeline { | |||||||
|           env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN |           env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN | ||||||
|           env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/' |           env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/' | ||||||
|           env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache' |           env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache' | ||||||
|  |           env.CITEST_IMAGETAG = 'develop' | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
| @@ -262,6 +264,7 @@ pipeline { | |||||||
|           env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST |           env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST | ||||||
|           env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/' |           env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/' | ||||||
|           env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache' |           env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache' | ||||||
|  |           env.CITEST_IMAGETAG = 'develop' | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
| @@ -284,7 +287,7 @@ pipeline { | |||||||
|                   -v ${WORKSPACE}:/mnt \ |                   -v ${WORKSPACE}:/mnt \ | ||||||
|                   -e AWS_ACCESS_KEY_ID=\"${S3_KEY}\" \ |                   -e AWS_ACCESS_KEY_ID=\"${S3_KEY}\" \ | ||||||
|                   -e AWS_SECRET_ACCESS_KEY=\"${S3_SECRET}\" \ |                   -e AWS_SECRET_ACCESS_KEY=\"${S3_SECRET}\" \ | ||||||
|                   ghcr.io/linuxserver/baseimage-alpine:3.20 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\ |                   ghcr.io/linuxserver/baseimage-alpine:3 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\ | ||||||
|                     apk add --no-cache python3 && \ |                     apk add --no-cache python3 && \ | ||||||
|                     python3 -m venv /lsiopy && \ |                     python3 -m venv /lsiopy && \ | ||||||
|                     pip install --no-cache-dir -U pip && \ |                     pip install --no-cache-dir -U pip && \ | ||||||
| @@ -619,13 +622,16 @@ pipeline { | |||||||
|                     echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin |                     echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin | ||||||
|                     echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin |                     echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin | ||||||
|                     echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin |                     echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin | ||||||
|  |  | ||||||
|                     if [[ "${PACKAGE_CHECK}" != "true" ]]; then |                     if [[ "${PACKAGE_CHECK}" != "true" ]]; then | ||||||
|  |                       declare -A pids | ||||||
|                       IFS=',' read -ra CACHE <<< "$BUILDCACHE" |                       IFS=',' read -ra CACHE <<< "$BUILDCACHE" | ||||||
|                       for i in "${CACHE[@]}"; do |                       for i in "${CACHE[@]}"; do | ||||||
|                         docker push ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} & |                         docker push ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} & | ||||||
|  |                         pids[$!]="$i" | ||||||
|                       done |                       done | ||||||
|                       for p in $(jobs -p); do |                       for p in "${!pids[@]}"; do | ||||||
|                         wait "$p" || { echo "job $p failed" >&2; exit 1; } |                         wait "$p" || { [[ "${pids[$p]}" != *"quay.io"* ]] && exit 1; } | ||||||
|                       done |                       done | ||||||
|                     fi |                     fi | ||||||
|                 ''' |                 ''' | ||||||
| @@ -685,13 +691,16 @@ pipeline { | |||||||
|                         echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin |                         echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin | ||||||
|                         echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin |                         echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin | ||||||
|                         echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin |                         echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin | ||||||
|  |  | ||||||
|                         if [[ "${PACKAGE_CHECK}" != "true" ]]; then |                         if [[ "${PACKAGE_CHECK}" != "true" ]]; then | ||||||
|  |                           declare -A pids | ||||||
|                           IFS=',' read -ra CACHE <<< "$BUILDCACHE" |                           IFS=',' read -ra CACHE <<< "$BUILDCACHE" | ||||||
|                           for i in "${CACHE[@]}"; do |                           for i in "${CACHE[@]}"; do | ||||||
|                             docker push ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} & |                             docker push ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} & | ||||||
|  |                             pids[$!]="$i" | ||||||
|                           done |                           done | ||||||
|                           for p in $(jobs -p); do |                           for p in "${!pids[@]}"; do | ||||||
|                             wait "$p" || { echo "job $p failed" >&2; exit 1; } |                             wait "$p" || { [[ "${pids[$p]}" != *"quay.io"* ]] && exit 1; } | ||||||
|                           done |                           done | ||||||
|                         fi |                         fi | ||||||
|                     ''' |                     ''' | ||||||
| @@ -745,12 +754,14 @@ pipeline { | |||||||
|                         echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin |                         echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin | ||||||
|                         echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin |                         echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin | ||||||
|                         if [[ "${PACKAGE_CHECK}" != "true" ]]; then |                         if [[ "${PACKAGE_CHECK}" != "true" ]]; then | ||||||
|  |                           declare -A pids | ||||||
|                           IFS=',' read -ra CACHE <<< "$BUILDCACHE" |                           IFS=',' read -ra CACHE <<< "$BUILDCACHE" | ||||||
|                           for i in "${CACHE[@]}"; do |                           for i in "${CACHE[@]}"; do | ||||||
|                             docker push ${i}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} & |                             docker push ${i}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} & | ||||||
|  |                             pids[$!]="$i" | ||||||
|                           done |                           done | ||||||
|                           for p in $(jobs -p); do |                           for p in "${!pids[@]}"; do | ||||||
|                             wait "$p" || { echo "job $p failed" >&2; exit 1; } |                             wait "$p" || { [[ "${pids[$p]}" != *"quay.io"* ]] && exit 1; } | ||||||
|                           done |                           done | ||||||
|                         fi |                         fi | ||||||
|                     ''' |                     ''' | ||||||
| @@ -875,7 +886,7 @@ pipeline { | |||||||
|                     CI_DOCKERENV="LSIO_FIRST_PARTY=true" |                     CI_DOCKERENV="LSIO_FIRST_PARTY=true" | ||||||
|                   fi |                   fi | ||||||
|                 fi |                 fi | ||||||
|                 docker pull ghcr.io/linuxserver/ci:latest |                 docker pull ghcr.io/linuxserver/ci:${CITEST_IMAGETAG} | ||||||
|                 if [ "${MULTIARCH}" == "true" ]; then |                 if [ "${MULTIARCH}" == "true" ]; then | ||||||
|                   docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} --platform=arm64 |                   docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} --platform=arm64 | ||||||
|                   docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} |                   docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} | ||||||
| @@ -899,7 +910,7 @@ pipeline { | |||||||
|                 -e WEB_PATH=\"${CI_WEBPATH}\" \ |                 -e WEB_PATH=\"${CI_WEBPATH}\" \ | ||||||
|                 -e NODE_NAME=\"${NODE_NAME}\" \ |                 -e NODE_NAME=\"${NODE_NAME}\" \ | ||||||
|                 -e SYFT_IMAGE_TAG=\"${CI_SYFT_IMAGE_TAG:-${SYFT_IMAGE_TAG}}\" \ |                 -e SYFT_IMAGE_TAG=\"${CI_SYFT_IMAGE_TAG:-${SYFT_IMAGE_TAG}}\" \ | ||||||
|                 -t ghcr.io/linuxserver/ci:latest \ |                 -t ghcr.io/linuxserver/ci:${CITEST_IMAGETAG} \ | ||||||
|                 python3 test_build.py''' |                 python3 test_build.py''' | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
| @@ -925,9 +936,11 @@ pipeline { | |||||||
|                           CACHEIMAGE=${i} |                           CACHEIMAGE=${i} | ||||||
|                       fi |                       fi | ||||||
|                   done |                   done | ||||||
|                   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} |                   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} || \ | ||||||
|  |                     { if [[ "${PUSHIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; } | ||||||
|                   if [ -n "${SEMVER}" ]; then |                   if [ -n "${SEMVER}" ]; then | ||||||
|                     docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} |                     docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \ | ||||||
|  |                       { if [[ "${PUSHIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; } | ||||||
|                   fi |                   fi | ||||||
|                 done |                 done | ||||||
|               ''' |               ''' | ||||||
| @@ -952,20 +965,27 @@ pipeline { | |||||||
|                           CACHEIMAGE=${i} |                           CACHEIMAGE=${i} | ||||||
|                       fi |                       fi | ||||||
|                   done |                   done | ||||||
|                   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} |                   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} || \ | ||||||
|                   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} |                     { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; } | ||||||
|  |                   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} || \ | ||||||
|  |                     { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; } | ||||||
|                   if [ -n "${SEMVER}" ]; then |                   if [ -n "${SEMVER}" ]; then | ||||||
|                     docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} |                     docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \ | ||||||
|                     docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${SEMVER} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} |                       { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; } | ||||||
|  |                     docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${SEMVER} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || \ | ||||||
|  |                       { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; } | ||||||
|                   fi |                   fi | ||||||
|                 done |                 done | ||||||
|                 for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do |                 for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do | ||||||
|                   docker buildx imagetools create -t ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest |                   docker buildx imagetools create -t ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest || \ | ||||||
|                   docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} |                     { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; } | ||||||
|  |                   docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} || \ | ||||||
|                   docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} |                     { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; } | ||||||
|  |                   docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} || \ | ||||||
|  |                     { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; } | ||||||
|                   if [ -n "${SEMVER}" ]; then |                   if [ -n "${SEMVER}" ]; then | ||||||
|                     docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} |                     docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} || \ | ||||||
|  |                       { if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; } | ||||||
|                   fi |                   fi | ||||||
|                 done |                 done | ||||||
|               ''' |               ''' | ||||||
| @@ -983,6 +1003,16 @@ pipeline { | |||||||
|         environment name: 'EXIT_STATUS', value: '' |         environment name: 'EXIT_STATUS', value: '' | ||||||
|       } |       } | ||||||
|       steps { |       steps { | ||||||
|  |         echo "Auto-generating release notes" | ||||||
|  |         sh '''if [ "$(git tag --points-at HEAD)" != "" ]; then | ||||||
|  |             echo "Existing tag points to current commit, suggesting no new LS changes" | ||||||
|  |             AUTO_RELEASE_NOTES="No changes" | ||||||
|  |           else | ||||||
|  |             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  \ | ||||||
|  |               -d '{"tag_name":"'${META_TAG}'",\ | ||||||
|  |                   "target_commitish": "master"}' \ | ||||||
|  |               | jq -r '.body' | sed 's|## What.s Changed||') | ||||||
|  |           fi''' | ||||||
|         echo "Pushing New tag for current commit ${META_TAG}" |         echo "Pushing New tag for current commit ${META_TAG}" | ||||||
|         sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \ |         sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \ | ||||||
|         -d '{"tag":"'${META_TAG}'",\ |         -d '{"tag":"'${META_TAG}'",\ | ||||||
| @@ -993,12 +1023,19 @@ pipeline { | |||||||
|         echo "Pushing New release for Tag" |         echo "Pushing New release for Tag" | ||||||
|         sh '''#! /bin/bash |         sh '''#! /bin/bash | ||||||
|               echo "Updating external repo packages to ${EXT_RELEASE_CLEAN}" > releasebody.json |               echo "Updating external repo packages to ${EXT_RELEASE_CLEAN}" > releasebody.json | ||||||
|               echo '{"tag_name":"'${META_TAG}'",\ |               jq -n \ | ||||||
|                      "target_commitish": "master",\ |                 --arg tag_name "$META_TAG" \ | ||||||
|                      "name": "'${META_TAG}'",\ |                 --arg target_commitish "master" \ | ||||||
|                      "body": "**CI Report:**\\n\\n'${CI_URL:-N/A}'\\n\\n**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**Remote Changes:**\\n\\n' > start |                 --arg ci_url "${CI_URL:-N/A}" \ | ||||||
|               printf '","draft": false,"prerelease": false}' >> releasebody.json |                 --arg ls_notes "$AUTO_RELEASE_NOTES" \ | ||||||
|               paste -d'\\0' start releasebody.json > releasebody.json.done |                 --arg remote_notes "$(cat releasebody.json)" \ | ||||||
|  |                 '{ | ||||||
|  |                   "tag_name": $tag_name, | ||||||
|  |                   "target_commitish": $target_commitish, | ||||||
|  |                   "name": $tag_name, | ||||||
|  |                   "body": ("**CI Report:**\\n\\n" + $ci_url + "\\n\\n**LinuxServer Changes:**\\n\\n" + $ls_notes + "\\n\\n**Remote Changes:**\\n\\n" + $remote_notes), | ||||||
|  |                   "draft": false, | ||||||
|  |                   "prerelease": false                }' > releasebody.json.done | ||||||
|               curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done''' |               curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done''' | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user