diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..1ef6673 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,14 @@ +language: d + +d: + # order: latest DMD, oldest DMD, LDC/GDC, remaining DMD versions + # this way the overall test time gets cut down (GDC/LDC are a lot + # slower tham DMD, so they should be started early), while still + # catching most DMD version related build failures early + - dmd-2.071.0 + - ldc-1.0.0 + - dmd-2.070.0 + +script: ./travis-ci.sh + +sudo: false diff --git a/travis-ci.sh b/travis-ci.sh new file mode 100755 index 0000000..ef6cea6 --- /dev/null +++ b/travis-ci.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +set -e -x -o pipefail + +# test for successful release build +dub build --combined -b release --compiler=$DC --config=${VIBED_DRIVER=libevent} + +# test for successful 32-bit build +if [ "$DC" == "dmd" ]; then + dub build --combined --arch=x86 +fi + +dub test --combined --compiler=$DC --config=${VIBED_DRIVER=libevent} + +if [ ${BUILD_EXAMPLE=1} -eq 1 ]; then + for ex in $(\ls -1 examples/); do + echo "[INFO] Building example $ex" + (cd examples/$ex && dub build --compiler=$DC && dub clean) + done +fi +if [ ${RUN_TEST=1} -eq 1 ]; then + for ex in `\ls -1 tests/`; do + echo "[INFO] Running test $ex" + (cd tests/$ex && dub --compiler=$DC && dub clean) + done +fi