mirror of
				https://github.com/linuxserver/docker-jellyfin.git
				synced 2025-11-01 05:27:38 +09:00 
			
		
		
		
	Bot Updating Templated Files
This commit is contained in:
		
							
								
								
									
										33
									
								
								.github/workflows/external_trigger.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										33
									
								
								.github/workflows/external_trigger.yml
									
									
									
									
										vendored
									
									
								
							| @@ -48,13 +48,30 @@ jobs: | |||||||
|             --header "Accept: application/vnd.oci.image.index.v1+json" \ |             --header "Accept: application/vnd.oci.image.index.v1+json" \ | ||||||
|             --header "Authorization: Bearer ${token}" \ |             --header "Authorization: Bearer ${token}" \ | ||||||
|             "https://ghcr.io/v2/${image}/manifests/${tag}") |             "https://ghcr.io/v2/${image}/manifests/${tag}") | ||||||
|           multidigest=$(jq -r ".manifests[] | select(.platform.architecture == \"amd64\").digest?" <<< "${multidigest}") |           if jq -e '.layers // empty' <<< "${multidigest}" >/dev/null 2>&1; then | ||||||
|           digest=$(curl -s \ |             # If there's a layer element it's a single-arch manifest so just get that digest | ||||||
|             --header "Accept: application/vnd.docker.distribution.manifest.v2+json" \ |             digest=$(jq -r '.config.digest' <<< "${multidigest}") | ||||||
|             --header "Accept: application/vnd.oci.image.manifest.v1+json" \ |           else | ||||||
|             --header "Authorization: Bearer ${token}" \ |             # Otherwise it's multi-arch or has manifest annotations | ||||||
|             "https://ghcr.io/v2/${image}/manifests/${multidigest}" \ |             if jq -e '.manifests[]?.annotations // empty' <<< "${multidigest}" >/dev/null 2>&1; then | ||||||
|             | jq -r '.config.digest') |               # Check for manifest annotations and delete if found | ||||||
|  |               multidigest=$(jq 'del(.manifests[] | select(.annotations))' <<< "${multidigest}") | ||||||
|  |             fi | ||||||
|  |             if [[ $(jq '.manifests | length' <<< "${multidigest}") -gt 1 ]]; then | ||||||
|  |               # If there's still more than one digest, it's multi-arch | ||||||
|  |               multidigest=$(jq -r ".manifests[] | select(.platform.architecture == \"amd64\").digest?" <<< "${multidigest}") | ||||||
|  |             else | ||||||
|  |               # Otherwise it's single arch | ||||||
|  |               multidigest=$(jq -r ".manifests[].digest?" <<< "${multidigest}") | ||||||
|  |             fi | ||||||
|  |             if digest=$(curl -s \ | ||||||
|  |               --header "Accept: application/vnd.docker.distribution.manifest.v2+json" \ | ||||||
|  |               --header "Accept: application/vnd.oci.image.manifest.v1+json" \ | ||||||
|  |               --header "Authorization: Bearer ${token}" \ | ||||||
|  |               "https://ghcr.io/v2/${image}/manifests/${multidigest}"); then | ||||||
|  |               digest=$(jq -r '.config.digest' <<< "${digest}"); | ||||||
|  |             fi | ||||||
|  |           fi | ||||||
|           image_info=$(curl -sL \ |           image_info=$(curl -sL \ | ||||||
|             --header "Authorization: Bearer ${token}" \ |             --header "Authorization: Bearer ${token}" \ | ||||||
|             "https://ghcr.io/v2/${image}/blobs/${digest}") |             "https://ghcr.io/v2/${image}/blobs/${digest}") | ||||||
| @@ -92,7 +109,7 @@ jobs: | |||||||
|             else |             else | ||||||
|               printf "\n## Trigger new build\n\n" >> $GITHUB_STEP_SUMMARY |               printf "\n## Trigger new build\n\n" >> $GITHUB_STEP_SUMMARY | ||||||
|               echo "New version \`${EXT_RELEASE}\` found; old version was \`${IMAGE_VERSION}\`. Triggering new build" >> $GITHUB_STEP_SUMMARY |               echo "New version \`${EXT_RELEASE}\` found; old version was \`${IMAGE_VERSION}\`. Triggering new build" >> $GITHUB_STEP_SUMMARY | ||||||
|               if "${artifacts_found}" == "true" ]]; then |               if [[ "${artifacts_found}" == "true" ]]; then | ||||||
|                 echo "All artifacts seem to be uploaded." >> $GITHUB_STEP_SUMMARY |                 echo "All artifacts seem to be uploaded." >> $GITHUB_STEP_SUMMARY | ||||||
|               fi |               fi | ||||||
|               response=$(curl -iX POST \ |               response=$(curl -iX POST \ | ||||||
|   | |||||||
							
								
								
									
										27
									
								
								.github/workflows/package_trigger_scheduler.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										27
									
								
								.github/workflows/package_trigger_scheduler.yml
									
									
									
									
										vendored
									
									
								
							| @@ -27,9 +27,18 @@ jobs: | |||||||
|             fi |             fi | ||||||
|             printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY |             printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY | ||||||
|             JENKINS_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-jellyfin/${br}/jenkins-vars.yml) |             JENKINS_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-jellyfin/${br}/jenkins-vars.yml) | ||||||
|             if [[ "${br}" == $(yq -r '.ls_branch' <<< "${JENKINS_VARS}") ]]; then |             if ! curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-jellyfin/${br}/Jenkinsfile >/dev/null 2>&1; then | ||||||
|  |               echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY | ||||||
|  |               echo "> No Jenkinsfile found. Branch is either deprecated or is an early dev branch." >> $GITHUB_STEP_SUMMARY | ||||||
|  |               skipped_branches="${skipped_branches}${br} " | ||||||
|  |             elif [[ "${br}" == $(yq -r '.ls_branch' <<< "${JENKINS_VARS}") ]]; then | ||||||
|               echo "Branch appears to be live; checking workflow." >> $GITHUB_STEP_SUMMARY |               echo "Branch appears to be live; checking workflow." >> $GITHUB_STEP_SUMMARY | ||||||
|               if [[ $(yq -r '.skip_package_check' <<< "${JENKINS_VARS}") == "true" ]]; then |               README_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-jellyfin/${br}/readme-vars.yml) | ||||||
|  |               if [[ $(yq -r '.project_deprecation_status' <<< "${README_VARS}") == "true" ]]; then | ||||||
|  |                 echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY | ||||||
|  |                 echo "> Branch appears to be deprecated; skipping trigger." >> $GITHUB_STEP_SUMMARY | ||||||
|  |                 skipped_branches="${skipped_branches}${br} " | ||||||
|  |               elif [[ $(yq -r '.skip_package_check' <<< "${JENKINS_VARS}") == "true" ]]; then | ||||||
|                 echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY |                 echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY | ||||||
|                 echo "> Skipping branch ${br} due to \`skip_package_check\` being set in \`jenkins-vars.yml\`." >> $GITHUB_STEP_SUMMARY |                 echo "> Skipping branch ${br} due to \`skip_package_check\` being set in \`jenkins-vars.yml\`." >> $GITHUB_STEP_SUMMARY | ||||||
|                 skipped_branches="${skipped_branches}${br} " |                 skipped_branches="${skipped_branches}${br} " | ||||||
| @@ -37,7 +46,7 @@ jobs: | |||||||
|                 echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY |                 echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY | ||||||
|                 echo "> Github organizational variable \`SKIP_PACKAGE_TRIGGER\` contains \`jellyfin_${br}\`; skipping trigger." >> $GITHUB_STEP_SUMMARY |                 echo "> Github organizational variable \`SKIP_PACKAGE_TRIGGER\` contains \`jellyfin_${br}\`; skipping trigger." >> $GITHUB_STEP_SUMMARY | ||||||
|                 skipped_branches="${skipped_branches}${br} " |                 skipped_branches="${skipped_branches}${br} " | ||||||
|               elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-jellyfin/job/${br}/lastBuild/api/json | jq -r '.building') == "true" ]; then |               elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-jellyfin/job/${br}/lastBuild/api/json | jq -r '.building' 2>/dev/null) == "true" ]; then | ||||||
|                 echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY |                 echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY | ||||||
|                 echo "> There already seems to be an active build on Jenkins; skipping package trigger for ${br}" >> $GITHUB_STEP_SUMMARY |                 echo "> There already seems to be an active build on Jenkins; skipping package trigger for ${br}" >> $GITHUB_STEP_SUMMARY | ||||||
|                 skipped_branches="${skipped_branches}${br} " |                 skipped_branches="${skipped_branches}${br} " | ||||||
| @@ -49,6 +58,11 @@ jobs: | |||||||
|                 response=$(curl -iX POST \ |                 response=$(curl -iX POST \ | ||||||
|                   https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-jellyfin/job/${br}/buildWithParameters?PACKAGE_CHECK=true \ |                   https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-jellyfin/job/${br}/buildWithParameters?PACKAGE_CHECK=true \ | ||||||
|                   --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|") |                   --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|") | ||||||
|  |                 if [[ -z "${response}" ]]; then | ||||||
|  |                   echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY | ||||||
|  |                   echo "> Jenkins build could not be triggered. Skipping branch." | ||||||
|  |                   continue | ||||||
|  |                 fi | ||||||
|                 echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY |                 echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY | ||||||
|                 echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY |                 echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY | ||||||
|                 sleep 10 |                 sleep 10 | ||||||
| @@ -56,11 +70,14 @@ jobs: | |||||||
|                 buildurl="${buildurl%$'\r'}" |                 buildurl="${buildurl%$'\r'}" | ||||||
|                 echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY |                 echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY | ||||||
|                 echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY |                 echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY | ||||||
|                 curl -iX POST \ |                 if ! curl -ifX POST \ | ||||||
|                   "${buildurl}submitDescription" \ |                   "${buildurl}submitDescription" \ | ||||||
|                   --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \ |                   --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \ | ||||||
|                   --data-urlencode "description=GHA package trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \ |                   --data-urlencode "description=GHA package trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \ | ||||||
|                   --data-urlencode "Submit=Submit" |                   --data-urlencode "Submit=Submit"; then | ||||||
|  |                   echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY | ||||||
|  |                   echo "> Unable to change the Jenkins job description." | ||||||
|  |                 fi | ||||||
|                 sleep 20 |                 sleep 20 | ||||||
|               fi |               fi | ||||||
|             else |             else | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user