Skip to content

Commit d52b9b8

Browse files
authored
Gracefully handle getbukkit.org outage when resolving version (#2675)
1 parent b957e4c commit d52b9b8

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ RUN easy-add --var os=${TARGETOS} --var arch=${TARGETARCH}${TARGETVARIANT} \
4949
--var version=${MC_SERVER_RUNNER_VERSION} --var app=mc-server-runner --file {{.app}} \
5050
--from ${GITHUB_BASEURL}/itzg/{{.app}}/releases/download/{{.version}}/{{.app}}_{{.version}}_{{.os}}_{{.arch}}.tar.gz
5151

52-
ARG MC_HELPER_VERSION=1.38.3
52+
ARG MC_HELPER_VERSION=1.38.4
5353
ARG MC_HELPER_BASE_URL=${GITHUB_BASEURL}/itzg/mc-image-helper/releases/download/${MC_HELPER_VERSION}
5454
# used for cache busting local copy of mc-image-helper
5555
ARG MC_HELPER_REV=1

scripts/start-deployBukkitSpigot

+10-7
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
. "${SCRIPTS:-/}start-utils"
55
isDebugging && set -x
66

7-
set -e
7+
set -eo pipefail
88

99
function buildSpigotFromSource {
1010
if [[ ${TYPE^^} = *BUKKIT ]] && ! versionLessThan "1.14"; then
@@ -25,14 +25,14 @@ function buildSpigotFromSource {
2525

2626
case ${TYPE^^} in
2727
SPIGOT)
28-
if ! mv spigot-*.jar /data/${SERVER}; then
28+
if ! mv spigot-*.jar "/data/${SERVER}"; then
2929
log "ERR failed to build Spigot"
3030
cat /data/spigot_build.log
3131
exit 1
3232
fi
3333
;;
3434
*BUKKIT)
35-
if ! mv craftbukkit-*.jar /data/${SERVER}; then
35+
if ! mv craftbukkit-*.jar "/data/${SERVER}"; then
3636
log "ERR failed to build Spigot"
3737
cat /data/spigot_build.log
3838
exit 1
@@ -61,11 +61,14 @@ function downloadSpigot {
6161
esac
6262

6363
if [[ ${VERSION^^} = LATEST ]]; then
64-
VERSION=$(restify https://getbukkit.org/download/spigot --attribute='property=og:title' | jq -r '.[0] | .attributes | select(.property == "og:title") | .content | split(" ") | .[-1]')
64+
if ! VERSION=$(restify https://getbukkit.org/download/spigot --attribute='property=og:title' | jq -r '.[0] | .attributes | select(.property == "og:title") | .content | split(" ") | .[-1]'); then
65+
log "ERROR: failed to retrieve latest version from https://getbukkit.org/download/spigot -- site might be down"
66+
exit 1
67+
fi
6568
fi
6669

6770
if [[ -z $downloadUrl ]]; then
68-
if versionLessThan 1.16.5 || ([[ ${getbukkitFlavor} = "craftbukkit" ]] && [[ ${VERSION} = "1.16.5" ]]); then
71+
if versionLessThan 1.16.5 || { [[ ${getbukkitFlavor} = "craftbukkit" ]] && [[ ${VERSION} = "1.16.5" ]] ; }; then
6972
downloadUrl="https://cdn.getbukkit.org/${getbukkitFlavor}/${getbukkitFlavor}-${VERSION}.jar"
7073
else
7174
downloadUrl="https://download.getbukkit.org/${getbukkitFlavor}/${getbukkitFlavor}-${VERSION}.jar"
@@ -82,7 +85,7 @@ function downloadSpigot {
8285
fi
8386
log "Downloading $match from $downloadUrl ..."
8487
curl -fsSL -o "$SERVER" $curlArgs "$downloadUrl"
85-
if [[ $? != 0 || $(grep -c "DOCTYPE html" $SERVER) != 0 ]]; then
88+
if [[ $? != 0 || $(grep -c "DOCTYPE html" "$SERVER") != 0 ]]; then
8689
cat <<EOF
8790
8891
ERROR: failed to download from $downloadUrl
@@ -130,4 +133,4 @@ fi
130133
# Normalize on Spigot for operations below
131134
export FAMILY=SPIGOT
132135

133-
exec ${SCRIPTS:-/}start-spiget "$@"
136+
exec "${SCRIPTS:-/}start-spiget" "$@"

0 commit comments

Comments
 (0)