]> git.xonotic.org Git - xonotic/xonotic.git/blobdiff - misc/tools/xonotic-map-compiler-autobuild
play with timeouts
[xonotic/xonotic.git] / misc / tools / xonotic-map-compiler-autobuild
index 292909c5cd65f40bcdb3d598553b451cbf0bdfd1..8379cc0222b1dc9361abdb4f50f6f763e91a15fe 100755 (executable)
@@ -7,7 +7,7 @@ url_http=http://beta.xonotic.org/autobuild-bsp/
 url_ssh=xonotic-beta:autobuild-bsp/
 build_cachedir="$HOME/xonotic-map-compiler.cache/"
 screenshot_cachedir="$HOME/xonotic-map-screenshot.cache/"
-build_override="-bsp_timeout 1800 -vis_timeout 3600 -light_timeout 14400 -minimap_timeout 900 -scale_timeout 900"
+build_override="-bsp_timeout 3600 -vis_timeout 10800 -light_timeout 14400 -minimap_timeout 900 -scale_timeout 900"
 screenshot_override="9 900 5 +g_ctf 1"
 
 getthemap_fail=false
@@ -172,22 +172,18 @@ buildthemap()
        git checkout -f "$commithash"
 
        if [ -n "$IRCSPAM" ]; then
-               pre2spam "$M" "$url$M-$blobhash.pk3" "$REFNAME" "$commithash" | $IRCSPAM
+               pre2spam "$M" "$url$M-$blobhash.pk3" "$REFNAME" "$commithash" | $IRCSPAM || true
        fi
        t0=`date +%s`
+       set +e
        (
-               cd maps
-               sz=`grep '^size ' "$M.mapinfo" 2>/dev/null || true`
-               if [ -n "$sz" ]; then
-                       minimap_override="-minimap + -minmax ${sz#size }"
-               else
-                       minimap_override=
-               fi
-               ../../../misc/tools/xonotic-map-compiler "$M" `grep ^- "$M.map.options" | cut -d '#' -f 1` $minimap_override $build_override > "$M.log" 2>&1
+               cd ../..
+               misc/tools/xonotic-map-compiler-optionsfile "data/xonotic-maps.pk3dir/maps/$M" $build_override > "data/xonotic-maps.pk3dir/maps/$M.log" 2>&1
        )
        status=$?
+       set -e
        if ! [ -f "maps/$M.bsp" ]; then
-               echo >>"$M.log" "ERROR: No BSP file"
+               echo >>"maps/$M.log" "ERROR: No BSP file"
        fi
        t1=`date +%s`
        dt=$(($t1 - $t0))
@@ -202,7 +198,10 @@ buildthemap()
        rsync -vaSHP "$M-$blobhash.pk3" "$M-full-$blobhash.pk3" "$url_ssh"
        rsync -vaSHP "$M.pk3" "$M-full.pk3" "$url_ssh""latest/"
        if [ -n "$IRCSPAM" ]; then
-               $IRCSPAM < "maps/$M.irc"
+               $IRCSPAM < "maps/$M.irc" || true
+       fi
+       if [ -n "$BUILD_ONE" ]; then
+               exit
        fi
 }
 
@@ -222,7 +221,8 @@ screenshotthemap()
                continue
        fi
 
-       rm -rf ~/.xonotic
+       rm -rf ~/.xonotic/data
+       mkdir -p ~/.xonotic/data
        (
                cd ../..
                if [ -n "$DISPLAY" ]; then
@@ -237,25 +237,25 @@ screenshotthemap()
                                        ;;
                        esac
                fi
-       ) >~/.xonotic/autoscreenshot.log 2>&1
-       if ! mv ~/.xonotic/data/screenshots "$M-$blobhash"; then
-               if [ -n "$IRCSPAM" ]; then
-                       #ss2spam "$M" "$url$M-$blobhash/" "$REFNAME" "$commithash" 1 > "maps/$M.ircss"
-                       ss2spam "$M" "$url?d" "$REFNAME" "$commithash" 1 > "maps/$M.ircss"
-               fi
-               return 1
-       fi
-       mv ~/.xonotic/autoscreenshot.log "$M-$blobhash"/ || true
-       if [ -n "$IRCSPAM" ]; then
-               #ss2spam "$M" "$url$M-$blobhash/" "$REFNAME" "$commithash" 0 > "maps/$M.ircss"
-               ss2spam "$M" "$url?d" "$REFNAME" "$commithash" 0 > "maps/$M.ircss"
+       ) 2>&1 | tee ~/.xonotic/data/autoscreenshot.log
+       good=false
+       if mv ~/.xonotic/data/screenshots "$M-$blobhash"; then
+               ss2spam "$M" "$url?d" "$REFNAME" "$commithash" 0 > ~/.xonotic/data/"$M.ircss"
+       else
+               mkdir "$M-$blobhash"
+               ss2spam "$M" "$url?d" "$REFNAME" "$commithash" 1 > ~/.xonotic/data/"$M.ircss"
        fi
+       mv ~/.xonotic/data/"$M.ircss" "$M-$blobhash"/
+       mv ~/.xonotic/data/autoscreenshot.log "$M-$blobhash"/
        chmod 1777 "$M-$blobhash"
        ln -snf "../$M-$blobhash" "$M" # from ALL branches, so beware!
        rsync -vaSHP "$M-$blobhash" "$url_ssh"
        rsync -vaSHP "$M" "$url_ssh""latest/"
        if [ -n "$IRCSPAM" ]; then
-               $IRCSPAM < "maps/$M.ircss"
+               $IRCSPAM < "$M-$blobhash/$M.ircss" || true
+       fi
+       if [ -n "$BUILD_ONE" ]; then
+               exit
        fi
 }
 
@@ -363,6 +363,10 @@ case "$1" in
                runmakeindex
                ;;
        download)
+               if ! which unzip >/dev/null 2>&1; then
+                       echo "Cannot find unzip, bailing out"
+                       exit 1
+               fi
                if ! cd data/xonotic-maps.pk3dir >/dev/null 2>&1; then
                        echo "data/xonotic-maps.pk3dir does not exist, not downloading"
                        exit 0