lokinet/.travis.yml

191 lines
5.0 KiB
YAML
Raw Normal View History

2019-07-13 14:14:22 +00:00
language: cpp
2019-07-14 11:09:04 +00:00
2019-07-15 20:01:55 +00:00
cache: ccache
2019-07-13 14:14:22 +00:00
2019-07-21 16:05:51 +00:00
matrix:
fast_finish: true
2019-07-21 16:05:51 +00:00
include:
- name: "lint check"
os: linux
2019-08-07 23:34:16 +00:00
dist: xenial
compiler: gcc
2019-08-13 21:38:00 +00:00
env: MAKE_TARGET=format-verify PATH="/usr/lib/llvm-8/bin:$PATH"
2019-08-07 23:34:16 +00:00
addons:
apt:
sources:
2019-08-13 21:38:00 +00:00
- llvm-toolchain-xenial-8
2019-08-07 23:34:16 +00:00
packages:
2019-08-13 21:38:00 +00:00
- clang-format-8
- name: "make debug (linux/gcc)"
os: linux
2019-07-21 16:05:51 +00:00
dist: xenial
compiler: gcc
env: BUILD_TYPE=Debug IS_NOTIFICATION=1
- name: "make release (linux/gcc)"
os: linux
2019-07-22 22:20:17 +00:00
dist: xenial
compiler: gcc
env: BUILD_TYPE=Release
- name: "make debug (linux/clang)"
os: linux
2019-07-22 22:20:17 +00:00
dist: xenial
compiler: clang
env: BUILD_TYPE=Debug
- name: "make release (linux/clang)"
os: linux
2019-07-22 22:20:17 +00:00
dist: xenial
compiler: clang
env: BUILD_TYPE=Release
- name: "native windows debug"
os: windows
env: BUILD_TYPE=Debug
- name: "native windows release"
os: windows
env: BUILD_TYPE=Release
- name: "make debug (macOS/clang)"
os: osx
2019-07-22 22:20:17 +00:00
osx_image: xcode10.2
env: BUILD_TYPE=Debug PATH="/usr/local/opt/ccache/libexec:$PATH"
- name: "make release (macOS/clang)"
os: osx
2019-07-22 22:20:17 +00:00
osx_image: xcode10.2
env: BUILD_TYPE=Release PATH="/usr/local/opt/ccache/libexec:$PATH"
2019-09-30 08:59:34 +00:00
- name: "make iOS"
os: osx
osx_image: xcode10.2
env: MAKE_TARGET=ios PATH="/usr/local/opt/ccache/libexec:$PATH"
- name: "make windows (macOS)"
os: osx
osx_image: xcode10.2
env: MAKE_TARGET=windows PATH="/usr/local/opt/ccache/libexec:$PATH"
- name: "make windows-release (macOS)"
os: osx
osx_image: xcode10.2
env: MAKE_TARGET=windows-release PATH="/usr/local/opt/ccache/libexec:$PATH"
- name: "make release (macOS beta/clang)"
os: osx
2019-07-22 22:20:17 +00:00
osx_image: xcode11
env: BUILD_TYPE=Release PATH="/usr/local/opt/ccache/libexec:$PATH"
- name: "address sanitizer"
os: osx
2019-07-22 22:20:17 +00:00
osx_image: xcode10.2
2019-09-22 14:32:03 +00:00
env: BUILD_TYPE=Debug XSAN=address PATH="/usr/local/opt/ccache/libexec:$PATH" CC=/usr/local/opt/llvm/bin/clang CXX=/usr/local/opt/llvm/bin/clang++
- name: "thread sanitizer"
os: osx
osx_image: xcode10.2
env: BUILD_TYPE=Debug XSAN=thread PATH="/usr/local/opt/ccache/libexec:$PATH" CC=/usr/local/opt/llvm/bin/clang CXX=/usr/local/opt/llvm/bin/clang++
- name: "undefined sanitizer"
os: osx
osx_image: xcode10.2
env: BUILD_TYPE=Debug XSAN=undefined PATH="/usr/local/opt/ccache/libexec:$PATH" CC=/usr/local/opt/llvm/bin/clang CXX=/usr/local/opt/llvm/bin/clang++
- name: "memory sanitizer"
os: linux
dist: xenial
compiler: clang
env: BUILD_TYPE=Debug XSAN=memory
- name: "router docker image"
os: linux
dist: xenial
env: DOCKER_FILE=docker/router.Dockerfile
services: docker
- name: "make windows docker image"
os: linux
dist: xenial
env: DOCKER_FILE=docker/alpine-windows.Dockerfile
services: docker
- name: "gcc trunk"
os: linux
dist: xenial
env: DOCKER_FILE=docker/gcc-trunk.Dockerfile
services: docker
allow_failures:
2019-11-05 12:34:41 +00:00
- name: "native windows debug"
os: windows
env: BUILD_TYPE=Debug
- name: "native windows release"
os: windows
env: BUILD_TYPE=Release
- os: linux
dist: xenial
env: DOCKER_FILE=docker/alpine-windows.Dockerfile
services: docker
- os: linux
dist: xenial
env: DOCKER_FILE=docker/gcc-trunk.Dockerfile
services: docker
2019-08-13 00:06:08 +00:00
- os: osx
osx_image: xcode10.2
env: MAKE_TARGET=windows PATH="/usr/local/opt/ccache/libexec:$PATH"
2019-08-13 00:06:08 +00:00
- os: osx
osx_image: xcode10.2
env: MAKE_TARGET=windows-release PATH="/usr/local/opt/ccache/libexec:$PATH"
2019-07-13 14:14:22 +00:00
2019-05-29 04:43:15 +00:00
env:
2019-07-13 20:36:10 +00:00
global:
2019-07-14 11:09:04 +00:00
- NINJA=ninja
2019-07-13 20:36:10 +00:00
- STATIC_LINK=OFF
2019-07-13 14:14:22 +00:00
addons:
apt:
packages:
2019-07-15 20:05:13 +00:00
- binutils-gold
2019-07-13 14:14:22 +00:00
- build-essential
2019-08-07 23:34:16 +00:00
- clang-format
2019-07-13 14:14:22 +00:00
- cmake
- curl
- docker-ce
2019-07-22 22:20:17 +00:00
- g++-mingw-w64
- g++-mingw-w64-x86-64
- gcc-mingw-w64-base
2019-07-13 14:14:22 +00:00
- git
- libcap-dev
2019-10-09 22:00:43 +00:00
- libcurl4-openssl-dev
2019-07-13 14:14:22 +00:00
- libuv1-dev
2019-07-22 22:20:17 +00:00
- mingw-w64 mingw-w64-common
2019-07-13 14:14:22 +00:00
- ninja-build
2019-10-29 16:13:37 +00:00
- libsodium-dev
2019-07-14 11:09:04 +00:00
homebrew:
packages:
2019-07-15 20:01:55 +00:00
- ccache
2019-07-14 11:09:04 +00:00
- cmake
- curl
2019-07-14 11:09:04 +00:00
- libuv
- llvm
2019-07-15 09:15:25 +00:00
- make
- mingw-w64
- ninja
2019-10-29 16:13:37 +00:00
- libsodium
2019-07-13 14:14:22 +00:00
2019-07-16 00:10:13 +00:00
before_install:
2019-07-15 23:16:17 +00:00
- if [ "$TRAVIS_OS_NAME" == "windows" ]; then
choco install curl make ninja;
2019-07-21 16:05:51 +00:00
choco upgrade cmake.install;
2019-07-15 23:52:51 +00:00
export CC="/c/Program Files/LLVM/bin/clang-cl";
export CXX="/c/Program Files/LLVM/bin/clang-cl";
2019-07-15 23:16:17 +00:00
fi
2019-07-16 00:10:13 +00:00
script:
2019-07-21 16:05:51 +00:00
- 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 .;
2019-07-21 16:05:51 +00:00
else
travis_wait make ${MAKE_TARGET:-test};
2019-07-21 16:05:51 +00:00
fi
2019-07-13 14:14:22 +00:00
2019-05-29 04:43:15 +00:00
after_script:
- echo $TRAVIS_COMMIT_RANGE
- echo $TRAVIS_COMMIT_LOG
2019-05-29 07:01:37 +00:00
notifications:
2019-09-20 21:47:53 +00:00
webhooks:
urls: $WEBHOOK_URL
2019-05-29 07:01:37 +00:00
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}"