#!/bin/bash set -Eeu DEPLOY_HOST=172.19.11.5 mkdir -p ~/.ssh cat >>~/.ssh/known_hosts <deploy-key chmod 0600 ./deploy-key BUILDSTAMP=$(cat binaries/buildstamp) tar -cvJf binary-archive-$BUILDSTAMP.tar.xz -C binaries blastmud_game blastmud_listener scp -i deploy-key binary-archive-$BUILDSTAMP.tar.xz blast@$DEPLOY_HOST:/home/blast/archive/ ssh -i deploy-key blast@$DEPLOY_HOST "find /home/blast/archive -mtime +30 -delete && mkdir -p /home/blast/latest && tar -xvJf /home/blast/archive/binary-archive-$BUILDSTAMP.tar.xz -C /home/blast/latest" (curl --max-time 10 https://ws.blastmud.org/version || true) >version cd blastmud-repo ROOT_COMMIT=$(git rev-list HEAD | tail -n 1) cd .. LISTENER_VERSION=$(jq -r .listener_version version || echo ROOT_COMMIT) GAMESERVER_VERSION=$(jq -r .gameserver_version version || echo ROOT_COMMIT) cd blastmud-repo CURRENT_VERSION=$(git rev-parse HEAD) LISTENER_CHANGES=$(git diff $LISTENER_VERSION $CURRENT_VERSION -- blastmud_listener blastmud_interfaces | wc -l) GAMESERVER_CHANGES=$(git diff $GAMESERVER_VERSION $CURRENT_VERSION -- blastmud_game blastmud_interfaces | wc -l) cd .. echo Listener changes: $LISTENER_CHANGES Gameserver changes: $GAMESERVER_CHANGES if [[ $GAMESERVER_CHANGES != "0" ]]; then echo Deploying gameserver ssh -i deploy-key blast@$DEPLOY_HOST "cp /home/blast/latest/blastmud_game /mnt/gameserver-app/tmp && mv /mnt/gameserver-app/tmp/blastmud_game /mnt/gameserver-app/exe" else echo No changes to gameserver, skipping. fi if [[ $LISTENER_CHANGES != "0" ]]; then echo Deploying listener ssh -i deploy-key blast@$DEPLOY_HOST "cp /home/blast/latest/blastmud_listener /mnt/listener-app/tmp && mv /mnt/listener-app/tmp/blastmud_listener /mnt/listener-app/exe" else echo No changes to listener, skipping. fi