2019-07-13 14:14:22 +00:00
|
|
|
language: cpp
|
2020-02-03 02:23:26 +00:00
|
|
|
dist: bionic
|
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:
|
2019-08-04 21:53:49 +00:00
|
|
|
fast_finish: true
|
2019-07-21 16:05:51 +00:00
|
|
|
include:
|
2019-08-14 12:27:37 +00:00
|
|
|
- name: "lint check"
|
|
|
|
os: linux
|
2019-08-07 23:34:16 +00:00
|
|
|
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:
|
2020-02-03 02:23:26 +00:00
|
|
|
- llvm-toolchain-bionic-8
|
2019-08-07 23:34:16 +00:00
|
|
|
packages:
|
2019-08-13 21:38:00 +00:00
|
|
|
- clang-format-8
|
2019-08-14 12:27:37 +00:00
|
|
|
- name: "make debug (linux/gcc)"
|
|
|
|
os: linux
|
2019-07-21 16:05:51 +00:00
|
|
|
compiler: gcc
|
2019-07-22 00:34:05 +00:00
|
|
|
env: BUILD_TYPE=Debug IS_NOTIFICATION=1
|
2020-02-03 02:23:43 +00:00
|
|
|
addons: &core_apt_addons
|
|
|
|
apt:
|
|
|
|
packages:
|
|
|
|
- build-essential
|
|
|
|
- cmake
|
|
|
|
- curl
|
|
|
|
- git
|
|
|
|
- libcap-dev
|
|
|
|
- libcurl4-openssl-dev
|
|
|
|
- libuv1-dev
|
|
|
|
- ninja-build
|
|
|
|
- libsodium-dev
|
2019-08-14 12:27:37 +00:00
|
|
|
- name: "make release (linux/gcc)"
|
|
|
|
os: linux
|
2019-07-22 22:20:17 +00:00
|
|
|
compiler: gcc
|
|
|
|
env: BUILD_TYPE=Release
|
2020-02-03 02:23:43 +00:00
|
|
|
addons: *core_apt_addons
|
2019-08-14 12:27:37 +00:00
|
|
|
- name: "make debug (linux/clang)"
|
|
|
|
os: linux
|
2019-07-22 22:20:17 +00:00
|
|
|
compiler: clang
|
|
|
|
env: BUILD_TYPE=Debug
|
2020-02-03 02:23:43 +00:00
|
|
|
addons: *core_apt_addons
|
2019-08-14 12:27:37 +00:00
|
|
|
- name: "make release (linux/clang)"
|
|
|
|
os: linux
|
2019-07-22 22:20:17 +00:00
|
|
|
compiler: clang
|
|
|
|
env: BUILD_TYPE=Release
|
2020-02-03 02:23:43 +00:00
|
|
|
addons: *core_apt_addons
|
2019-08-14 12:27:37 +00:00
|
|
|
- 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"
|
2019-08-14 12:27:37 +00:00
|
|
|
- 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"
|
2020-02-03 02:23:43 +00:00
|
|
|
- name: "make release (linux/gcc/arm64)"
|
|
|
|
arch: arm64
|
|
|
|
compiler: gcc
|
|
|
|
env: BUILD_TYPE=Release
|
|
|
|
addons: *core_apt_addons
|
|
|
|
- name: "make release (linux/gcc/s390x)"
|
|
|
|
arch: s390x
|
|
|
|
compiler: gcc
|
|
|
|
env: BUILD_TYPE=Release
|
|
|
|
addons: *core_apt_addons
|
|
|
|
- name: "make release (linux/gcc/ppc64le)"
|
|
|
|
arch: ppc64le
|
|
|
|
compiler: gcc
|
|
|
|
env: BUILD_TYPE=Release
|
|
|
|
addons: *core_apt_addons
|
2019-12-10 21:10:17 +00:00
|
|
|
# - name: "make iOS"
|
|
|
|
# os: osx
|
|
|
|
# osx_image: xcode10.2
|
|
|
|
# env: MAKE_TARGET=ios PATH="/usr/local/opt/ccache/libexec:$PATH"
|
2019-12-10 13:52:46 +00:00
|
|
|
# - 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
|
|
|
|
# osx_image: xcode11
|
|
|
|
# env: BUILD_TYPE=Release PATH="/usr/local/opt/ccache/libexec:$PATH"
|
|
|
|
# - name: "address sanitizer"
|
|
|
|
# os: osx
|
|
|
|
# osx_image: xcode10.2
|
|
|
|
# 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++
|
2019-09-22 14:32:03 +00:00
|
|
|
- name: "memory sanitizer"
|
|
|
|
os: linux
|
|
|
|
dist: xenial
|
|
|
|
compiler: clang
|
|
|
|
env: BUILD_TYPE=Debug XSAN=memory
|
2020-02-03 02:23:43 +00:00
|
|
|
addons: *core_apt_addons
|
2020-02-07 04:18:00 +00:00
|
|
|
# - name: "router docker image"
|
|
|
|
# os: linux
|
|
|
|
# dist: xenial
|
|
|
|
# env: DOCKER_FILE=docker/router.Dockerfile
|
|
|
|
# services: docker
|
2019-08-14 12:27:37 +00:00
|
|
|
- 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
|
2020-02-06 21:44:59 +00:00
|
|
|
# - name: "native windows debug"
|
|
|
|
# os: windows
|
|
|
|
# env: BUILD_TYPE=Debug
|
|
|
|
# - name: "native windows release"
|
|
|
|
# os: windows
|
|
|
|
# env: BUILD_TYPE=Release
|
2019-07-31 22:19:59 +00:00
|
|
|
allow_failures:
|
2019-12-10 14:25:08 +00:00
|
|
|
- name: "make windows docker image"
|
2019-12-10 14:20:31 +00:00
|
|
|
- name: "native windows debug"
|
|
|
|
- name: "native windows release"
|
2020-01-02 12:03:37 +00:00
|
|
|
- name: "router docker image"
|
2020-02-06 21:39:23 +00:00
|
|
|
- name: "gcc trunk"
|
|
|
|
- arch: ppc64le
|
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:
|
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
|
2019-10-05 16:48:05 +00:00
|
|
|
- curl
|
2019-07-14 11:09:04 +00:00
|
|
|
- libuv
|
2019-07-22 00:34:05 +00:00
|
|
|
- llvm
|
2019-07-15 09:15:25 +00:00
|
|
|
- make
|
2019-08-04 21:47:09 +00:00
|
|
|
- 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
|
2019-10-05 16:48:05 +00:00
|
|
|
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
|
2020-02-03 03:29:32 +00:00
|
|
|
cmd.exe /C '"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" amd64 && make test';
|
2019-07-22 20:38:03 +00:00
|
|
|
elif [[ ! -z $DOCKER_FILE ]]; then
|
2020-02-03 03:29:32 +00:00
|
|
|
docker build -f $DOCKER_FILE .;
|
2019-07-21 16:05:51 +00:00
|
|
|
else
|
2020-02-03 03:29:32 +00:00
|
|
|
make DOWNLOAD_SODIUM=ON ${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-07-22 00:34:05 +00:00
|
|
|
|
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}"
|