lokinet/.travis.yml
Jeff b5db869baa
Merge pull request #744 from michael-loki/travis_wait
Use travis_wait because builds/linkers are slow
2019-08-01 10:29:50 -04:00

131 lines
3.2 KiB
YAML

language: cpp
cache: ccache
matrix:
include:
- os: linux
dist: xenial
compiler: gcc
env: BUILD_TYPE=Debug IS_NOTIFICATION=1
- os: linux
dist: xenial
env: DOCKER_FILE=docker/router.Dockerfile
services: docker
- os: linux
dist: xenial
env: DOCKER_FILE=docker/alpine-windows.Dockerfile
services: docker
- os: linux
dist: xenial
compiler: gcc
env: BUILD_TYPE=Release
- os: linux
dist: xenial
compiler: clang
env: BUILD_TYPE=Debug
- os: linux
dist: xenial
compiler: clang
env: BUILD_TYPE=Release
- os: osx
osx_image: xcode10.2
compiler: gcc
env: BUILD_TYPE=Debug
- os: osx
osx_image: xcode10.2
compiler: gcc
env: BUILD_TYPE=Release
- os: osx
osx_image: xcode10.2
env: BUILD_TYPE=Debug PATH="/usr/local/opt/ccache/libexec:$PATH"
- os: osx
osx_image: xcode10.2
env: BUILD_TYPE=Release PATH="/usr/local/opt/ccache/libexec:$PATH"
- os: osx
osx_image: xcode11
env: BUILD_TYPE=Release PATH="/usr/local/opt/ccache/libexec:$PATH"
- os: osx
osx_image: xcode10.2
env: BUILD_TYPE=Debug ASAN=ON PATH="/usr/local/opt/ccache/libexec:$PATH" CC=/usr/local/opt/llvm/bin/clang CXX=/usr/local/opt/llvm/bin/clang++
- os: windows
env: BUILD_TYPE=Debug
- os: windows
env: BUILD_TYPE=Release
allow_failures:
- os: linux
dist: xenial
env: DOCKER_FILE=docker/alpine-windows.Dockerfile
services: docker
env:
global:
- NINJA=ninja
- STATIC_LINK=OFF
addons:
apt:
packages:
- binutils-gold
- build-essential
- cmake
- curl
- docker-ce
- g++-mingw-w64
- g++-mingw-w64-x86-64
- gcc-mingw-w64-base
- git
- libcap-dev
- libuv1-dev
- mingw-w64 mingw-w64-common
- ninja-build
homebrew:
packages:
- ccache
- cmake
- libuv
- llvm
- ninja
- make
before_install:
- if [ "$TRAVIS_OS_NAME" == "windows" ]; then
choco install make ninja;
choco upgrade cmake.install;
export CC="/c/Program Files/LLVM/bin/clang-cl";
export CXX="/c/Program Files/LLVM/bin/clang-cl";
fi
script:
- if [ "$TRAVIS_OS_NAME" == "windows" ]; then
travis_wait cmd.exe /C '"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" amd64 && make test';
elif [[ ! -z $DOCKER_FILE ]]; then
travis_wait docker build -f $DOCKER_FILE .;
else
travis_wait make ${MAKE_TARGET:-test};
fi
after_script:
- echo $TRAVIS_COMMIT_RANGE
- echo $TRAVIS_COMMIT_LOG
after_success:
- wget https://raw.githubusercontent.com/DiscordHooks/travis-ci-discord-webhook/master/send.sh
- chmod +x send.sh
- if [[ -z $IS_NOTIFICATION ]]; then ./send.sh success $WEBHOOK_URL; fi
after_failure:
- wget https://raw.githubusercontent.com/DiscordHooks/travis-ci-discord-webhook/master/send.sh
- chmod +x send.sh
- if [[ ! -z $IS_NOTIFICATION ]]; then ./send.sh failure $WEBHOOK_URL; fi
notifications:
irc:
on_success: change
on_failure: change
channels:
- "chat.freenode.net#llarp"
nick: lokinet-ci
template:
- "%{result} | %{repository}#%{build_number} (%{commit} : %{author}) | Build details : %{build_url}"