Permalink
Fetching contributors…
Cannot retrieve contributors at this time
131 lines (125 sloc) 3.81 KB
language: d
sudo: false
matrix:
include:
- os: linux
d: ldc
env: LLVM_VERSION=4.0.0
- os: linux
d: ldc
env: LLVM_VERSION=3.9.1
- os: linux
d: ldc-beta
env: LLVM_VERSION=3.8.1
- os: linux
d: ldc
env: LLVM_VERSION=3.7.1 OPTS="-DMULTILIB=ON -DBUILD_SHARED_LIBS=OFF -DLIB_SUFFIX=64"
- os: linux
d: ldc-0.17.2
env: LLVM_VERSION=3.6.2 OPTS="-DBUILD_SHARED_LIBS=ON"
- os: linux
d: dmd
env: LLVM_VERSION=3.5.2 OPTS="-DBUILD_SHARED_LIBS=OFF -DTEST_COVERAGE=ON"
- os: osx
d: ldc
env: LLVM_VERSION=3.9.0 OPTS="-DBUILD_SHARED_LIBS=OFF"
- os: osx
d: ldc
env: LLVM_VERSION=3.9.0 OPTS="-DBUILD_SHARED_LIBS=ON"
allow_failures:
#- env: LLVM_VERSION=3.9
cache:
directories:
- llvm-4.0.0
- llvm-3.9.1
- llvm-3.9.0
- llvm-3.8.1
- llvm-3.7.1
- llvm-3.6.2
- llvm-3.5.2
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- george-edison55-precise-backports # more recent CMake
packages:
- gdb
- gcc-4.9
- g++-4.9
- gcc-4.9-multilib
- g++-4.9-multilib
- gcc-multilib
- g++-multilib
- libedit2
- libedit-dev
- libcurl3:i386
- cmake
- cmake-data
- ninja-build
before_install:
-
if [ "${TRAVIS_OS_NAME}" = "linux" ]; then
if [ "${LLVM_VERSION}" = "3.9.1" ]; then
export LLVM_ARCH="x86_64-linux-gnu-debian8";
else
export LLVM_ARCH="x86_64-linux-gnu-ubuntu-14.04";
fi;
else
export LLVM_ARCH="x86_64-apple-darwin";
fi;
if [ -z "$(ls -A llvm-$LLVM_VERSION)" ]; then
wget -O llvm-$LLVM_VERSION.tar.xz http://llvm.org/releases/$LLVM_VERSION/clang+llvm-$LLVM_VERSION-${LLVM_ARCH}.tar.xz;
mkdir llvm-$LLVM_VERSION;
tar -xvf llvm-$LLVM_VERSION.tar.xz --strip 1 -C llvm-$LLVM_VERSION;
fi;
llvm-$LLVM_VERSION/bin/llvm-config --version;
export LLVM_CONFIG="llvm-$LLVM_VERSION/bin/llvm-config";
install:
- if [ "${TRAVIS_OS_NAME}" = "linux" ]; then export CC="gcc-4.9"; export CXX="g++-4.9"; fi
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then brew update; brew install ninja; fi;
- eval "${DC} --version"
- pip install --user lit
- python -c "import lit; lit.main();" --version | head -n 1
- if [ "${TRAVIS_OS_NAME}" = "linux" ]; then gdb --version; fi
script:
- cmake --version
- cmake -G Ninja -DLLVM_CONFIG=$(which ${LLVM_CONFIG}) $OPTS .
- ninja -j3
# Outputs some environment info, plus makes sure we only run the test suite
# if we could actually build the executable.
- bin/ldc2 -version || exit 1
# Build Phobos & druntime unittest modules.
-
if [[ "${OPTS}" == *-DMULTILIB?ON* ]]; then
ninja -j2 phobos2-ldc-unittest-debug phobos2-ldc-unittest phobos2-ldc-unittest-debug_32 phobos2-ldc-unittest_32;
ninja -j3 druntime-ldc-unittest-debug druntime-ldc-unittest druntime-ldc-unittest-debug_32 druntime-ldc-unittest_32;
else
ninja -j2 phobos2-ldc-unittest-debug phobos2-ldc-unittest;
ninja -j3 druntime-ldc-unittest-debug druntime-ldc-unittest;
fi
# Run dmd-testsuite.
- CC="" DMD_TESTSUITE_MAKE_ARGS=-j3 ctest -V -R "dmd-testsuite"
# Run lit testsuite.
- ctest -V -R "lit-tests"
# Build and run LDC D unittests.
- ctest --output-on-failure -R "ldc2-unittest"
# Link and run Phobos & druntime unittest runners.
- ctest -j3 --output-on-failure -E "dmd-testsuite|lit-tests|ldc2-unittest"
after_success:
-
if [[ "${OPTS}" == *-DTEST_COVERAGE?ON* ]]; then
coveralls -e runtime -e tests -e vcbuild --gcov gcov-4.9 --gcov-options '\-lp' > /dev/null 2>&1;
fi
notifications:
email:
recipients:
- "digitalmars-d-ldc@puremagic.com"
on_success: never
on_failure: change
irc:
channels:
- "irc.freenode.org#ldc"
on_success: always
on_failure: always
use_notice: false
skip_join: true