mirror of
				https://github.com/linuxserver/docker-jellyfin.git
				synced 2025-10-31 04:57:38 +09:00 
			
		
		
		
	Bot Updating Templated Files
This commit is contained in:
		
							
								
								
									
										77
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										77
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
								
							| @@ -231,10 +231,53 @@ pipeline { | |||||||
|               TEMPDIR=$(mktemp -d) |               TEMPDIR=$(mktemp -d) | ||||||
|               docker pull ghcr.io/linuxserver/jenkins-builder:latest |               docker pull ghcr.io/linuxserver/jenkins-builder:latest | ||||||
|               docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest  |               docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest  | ||||||
|  |               # Stage 1 - Jenkinsfile update | ||||||
|  |               if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then | ||||||
|  |                 mkdir -p ${TEMPDIR}/repo | ||||||
|  |                 git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} | ||||||
|  |                 cd ${TEMPDIR}/repo/${LS_REPO} | ||||||
|  |                 git checkout -f master | ||||||
|  |                 cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/ | ||||||
|  |                 git add Jenkinsfile | ||||||
|  |                 git commit -m 'Bot Updating Templated Files' | ||||||
|  |                 git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all | ||||||
|  |                 echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} | ||||||
|  |                 echo "Updating Jenkinsfile" | ||||||
|  |                 rm -Rf ${TEMPDIR} | ||||||
|  |                 exit 0 | ||||||
|  |               else | ||||||
|  |                 echo "Jenkinsfile is up to date." | ||||||
|  |               fi | ||||||
|  |               # Stage 2 - Delete old templates | ||||||
|  |               OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md" | ||||||
|  |               for i in ${OLD_TEMPLATES}; do | ||||||
|  |                 if [[ -f "${i}" ]]; then | ||||||
|  |                   TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}" | ||||||
|  |                 fi | ||||||
|  |               done | ||||||
|  |               if [[ -n "${TEMPLATES_TO_DELETE}" ]]; then | ||||||
|  |                 mkdir -p ${TEMPDIR}/repo | ||||||
|  |                 git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} | ||||||
|  |                 cd ${TEMPDIR}/repo/${LS_REPO} | ||||||
|  |                 git checkout -f master | ||||||
|  |                 cd ${TEMPDIR}/docker-${CONTAINER_NAME} | ||||||
|  |                 for i in ${TEMPLATES_TO_DELETE}; do | ||||||
|  |                   git rm "${i}" | ||||||
|  |                 done | ||||||
|  |                 git commit -m 'Bot Updating Templated Files' | ||||||
|  |                 git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all | ||||||
|  |                 echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} | ||||||
|  |                 echo "Deleting old templates" | ||||||
|  |                 rm -Rf ${TEMPDIR} | ||||||
|  |                 exit 0 | ||||||
|  |               else | ||||||
|  |                 echo "No templates to delete" | ||||||
|  |               fi | ||||||
|  |               # Stage 3 - Update templates | ||||||
|               CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) |               CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) | ||||||
|               cd ${TEMPDIR}/docker-${CONTAINER_NAME} |               cd ${TEMPDIR}/docker-${CONTAINER_NAME} | ||||||
|               NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) |               NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) | ||||||
|               if [[ "${CURRENTHASH}" != "${NEWHASH}" ]]; then |               if [[ "${CURRENTHASH}" != "${NEWHASH}" ]] || ! grep -q '.jenkins-external' "${WORKSPACE}/.gitignore" 2>/dev/null; then | ||||||
|                 mkdir -p ${TEMPDIR}/repo |                 mkdir -p ${TEMPDIR}/repo | ||||||
|                 git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} |                 git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO} | ||||||
|                 cd ${TEMPDIR}/repo/${LS_REPO} |                 cd ${TEMPDIR}/repo/${LS_REPO} | ||||||
| @@ -242,11 +285,13 @@ pipeline { | |||||||
|                 cd ${TEMPDIR}/docker-${CONTAINER_NAME} |                 cd ${TEMPDIR}/docker-${CONTAINER_NAME} | ||||||
|                 mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows |                 mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows | ||||||
|                 mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE |                 mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE | ||||||
|                 rm -f ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE.md |  | ||||||
|                 cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || : |                 cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/ || : | ||||||
|                 cd ${TEMPDIR}/repo/${LS_REPO}/ |                 cd ${TEMPDIR}/repo/${LS_REPO}/ | ||||||
|  |                 if ! grep -q '.jenkins-external' .gitignore 2>/dev/null; then | ||||||
|  |                   echo ".jenkins-external" >> .gitignore | ||||||
|  |                   git add .gitignore | ||||||
|  |                 fi | ||||||
|                 git add ${TEMPLATED_FILES} |                 git add ${TEMPLATED_FILES} | ||||||
|                 git rm .github/ISSUE_TEMPLATE.md || : |  | ||||||
|                 git commit -m 'Bot Updating Templated Files' |                 git commit -m 'Bot Updating Templated Files' | ||||||
|                 git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all |                 git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all | ||||||
|                 echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} |                 echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} | ||||||
| @@ -255,8 +300,8 @@ pipeline { | |||||||
|               fi |               fi | ||||||
|               mkdir -p ${TEMPDIR}/gitbook |               mkdir -p ${TEMPDIR}/gitbook | ||||||
|               git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation |               git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation | ||||||
|               if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then |               if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then | ||||||
|                 cp ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/ |                 cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/ | ||||||
|                 cd ${TEMPDIR}/gitbook/docker-documentation/ |                 cd ${TEMPDIR}/gitbook/docker-documentation/ | ||||||
|                 git add images/docker-${CONTAINER_NAME}.md |                 git add images/docker-${CONTAINER_NAME}.md | ||||||
|                 git commit -m 'Bot Updating Documentation' |                 git commit -m 'Bot Updating Documentation' | ||||||
| @@ -266,13 +311,13 @@ pipeline { | |||||||
|               git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates |               git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates | ||||||
|               git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates |               git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates | ||||||
|               if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then |               if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then | ||||||
|                 sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/${CONTAINER_NAME}.xml |                 sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | ||||||
|               fi |               fi | ||||||
|               if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then |               if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then | ||||||
|                 if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then |                 if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then | ||||||
|                   echo "Image is on the ignore list, skipping Unraid template upload" |                   echo "Image is on the ignore list, skipping Unraid template upload" | ||||||
|                 else |                 else | ||||||
|                   cp ${TEMPDIR}/docker-${CONTAINER_NAME}/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ |                   cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ | ||||||
|                   cd ${TEMPDIR}/unraid/templates/ |                   cd ${TEMPDIR}/unraid/templates/ | ||||||
|                   git add unraid/${CONTAINER_NAME}.xml |                   git add unraid/${CONTAINER_NAME}.xml | ||||||
|                   git commit -m 'Bot Updating Unraid Template' |                   git commit -m 'Bot Updating Unraid Template' | ||||||
| @@ -512,7 +557,7 @@ pipeline { | |||||||
|           } |           } | ||||||
|           sh '''#! /bin/bash |           sh '''#! /bin/bash | ||||||
|                 set -e |                 set -e | ||||||
|                 docker pull ghcr.io/linuxserver/lsiodev-ci:latest |                 docker pull ghcr.io/linuxserver/ci:latest | ||||||
|                 if [ "${MULTIARCH}" == "true" ]; then |                 if [ "${MULTIARCH}" == "true" ]; then | ||||||
|                   docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} |                   docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} | ||||||
|                   docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} |                   docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} | ||||||
| @@ -537,7 +582,7 @@ pipeline { | |||||||
|                 -e WEB_PATH=\"${CI_WEBPATH}\" \ |                 -e WEB_PATH=\"${CI_WEBPATH}\" \ | ||||||
|                 -e DO_REGION="ams3" \ |                 -e DO_REGION="ams3" \ | ||||||
|                 -e DO_BUCKET="lsio-ci" \ |                 -e DO_BUCKET="lsio-ci" \ | ||||||
|                 -t ghcr.io/linuxserver/lsiodev-ci:latest \ |                 -t ghcr.io/linuxserver/ci:latest \ | ||||||
|                 python /ci/ci.py''' |                 python /ci/ci.py''' | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
| @@ -682,9 +727,9 @@ pipeline { | |||||||
|         environment name: 'EXIT_STATUS', value: '' |         environment name: 'EXIT_STATUS', value: '' | ||||||
|       } |       } | ||||||
|       steps { |       steps { | ||||||
|         echo "Pushing New tag for current commit ${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}" |         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":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\ |         -d '{"tag":"'${META_TAG}'",\ | ||||||
|              "object": "'${COMMIT_SHA}'",\ |              "object": "'${COMMIT_SHA}'",\ | ||||||
|              "message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\ |              "message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\ | ||||||
|              "type": "commit",\ |              "type": "commit",\ | ||||||
| @@ -692,9 +737,9 @@ pipeline { | |||||||
|         echo "Pushing New release for Tag" |         echo "Pushing New release for Tag" | ||||||
|         sh '''#! /bin/bash |         sh '''#! /bin/bash | ||||||
|               echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json |               echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json | ||||||
|               echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\ |               echo '{"tag_name":"'${META_TAG}'",\ | ||||||
|                      "target_commitish": "master",\ |                      "target_commitish": "master",\ | ||||||
|                      "name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\ |                      "name": "'${META_TAG}'",\ | ||||||
|                      "body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**Remote Changes:**\\n\\n' > start |                      "body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**Remote Changes:**\\n\\n' > start | ||||||
|               printf '","draft": false,"prerelease": false}' >> releasebody.json |               printf '","draft": false,"prerelease": false}' >> releasebody.json | ||||||
|               paste -d'\\0' start releasebody.json > releasebody.json.done |               paste -d'\\0' start releasebody.json > releasebody.json.done | ||||||
| @@ -721,7 +766,7 @@ pipeline { | |||||||
|                 TEMPDIR=$(mktemp -d) |                 TEMPDIR=$(mktemp -d) | ||||||
|                 docker pull ghcr.io/linuxserver/jenkins-builder:latest |                 docker pull ghcr.io/linuxserver/jenkins-builder:latest | ||||||
|                 docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH="${BRANCH_NAME}" -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest  |                 docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH="${BRANCH_NAME}" -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest  | ||||||
|                 docker pull ghcr.io/linuxserver/lsiodev-readme-sync |                 docker pull ghcr.io/linuxserver/readme-sync | ||||||
|                 docker run --rm=true \ |                 docker run --rm=true \ | ||||||
|                   -e DOCKERHUB_USERNAME=$DOCKERUSER \ |                   -e DOCKERHUB_USERNAME=$DOCKERUSER \ | ||||||
|                   -e DOCKERHUB_PASSWORD=$DOCKERPASS \ |                   -e DOCKERHUB_PASSWORD=$DOCKERPASS \ | ||||||
| @@ -729,7 +774,7 @@ pipeline { | |||||||
|                   -e DOCKER_REPOSITORY=${IMAGE} \ |                   -e DOCKER_REPOSITORY=${IMAGE} \ | ||||||
|                   -e GIT_BRANCH=master \ |                   -e GIT_BRANCH=master \ | ||||||
|                   -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \ |                   -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/mnt \ | ||||||
|                   ghcr.io/linuxserver/lsiodev-readme-sync bash -c 'node sync' |                   ghcr.io/linuxserver/readme-sync bash -c 'node sync' | ||||||
|                 rm -Rf ${TEMPDIR} ''' |                 rm -Rf ${TEMPDIR} ''' | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user