mirror of
https://github.com/oxen-io/lokinet.git
synced 2024-10-31 09:20:21 +00:00
b5db869baa
Use travis_wait because builds/linkers are slow
131 lines
3.2 KiB
YAML
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}"
|