]> git.xonotic.org Git - xonotic/xonotic.git/blobdiff - misc/tools/xonotic-map-compiler-autobuild
Merge branch 'patch-1' into 'master'
[xonotic/xonotic.git] / misc / tools / xonotic-map-compiler-autobuild
index 08c902ca90f65f8044dfe74e1cbf3cd79fbabb81..f8f3455206619a2b1c5ac3a5ca8b95154bd9e9dd 100755 (executable)
@@ -164,7 +164,8 @@ buildthemap()
        blobhash=$4
        commithash=$5
        if lwp-request -m HEAD "$url$M-$blobhash.pk3"; then
-               continue
+               # already compiled
+               return
        fi
 
        git reset --hard
@@ -184,36 +185,21 @@ buildthemap()
                is_nosrgb=false
        fi
        allow_build=true
-       case "$M" in
-               afterslime|dance|drain|glowplant|leave_em_behind|newtonian-nightmare|nexballarena|oilrig|red-planet|runningmanctf|runningman|space-elevator|stormkeep|techassault|xoylent)
-                       if $is_nosrgb; then
+       if $is_nosrgb; then
+               case "$REFNAME" in
+                       master|refs/heads/master|origin/master|refs/remotes/origin/master)
                                if [ -n "$IRCSPAM" ]; then
-                                       echo "\ 38NOTE:\ f map $M still uses -nosRGB. This should eventually get fixed." | $IRCSPAM || true
+                                       echo "\ 34ERROR: map $M uses -nosRGB. This is not acceptable in master. Please fix." | $IRCSPAM || true
                                fi
-                       else
+                               allow_build=false
+                               ;;
+                       *)
                                if [ -n "$IRCSPAM" ]; then
-                                       echo "\ 39CONGRATULATIONS: map $M does not use -nosRGB any more. Please remove the map name from the list in xonotic-map-compiler-autobuild once this is merged to master." | $IRCSPAM || true
+                                       echo "\ 34WARNING:\ f map $M uses -nosRGB. This is not acceptable in master. Please fix." | $IRCSPAM || true
                                fi
-                       fi
-                       ;;
-               *)
-                       if $is_nosrgb; then
-                               case "$REFNAME" in
-                                       master|refs/heads/master|origin/master|refs/remotes/origin/master)
-                                               if [ -n "$IRCSPAM" ]; then
-                                                       echo "\ 34ERROR: map $M uses -nosRGB. This is not acceptable in master. Please fix." | $IRCSPAM || true
-                                               fi
-                                               allow_build=false
-                                               ;;
-                                       *)
-                                               if [ -n "$IRCSPAM" ]; then
-                                                       echo "\ 34WARNING:\ f map $M uses -nosRGB. This is not acceptable in master. Please fix." | $IRCSPAM || true
-                                               fi
-                                               ;;
-                               esac
-                       fi
-                       ;;
-       esac
+                               ;;
+               esac
+       fi
 
        set +e
        $allow_build && (
@@ -252,13 +238,19 @@ screenshotthemap()
        M=$3
        blobhash=$4
        commithash=$5
+       if ! [ -f "$bspdir/$M-$blobhash.pk3" ]; then
+               # not downloaded yet
+               return
+       fi
+
        if lwp-request -m HEAD "$url$M-$blobhash/$M-000000.jpg"; then
-               continue
+               # already done
+               return
        fi
 
        if ! unzip -l "$bspdir/$M-$blobhash.pk3" "maps/$M.bsp"; then
                # no BSP file
-               continue
+               return
        fi
 
        rm -rf ~/.xonotic/data
@@ -319,14 +311,12 @@ getthemap()
                if ! curl -o "$bspdir/$M-$blobhash.pk3" "$url$M-$blobhash.pk3"; then
                        rm -f "$bspdir/$M-$blobhash.pk3"
                        echo "WARNING: could not download $url$M-$blobhash.pk3, maybe not ready yet"
-                       getthemap_fail=true
                        return 0
                fi
        fi
        if ! unzip -l "$bspdir/$M-$blobhash.pk3"; then
                rm -f "$bspdir/$M-$blobhash.pk3"
                echo "WARNING: could not download $url$M-$blobhash.pk3, invalid zip file"
-               getthemap_fail=true
                return 0
        fi
 }
@@ -391,13 +381,17 @@ case "$1" in
                        git clean -xfd
                        git checkout -f "$HASH"
 
+                       getthemap_fail=false
                        rundownload
+
+                       allmaps "$HASH" screenshotthemap "$REFNAME" "$url_http"
+
                        if $getthemap_fail; then
+                               # If any map fetch failed, we've skipped them and thus need to try again later.
+                               # Note that we're not going to re-screenshot maps because of this as we'll check for uploaded screenshots first.
                                continue
                        fi
 
-                       allmaps "$HASH" screenshotthemap "$REFNAME" "$url_http"
-
                        touch "$screenshot_cachedir/$HASH"
                done
                git checkout -f master