diff --git a/Makefile b/Makefile index a28293b..37beacd 100644 --- a/Makefile +++ b/Makefile @@ -9,3 +9,6 @@ lib-lint: pod-release: bundle exec pod trunk push + +test-linux: + sh scripts/test-linux.sh diff --git a/scripts/test-linux.sh b/scripts/test-linux.sh new file mode 100755 index 0000000..28c4fdf --- /dev/null +++ b/scripts/test-linux.sh @@ -0,0 +1,34 @@ +# !/bin/bash + +set -e + +if [[ `uname` == "Darwin" ]]; then + if [[ -z `which docker-machine 2>/dev/null` || -z `which virtualbox 2>/dev/null` ]] ; then + echo "Install docker-machine and virtualbox ahead." + exit -1 + fi + + if [[ ! $(docker info 2>/dev/null) ]]; then + echo "Is Docker running?" + exit -1 + fi + + DOCKER_HOST_NAME=com.ryo.DifferenceKit.test + WORKING_DIR=$(pwd) + + echo "Starting to running tests on Linux by Docker..." + docker-machine create --driver virtualbox $DOCKER_HOST_NAME || true + docker run -v $WORKING_DIR:$WORKING_DIR -w $WORKING_DIR -it --privileged swift:latest bash -c "$0" || true + docker-machine stop $DOCKER_HOST_NAME || true + docker-machine rm -f $DOCKER_HOST_NAME || true + echo "Finish" + +elif [[ `uname` == "Linux" ]]; then + swift build + swift test + +else + echo "Unsupported OS (`uname`)" + exit -1 + +fi