@@ -27,17 +27,26 @@ jobs:
2727 fi
2828 printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY
2929 JENKINS_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-alpine-nginx/${br}/jenkins-vars.yml)
30- if [[ "${br}" == $(yq -r '.ls_branch' <<< "${JENKINS_VARS}") ]]; then
30+ if ! curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-alpine-nginx/${br}/Jenkinsfile >/dev/null 2>&1; then
31+ echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
32+ echo "> No Jenkinsfile found. Branch is either deprecated or is an early dev branch." >> $GITHUB_STEP_SUMMARY
33+ skipped_branches="${skipped_branches}${br} "
34+ elif [[ "${br}" == $(yq -r '.ls_branch' <<< "${JENKINS_VARS}") ]]; then
3135 echo "Branch appears to be live; checking workflow." >> $GITHUB_STEP_SUMMARY
32- if [[ $(yq -r '.skip_package_check' <<< "${JENKINS_VARS}") == "true" ]]; then
36+ README_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-baseimage-alpine-nginx/${br}/readme-vars.yml)
37+ if [[ $(yq -r '.project_deprecation_status' <<< "${README_VARS}") == "true" ]]; then
38+ echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
39+ echo "> Branch appears to be deprecated; skipping trigger." >> $GITHUB_STEP_SUMMARY
40+ skipped_branches="${skipped_branches}${br} "
41+ elif [[ $(yq -r '.skip_package_check' <<< "${JENKINS_VARS}") == "true" ]]; then
3342 echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
3443 echo "> Skipping branch ${br} due to \`skip_package_check\` being set in \`jenkins-vars.yml\`." >> $GITHUB_STEP_SUMMARY
3544 skipped_branches="${skipped_branches}${br} "
36- elif grep -wq "^baseimage-alpine-nginx_${br}$ " <<< "${SKIP_PACKAGE_TRIGGER}"; then
45+ elif grep -q "^baseimage-alpine-nginx_${br}" <<< "${SKIP_PACKAGE_TRIGGER}"; then
3746 echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
3847 echo "> Github organizational variable \`SKIP_PACKAGE_TRIGGER\` contains \`baseimage-alpine-nginx_${br}\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
3948 skipped_branches="${skipped_branches}${br} "
40- elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-baseimage-alpine-nginx/job/${br}/lastBuild/api/json | jq -r '.building') == "true" ]; then
49+ elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-baseimage-alpine-nginx/job/${br}/lastBuild/api/json | jq -r '.building' 2>/dev/null ) == "true" ]; then
4150 echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
4251 echo "> There already seems to be an active build on Jenkins; skipping package trigger for ${br}" >> $GITHUB_STEP_SUMMARY
4352 skipped_branches="${skipped_branches}${br} "
@@ -49,18 +58,26 @@ jobs:
4958 response=$(curl -iX POST \
5059 https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-baseimage-alpine-nginx/job/${br}/buildWithParameters?PACKAGE_CHECK=true \
5160 --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
61+ if [[ -z "${response}" ]]; then
62+ echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
63+ echo "> Jenkins build could not be triggered. Skipping branch."
64+ continue
65+ fi
5266 echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY
5367 echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY
5468 sleep 10
5569 buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
5670 buildurl="${buildurl%$'\r'}"
5771 echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY
5872 echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY
59- curl -iX POST \
73+ if ! curl -ifX POST \
6074 "${buildurl}submitDescription" \
6175 --user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
6276 --data-urlencode "description=GHA package trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
63- --data-urlencode "Submit=Submit"
77+ --data-urlencode "Submit=Submit"; then
78+ echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
79+ echo "> Unable to change the Jenkins job description."
80+ fi
6481 sleep 20
6582 fi
6683 else
@@ -70,13 +87,14 @@ jobs:
7087 if [[ -n "${triggered_branches}" ]] || [[ -n "${skipped_branches}" ]]; then
7188 if [[ -n "${triggered_branches}" ]]; then
7289 NOTIFY_BRANCHES="**Triggered:** ${triggered_branches} \n"
90+ NOTIFY_BUILD_URL="**Build URL:** https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-baseimage-alpine-nginx/activity/ \n"
91+ echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****"
7392 fi
7493 if [[ -n "${skipped_branches}" ]]; then
7594 NOTIFY_BRANCHES="${NOTIFY_BRANCHES}**Skipped:** ${skipped_branches} \n"
7695 fi
77- echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****"
7896 echo "**** Notifying Discord ****"
7997 curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
80- "description": "**Package Check Build(s) Triggered for baseimage-alpine-nginx** \n'"${NOTIFY_BRANCHES}"'**Build URL:** '"https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-baseimage-alpine-nginx/activity/"' \n "}],
98+ "description": "**Package Check Build(s) for baseimage-alpine-nginx** \n'"${NOTIFY_BRANCHES}"''"${NOTIFY_BUILD_URL}"' "}],
8199 "username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
82100 fi
0 commit comments