X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=blobdiff_plain;f=misc%2Ftools%2Fxonotic-map-compiler-autobuild;h=90a012325b829c864083833b20f87292821e07db;hp=313827dfc0d24887af3830c0d25f5b9a36f7f9f8;hb=2421c9cf61aeb5b9902d6f339a1f5e95e7378b9c;hpb=b9df0bb80d13b4aa250c0430104fb0504d39a075 diff --git a/misc/tools/xonotic-map-compiler-autobuild b/misc/tools/xonotic-map-compiler-autobuild index 313827df..90a01232 100755 --- a/misc/tools/xonotic-map-compiler-autobuild +++ b/misc/tools/xonotic-map-compiler-autobuild @@ -4,7 +4,8 @@ set -e bspdir="$PWD/data" url=http://beta.xonotic.org/autobuild-bsp/ -url_ssh=beta.xonotic.org:autobuild-bsp/ +url_ssh=xonotic-beta:autobuild-bsp/ +cachedir="$HOME/xonotic-map-compiler.cache/" override="-bsp_timeout 900 -vis_timeout 3600 -light_timeout 14400 -minimap_timeout 900 -scale_timeout 900" allmaps() @@ -115,10 +116,9 @@ buildthemap() REFNAME=$1 HASH=$2 url=$3 - bspdir=$4 - M=$5 - blobhash=$6 - if [ -f "$bspdir/$M-$blobhash.pk3" ]; then + M=$4 + blobhash=$5 + if HEAD "$url$M-$blobhash.pk3"; then continue fi if [ -n "$IRCSPAM" ]; then @@ -137,9 +137,11 @@ buildthemap() fi zip -9r "$M-$blobhash.pk3" "maps/$M.bsp" "maps/$M.log" "maps/$M.irc" "maps/$M/" "maps/$M.lin" "gfx/${M}_mini.tga" ln -snf "../$M-$blobhash.pk3" "$M.pk3" # from ALL branches, so beware! - rsync -vaSHP "$M-$blobhash.pk3" "$url_ssh" - rsync -vaSHP "$M.pk3" "$url_ssh""latest/" - rm -f *.pk3 + cp "$M-$blobhash.pk3" "$M-full-$blobhash.pk3" + zip -9r "$M-full-$blobhash.pk3" `git diff --name-only --diff-filter=ACMRTUXB master...HEAD` || true + ln -snf "../$M-full-$blobhash.pk3" "$M-full.pk3" # from ALL branches, so beware! + 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" fi @@ -173,10 +175,14 @@ case "$1" in build) cd data/xonotic-maps.pk3dir git for-each-ref 'refs/remotes' | while read -r HASH TYPE REFNAME; do + if [ -f "$cachedir/$HASH" ]; then + continue + fi git reset --hard git clean -xfd git checkout -f "$HASH" - allmaps buildthemap "$REFNAME" "$HASH" "$url" "$bspoutdir" + allmaps buildthemap "$REFNAME" "$HASH" "$url" + touch "$cachedir/$HASH" done git checkout -f master ;;