AppVeyor CI configuration using Cygwin.

This also serves nicely as documentation of the Cygwin build
requirements.
This commit is contained in:
John Hood
2016-08-16 01:39:41 -04:00
parent 1077db41b6
commit 46b30e6851
2 changed files with 124 additions and 0 deletions
Executable
+70
View File
@@ -0,0 +1,70 @@
#!/bin/sh
#
# Cleanup for Appveyor peculiarities.
#
# This thing is dangerous. See "rm -rf *". It tries hard, but if it
# gets it wrong you will not be happy.
#
# Only run this on an Appveyor instance, where the consequences are
# nil.
#
# Echo, eval, and error on shell commands.
eeval()
{
echo "$0: $*" >&2
eval "$@"
rv=$?
if [ $rv -ne 0 ]; then
echo "$0: failed, exitcod $rv"
exit $rv
fi
return 0
}
# We inherit a broken Windows path with a Windows Git.
PATH=/bin
# This supposedly fixes some failures.
exec 0</dev/null
# Mosh-specific environment
export LANG=en_US.UTF-8
# Make sure we're on Appveyor
if [ -z "$APPVEYOR_BUILD_FOLDER" ]; then
echo "$0: APPVEYOR_BUILD_FOLDER variable empty" >&2
exit 2
fi
# Make really, really sure we're in the build dir
cd $APPVEYOR_BUILD_FOLDER || exit 2
if [ "$(pwd)" = "$HOME" -o "$PWD" = "$HOME" ]; then
echo "$0: in home directory" >&2
exit 2
fi
set -e
case $1 in
before_build)
# Check that we're in a Mosh repo with mosh-1.2.5, then clean it mercilessly
eeval git config --local core.symlinks true
eeval "git describe 3c3b356cb5e387887499beb2eedddce185f36944 && rm -rf * && git reset --hard"
;;
build_script)
eeval ./autogen.sh
eeval ./configure --enable-compile-warnings=error --enable-examples
eeval make distcheck VERBOSE=1 V=1
;;
wait)
touch wait.lck
while [ -f wait.lck ]; do
sleep 10
done
;;
*)
echo "Fail: $0 $*"
exit 2
;;
esac