@ -12,17 +12,20 @@ jobs:
- name : External Trigger
- name : External Trigger
if : github.ref == 'refs/heads/master'
if : github.ref == 'refs/heads/master'
run : |
run : |
printf "# External trigger for docker-ubooquity\n\n" >> $GITHUB_STEP_SUMMARY
if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_UBOOQUITY_MASTER }}" ]; then
if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_UBOOQUITY_MASTER }}" ]; then
echo " **** Github secret PAUSE_EXTERNAL_TRIGGER_UBOOQUITY_MASTER is set; skipping trigger. ****"
echo " > [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo " Github secret \`PAUSE_EXTERNAL_TRIGGER_UBOOQUITY_MASTER\` is set; skipping trigger." >> $GITHUB_STEP_SUMMARY
echo " > Github secret \`PAUSE_EXTERNAL_TRIGGER_UBOOQUITY_MASTER\` is set; skipping trigger." >> $GITHUB_STEP_SUMMARY
exit 0
exit 0
fi
fi
echo " **** External trigger running off of master branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_UBOOQUITY_MASTER\". ****"
echo " > [!NOTE]" >> $GITHUB_STEP_SUMMARY
echo " External trigger running off of master branch. To disable this trigger, set a Github secret named \`PAUSE_EXTERNAL_TRIGGER_UBOOQUITY_MASTER\`" >> $GITHUB_STEP_SUMMARY
echo " > External trigger running off of master branch. To disable this trigger, set a Github secret named \`PAUSE_EXTERNAL_TRIGGER_UBOOQUITY_MASTER\`" >> $GITHUB_STEP_SUMMARY
echo "**** Retrieving external version ****"
printf "\n## Retrieving external version\n\n" >> $GITHUB_STEP_SUMMARY
EXT_RELEASE=$(curl -IsL -w %{url_effective} -o /dev/null http://vaemendis.net/ubooquity/service/download.php | sed 's|.*Ubooquity-\([0-9\.]*\).zip|\1|')
EXT_RELEASE=$(curl -IsL -w %{url_effective} -o /dev/null http://vaemendis.net/ubooquity/service/download.php | sed 's|.*Ubooquity-\([0-9\.]*\).zip|\1|')
echo "Type is \`custom_version_command\`" >> $GITHUB_STEP_SUMMARY
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
echo "**** Can't retrieve external version, exiting ****"
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "> Can't retrieve external version, exiting" >> $GITHUB_STEP_SUMMARY
FAILURE_REASON="Can't retrieve external version for ubooquity branch master"
FAILURE_REASON="Can't retrieve external version for ubooquity branch master"
GHA_TRIGGER_URL="https://github.com/linuxserver/docker-ubooquity/actions/runs/${{ github.run_id }}"
GHA_TRIGGER_URL="https://github.com/linuxserver/docker-ubooquity/actions/runs/${{ github.run_id }}"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
@ -31,9 +34,8 @@ jobs:
exit 1
exit 1
fi
fi
EXT_RELEASE=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
EXT_RELEASE=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
echo "**** External version: ${EXT_RELEASE} ****"
echo "External version: \`${EXT_RELEASE}\`" >> $GITHUB_STEP_SUMMARY
echo "External version: ${EXT_RELEASE}" >> $GITHUB_STEP_SUMMARY
echo "Retrieving last pushed version" >> $GITHUB_STEP_SUMMARY
echo "**** Retrieving last pushed version ****"
image="linuxserver/ubooquity"
image="linuxserver/ubooquity"
tag="latest"
tag="latest"
token=$(curl -sX GET \
token=$(curl -sX GET \
@ -60,37 +62,34 @@ jobs:
IMAGE_RELEASE=$(echo ${image_info} | jq -r '.Labels.build_version' | awk '{print $3}')
IMAGE_RELEASE=$(echo ${image_info} | jq -r '.Labels.build_version' | awk '{print $3}')
IMAGE_VERSION=$(echo ${IMAGE_RELEASE} | awk -F'-ls' '{print $1}')
IMAGE_VERSION=$(echo ${IMAGE_RELEASE} | awk -F'-ls' '{print $1}')
if [ -z "${IMAGE_VERSION}" ]; then
if [ -z "${IMAGE_VERSION}" ]; then
echo "**** Can't retrieve last pushed version, exiting ****"
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
echo "Can't retrieve last pushed version, exiting" >> $GITHUB_STEP_SUMMARY
FAILURE_REASON="Can't retrieve last pushed version for ubooquity tag latest"
FAILURE_REASON="Can't retrieve last pushed version for ubooquity tag latest"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
"description": "**Trigger Failed** \n**Reason:** '" ${FAILURE_REASON}"' \n"}],
"description": "**Trigger Failed** \n**Reason:** '" ${FAILURE_REASON}"' \n"}],
"username": "Github Actions" }' ${{ secrets.DISCORD_WEBHOOK }}
"username": "Github Actions" }' ${{ secrets.DISCORD_WEBHOOK }}
exit 1
exit 1
fi
fi
echo "**** Last pushed version: ${IMAGE_VERSION} ****"
echo "Last pushed version: \`${IMAGE_VERSION}\`" >> $GITHUB_STEP_SUMMARY
echo "Last pushed version: ${IMAGE_VERSION}" >> $GITHUB_STEP_SUMMARY
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
echo "**** Version ${EXT_RELEASE} already pushed, exiting ****"
echo "Version \`${EXT_RELEASE}\` already pushed, exiting" >> $GITHUB_STEP_SUMMARY
echo "Version ${EXT_RELEASE} already pushed, exiting" >> $GITHUB_STEP_SUMMARY
exit 0
exit 0
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-ubooquity/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-ubooquity/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then
echo "**** New version ${EXT_RELEASE} found; but there already seems to be an active build on Jenkins; exiting ****"
echo "New version \`${EXT_RELEASE}\` found; but there already seems to be an active build on Jenkins; exiting" >> $GITHUB_STEP_SUMMARY
echo "New version ${EXT_RELEASE} found; but there already seems to be an active build on Jenkins; exiting" >> $GITHUB_STEP_SUMMARY
exit 0
exit 0
else
else
echo "**** New version ${EXT_RELEASE} found; old version was ${IMAGE_VERSION}. Triggering new build ****"
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
response=$(curl -iX POST \
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-ubooquity/job/master/buildWithParameters?PACKAGE_CHECK=false \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-ubooquity/job/master/buildWithParameters?PACKAGE_CHECK=false \
--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|")
echo " **** Jenkins job queue url: ${response%$'\r'} ****"
echo " Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY
echo " **** Sleeping 10 seconds until job starts ****"
echo " Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY
sleep 10
sleep 10
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
buildurl="${buildurl%$'\r'}"
buildurl="${buildurl%$'\r'}"
echo "**** Jenkins job build url: ${buildurl} ****"
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 ****"
curl -iX POST \
curl -iX POST \
"${buildurl}submitDescription" \
"${buildurl}submitDescription" \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \