dolphin/Tools/buildbot-try.sh

43 lines
1.3 KiB
Bash
Executable File

#! /bin/bash
#
# Submits a "buildbot try" message to the Dolphin buildbot with all the
# required options.
opt_file=$HOME/.buildbot/options
if ! [ -f "$opt_file" ]; then
echo >&2 "error: no .buildbot/options configuration file found"
echo >&2 "Read the docs: https://wiki.dolphin-emu.org/index.php?title=Buildbot"
exit 1
fi
if ! which buildbot >/dev/null 2>&1; then
echo >&2 "error: buildbot is not installed"
echo >&2 "Install it from your package manager, or use 'pip install buildbot'"
exit 1
fi
if ! git branch | grep -q '^* '; then
echo "Unable to determine the current Git branch. Input the Git branch name:"
read branchname
else
branchname=$(git branch | grep '^* ' | cut -d ' ' -f 2-)
fi
shortrev=$(git describe --always --long --dirty=+ | sed 's/-g[0-9a-f]*\(+*\)$/\1/')
author=$(grep try_username "$opt_file" | cut -d "'" -f 2)
remote=$(git remote -v | grep dolphin-emu/dolphin.git | head -n1 | cut -f1)
remote=${remote:-origin}
baserev=$(git merge-base HEAD $remote/master)
echo "Branch name: $branchname"
echo "Change author: $author"
echo "Short rev: $shortrev"
echo "Remote: $remote"
echo "Base rev: $baserev"
git diff --binary -r $baserev | buildbot try --properties=branchname=$branchname,author=$author,shortrev=$shortrev --diff=- -p1 --baserev $baserev $*