forked from frankmorgner/openpace
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
122 lines (111 loc) · 3.83 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
language: C
matrix:
include:
- os: osx
compiler: clang
env: TARGET=osx
- compiler: gcc
dist: trusty
env: DO_CODECOV=yes
- env: DO_COVERITY_SCAN=yes
dist: trusty
- env: TARGET=win WIN_TOOL=i686-w64-mingw32
dist: trusty
- env: TARGET=win WIN_TOOL=x86_64-w64-mingw32
dist: trusty
- env: TARGET=emscripten
dist: trusty
env:
global:
- ac_cv_func_malloc_0_nonnull=yes
- PATH=$PATH:/tmp/js
- EMSCRIPTEN_ROOT=$TRAVIS_BUILD_DIR/emscripten-sdk/emscripten/master
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
# via the "travis encrypt" command using the project repo's public key
- secure: "KOfJHBqx3I7GsY6OIiqBMN5iFkTpeGlj+WwXF/ZaGmG7bYtIx1641mH43ECoaxGH6I4Tkdf2VBX3xTSVaCeT8OO0K3Zr84MRqmfjfzTo1uGkwiZD3e/pahPVjOTb+IGPForskeooix6KgCJQfW6skh8EEy7EPnZTNXJw2XLujj4="
- COVERITY_SCAN_BRANCH_PATTERN="(master|coverity.*)"
- COVERITY_SCAN_NOTIFICATION_EMAIL="frankmorgner@gmail.com"
- COVERITY_SCAN_BUILD_COMMAND="make"
- COVERITY_SCAN_PROJECT_NAME="$TRAVIS_REPO_SLUG"
- SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct)
sudo: false
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- binutils-mingw-w64-i686
- binutils-mingw-w64-x86-64
- g++-4.9
- gcc-mingw-w64-i686
- gcc-mingw-w64-x86-64
- gccgo
- gengetopt
- golang-go
- help2man
- lcov
- mingw-w64
- mingw-w64-tools
- openjdk-7-jdk
- openjdk-7-jre-headless
- python-dev
- ruby-dev
- swig
- xutils-dev
before_install:
- if [ "${TRAVIS_OS_NAME}" == "osx" ]; then
curl https://ftp.gnu.org/gnu/gengetopt/gengetopt-2.23.tar.xz -L --output gengetopt-2.23.tar.xz;
tar xfj gengetopt-2.23.tar.xz;
pushd gengetopt-2.23;
./configure && make;
sudo make install;
popd;
curl https://ftp.gnu.org/gnu/help2man/help2man-1.47.16.tar.xz -L --output help2man-1.47.16.tar.xz;
tar xjf help2man-1.47.16.tar.xz;
pushd help2man-1.47.16;
./configure && make;
sudo make install;
popd;
export PATH="/usr/local/opt/ccache/libexec:$PATH";
fi
install:
- if [ "${TARGET}" == emscripten ]; then
wget -P /tmp/j2me.js -N https://ftp.mozilla.org/pub/firefox/nightly/latest-mozilla-central/jsshell-linux-x86_64.zip;
unzip -d /tmp/js /tmp/j2me.js/jsshell-linux-x86_64.zip;
git clone --recursive https://github.com/marco-c/emscripten-sdk.git;
cd emscripten-sdk && ./emsdk activate latest && cd ..;
source emscripten-sdk/emsdk_env.sh;
fi
before_script:
- autoreconf -vis
- if [ -n "${DO_CODECOV}" ]; then
export CFLAGS="-O0 -fprofile-arcs -ftest-coverage" LDFLAGS="-fprofile-arcs -ftest-coverage";
elif [ "${TRAVIS_OS_NAME}" != "osx" ]; then
export ENABLE_BINDINGS="--enable-python --enable-java --enable-ruby --enable-go";
export GCCGOFLAGS="-static-libgcc $CFLAGS";
fi
- ./configure --enable-openssl-install $ENABLE_BINDINGS;
# Optionally try to upload to Coverity Scan
# On error (propably quota is exhausted), just continue
- if [ -n "${DO_COVERITY_SCAN}" ]; then curl -s 'https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh' | bash || true; fi
script:
- if [ -z "${DO_COVERITY_SCAN}" ]; then
make $TARGET;
if [ -z "$TARGET" ]; then
make check >> /tmp/checkout 2>&1 || (cat /tmp/checkout && false);
elif [ "${TARGET}" == emscripten ]; then
cd openpace-*_js/bin && js eactest.js && cd -;
fi
fi
after_success:
- if [ -n "$DO_CODECOV" ]; then
lcov --base-directory . --directory src --capture --output-file gcov.info;
bash <(curl -s https://codecov.io/bash) -X gcov;
fi
cache:
apt: true
ccache: true
notifications:
email:
on_success: change
on_failure: change