forked from meetecho/janus-gateway
-
Notifications
You must be signed in to change notification settings - Fork 1
/
.travis.yml
80 lines (73 loc) · 3.45 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
language: c
compiler:
- gcc
- clang
arch: amd64
os: linux
dist: bionic
env:
global:
- JANUS_COMMON_OPTS="--disable-docs --enable-post-processing --enable-plugin-lua --enable-plugin-duktape --enable-json-logger"
jobs:
- JANUS_CONFIG_OPTS="" LIBCURL=YES DATACHANNELS=YES
- JANUS_CONFIG_OPTS="--disable-data-channels" LIBCURL=YES DATACHANNELS=NO
- JANUS_CONFIG_OPTS="--disable-turn-rest-api --disable-sample-event-handler" LIBCURL=NO DATACHANNELS=YES
git:
quiet: true
depth: 10
addons:
apt:
update: true
packages:
- autoconf
- cmake
- gengetopt
- gtk-doc-tools
- libavcodec-dev
- libavformat-dev
- libavutil-dev
- libcollection-dev
- libconfig-dev
- libevent-dev
- libglib2.0-dev
- libgnutls28-dev
- libini-config-dev
- liblua5.3-dev
- libjansson-dev
- libmicrohttpd-dev
- libmount-dev
- libnanomsg-dev
- libogg-dev
- libopus-dev
- libsofia-sip-ua-dev
- libssl-dev
- libvorbis-dev
- ninja-build
- openssl
- python3
- python3-pip
- python3-setuptools
before_install:
- pip3 install wheel
- pip3 install meson
before_script:
- if [ $LIBCURL = YES ]; then sudo apt-get -y install libcurl4-openssl-dev; fi
- travis_retry git clone -b master https://gitlab.freedesktop.org/libnice/libnice.git libnice
- if [ $CC = clang ]; then LNICE_CFLAGS="-Wno-cast-align"; fi; pushd libnice && meson setup -Dprefix=/usr -Dlibdir=lib -Dc_args="$LNICE_CFLAGS" -Ddebug=false -Doptimization=0 -Dexamples=disabled -Dgtk_doc=disabled -Dgupnp=disabled -Dgstreamer=disabled -Dtests=disabled build && ninja -C build && sudo ninja -C build install && popd
- travis_retry git clone -b v2.3.0 https://github.com/cisco/libsrtp.git libsrtp
- pushd libsrtp && ./configure --prefix=/usr --enable-openssl && make -j$(nproc) shared_library && sudo make install && popd
- if [ $DATACHANNELS = YES ]; then git clone -b master https://github.com/sctplab/usrsctp usrsctp; fi
- if [ $DATACHANNELS = YES ]; then pushd usrsctp && ./bootstrap && ./configure --prefix=/usr --disable-static --disable-debug --disable-programs && make -j$(nproc) && sudo make install && popd; fi
- travis_retry git clone -b v3.2.2 https://github.com/warmcat/libwebsockets.git libwebsockets
- pushd libwebsockets && mkdir -p build && pushd build && cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DLWS_WITH_STATIC=OFF -DLWS_WITHOUT_CLIENT=ON -DLWS_WITHOUT_TESTAPPS=ON -DLWS_WITHOUT_TEST_SERVER=ON -DLWS_WITH_HTTP2=OFF .. && make -j$(nproc) && sudo make install && popd && popd
- travis_retry git clone -b v0.10.0 https://github.com/alanxz/rabbitmq-c rabbitmq-c
- pushd rabbitmq-c && mkdir build && pushd build && cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_TOOLS=OFF .. && sudo cmake --build . --target install -- -j$(nproc) && popd && popd
- travis_retry git clone -b v1.3.1 https://github.com/eclipse/paho.mqtt.c.git paho.mqtt.c
- pushd paho.mqtt.c && cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DPAHO_WITH_SSL=TRUE -DPAHO_BUILD_SAMPLES=FALSE -DPAHO_BUILD_DOCUMENTATION=FALSE && make -j$(nproc) && sudo make install && popd
script:
- ./autogen.sh
- if [ $LIBCURL = NO ]; then export LCURL=$(sudo find /usr -type f -name libcurl.pc); sudo mv "$LCURL" "$LCURL".bak; fi
- ./configure $JANUS_COMMON_OPTS $JANUS_CONFIG_OPTS
- if [ $LIBCURL = NO ]; then sudo mv "$LCURL".bak "$LCURL"; fi
- make -j$(nproc)
- make check-fuzzers