]>
Commit | Line | Data |
---|---|---|
4a33ec57 | 1 | language: cpp |
05e3a855 AS |
2 | os: |
3 | - linux | |
4 | - osx | |
4a33ec57 AS |
5 | compiler: |
6 | - gcc | |
7 | - clang | |
e11eb08f | 8 | env: |
ac261706 | 9 | matrix: |
05e3a855 AS |
10 | - BUILD_TYPE=normal |
11 | - BUILD_TYPE=asan | |
12 | - BUILD_TYPE=tsan | |
ac261706 | 13 | global: |
bfc1fef6 | 14 | - secure: "i2f2UVDnyHT/9z0U3XvgTj8eDERvnc1Wk7HpseEjb75JwGzqn/2R+RKHmoSrwK3hFgij2IMxZL19XtHFwMz9t5A/huAAKD74KMMI/QpeZEJ/sjT3CTLcE9HEVDdJOjc7dfLRxb2hZtgvx8clZIMrpeUdPhci8openff30KvXVbg=" |
e11eb08f | 15 | matrix: |
f2c53b64 | 16 | fast_finish: true |
05e3a855 AS |
17 | exclude: |
18 | - os: osx | |
19 | env: BUILD_TYPE=asan | |
20 | - os: osx | |
21 | env: BUILD_TYPE=tsan | |
22 | - compiler: gcc | |
23 | env: BUILD_TYPE=asan | |
24 | - compiler: gcc | |
25 | env: BUILD_TYPE=tsan | |
26 | - os: osx | |
27 | compiler: gcc | |
4a33ec57 | 28 | before_install: |
05e3a855 AS |
29 | - "echo os: [$TRAVIS_OS_NAME] build: [$BUILD_TYPE]" |
30 | - if [[ "$BUILD_TYPE" == "normal" ]]; then export CFGFLAGS= MYCXXFLAGS= MYLDFLAGS=; fi | |
31 | - if [[ "$BUILD_TYPE" == "asan" ]]; then export CFGFLAGS=--enable-debug MYCXXFLAGS="-fsanitize=address -O1 -fno-omit-frame-pointer -fno-optimize-sibling-calls -fPIE" MYLDFLAGS="-fsanitize=address -pie"; fi | |
9974b669 | 32 | - if [[ "$BUILD_TYPE" == "tsan" ]]; then export CFGFLAGS=--enable-debug MYCXXFLAGS="-fsanitize=thread -O1 -fPIE" MYLDFLAGS="-fsanitize=thread"; fi |
05e3a855 AS |
33 | # UBSan randomly crashes clang, and very often :( |
34 | # CFGFLAGS=--enable-debug MYCXXFLAGS="-fsanitize=undefined -O1 -fPIE -fno-sanitize-recover" MYLDFLAGS="-fsanitize=undefined -pie -fno-sanitize-recover" | |
35 | - if [[ "$TRAVIS_REPO_SLUG" == "znc/znc" && "$TRAVIS_PULL_REQUEST" == "false" && "$TRAVIS_BRANCH" == "master" ]]; then openssl aes-256-cbc -d -in .travis-github.enc -out ~/znc-docs-key -k ${SECRET_KEY}; fi | |
36 | - export SECRET_KEY=no | |
37 | install: | |
38 | - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then cat /proc/cpuinfo /proc/meminfo; fi | |
39 | - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then lsb_release -a; fi | |
05e3a855 | 40 | - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo add-apt-repository -y ppa:teward/swig3.0; fi |
05e3a855 | 41 | - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get update; fi |
10d92e53 | 42 | - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get -y install libperl-dev python3-dev tcl-dev libsasl2-dev libgtest-dev libicu-dev swig3.0 doxygen graphviz; fi |
05e3a855 | 43 | - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export CFGFLAGS="$CFGFLAGS --with-gtest=/usr/src/gtest"; fi |
9974b669 AS |
44 | # Clang 3.5 TSan is broken on Travis Ubuntu 14.04. Clang 3.8 seems to work, but only without -pie (https://github.com/google/sanitizers/issues/503) |
45 | - if [[ "$TRAVIS_OS_NAME" == "linux" && "$BUILD_TYPE" == "tsan" ]]; then sudo apt-get install -y clang-3.8; export CC=clang-3.8 CXX=clang++-3.8; fi | |
05e3a855 AS |
46 | - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sw_vers; fi |
47 | - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sysctl -a | grep cpu; fi | |
48 | - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then sysctl -a | grep mem; fi | |
49 | - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew config; fi | |
50 | - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew list --versions; fi | |
51 | - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi | |
52 | - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install swig python3 icu4c jq; fi | |
53 | - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew info --json=v1 --installed | jq .; fi | |
54 | - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$(dirname $(find $(brew --cellar python3)/$(brew info --json=v1 python3 | jq -r '.[].installed | .[].version' | tail -n1) -name python3.pc)); fi | |
55 | - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$(dirname $(find $(brew --cellar icu4c )/$(brew info --json=v1 icu4c | jq -r '.[].installed | .[].version' | tail -n1) -name icu-uc.pc )); fi | |
56 | - "echo pkg-config path: [$PKG_CONFIG_PATH]" | |
4a33ec57 AS |
57 | script: |
58 | - ./bootstrap.sh | |
59 | - mkdir build | |
60 | - cd build | |
05e3a855 | 61 | - ../configure --enable-perl --enable-python --enable-tcl --enable-cyrus --enable-charset $CFGFLAGS CXXFLAGS="$CXXFLAGS $MYCXXFLAGS" LDFLAGS="$LDFLAGS $MYLDFLAGS" |
b7ce935c | 62 | - cat config.log |
682e3648 | 63 | - make V=1 |
05e3a855 | 64 | - make V=1 test |
4a33ec57 | 65 | - sudo make install |
ac261706 RS |
66 | - cd .. |
67 | after_success: | |
a4996c0e | 68 | - test -r .travis_after_all.py && python .travis_after_all.py || echo No .travis_after_all.py found |
aea871e6 | 69 | - test -r .to_export_back && echo $(cat .to_export_back) || echo No .to_export_back found |
bfc1fef6 | 70 | - export DUMMY_VAR=dummy-value $(cat .to_export_back) |
ac261706 RS |
71 | - | |
72 | if [ "$BUILD_LEADER" == "YES" ] && [ "$BUILD_AGGREGATE_STATUS" == "others_succeeded" ] && [ "$TRAVIS_REPO_SLUG" == "znc/znc" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_BRANCH" == "master" ]; then | |
73 | echo "All builds passed!" | |
74 | ./.travis-generate-docs.sh | |
bfc1fef6 AS |
75 | else |
76 | echo "Not leader" | |
ac261706 | 77 | fi |
4a33ec57 AS |
78 | notifications: |
79 | irc: | |
80 | channels: | |
bb20971f AS |
81 | # irc.freenode.net #znc-dev (via ZNC-Linker) |
82 | # Format is poorly documented at https://github.com/travis-ci/travis-ci/issues/2813 | |
83 | - secure: "h06+4KSb2hM1BJWQqsrurqIU3F6fK55ATCRO7/t3FK6tbSHduywfbfcJmkPUD08lATCWaKm07afbVQPoU3dc6B+0rLvlvGmOoQlB6OxiROq+fc+gXXBwpnBJ1HKwmBrEActqkyZ8GWTVLeIhhR5xYVVZZv7AZ6jzCgpfyiXPink=" | |
4a33ec57 AS |
84 | on_success: always |
85 | on_failure: always | |
bb20971f AS |
86 | skip_join: true |
87 | nick: | |
88 | secure: "UGh4tbpviOD438ZOi+I3W6eh+R68tbpNIJc0uf5FK6xhHLLo3FRIozkL7CRVA3TxYHuahwerZpBR4TbAyc+gVUn5YRHjdsMIPHPCW/kh8ZkEJKNYXkHerbH0Np6PRLI58l6lmjMQbiWn+lqlgsHdVsyknqxDwoj7JDieE+5X53c=" | |
89 | password: | |
90 | secure: "B2F1coXddY1H0/v3OkiPnUlbnSN/wapRay1PUbN8tvm7IDYOjpivhsRk+31/4pauKOoF4AZhzP6F9mhGxkGYBQ23Td5Y6+uZeaDnTYnXjs8fbV0QY1Mx+2EkHDSkLQoYlYr06pK9q55X3uLK1zTz5Ye0Po3KzbeydxOyyG+xBGg=" | |
10d92e53 MS |
91 | sudo: required |
92 | dist: trusty |