forked from mpromonet/webrtc-streamer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
74 lines (74 loc) · 3.31 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
dist: xenial
env:
global:
- GNARGSCOMMON='rtc_include_tests=false rtc_enable_protobuf=false use_custom_libcxx=false rtc_include_pulse_audio=false rtc_build_examples=false is_clang=false treat_warnings_as_errors=false'
matrix:
- |
GYP_GENERATOR_OUTPUT=x86_64-release
GNARGS='is_debug=false rtc_use_h264=true ffmpeg_branding="Chrome" use_sysroot=false'
PREFIX=$HOME/prefix
- |
GYP_GENERATOR_OUTPUT=rpi-armv7
GNARGS='is_debug=false rtc_use_h264=true ffmpeg_branding="Chrome" target_cpu="arm" use_ozone=true is_desktop_linux=false'
CROSS=arm-linux-gnueabihf-
- |
GYP_GENERATOR_OUTPUT=rpi-armv6
GNARGS='is_debug=false target_cpu="arm" use_ozone=true arm_version=6 arm_arch="armv6" arm_float_abi="hard" arm_use_neon=false arm_optionally_use_neon=false rtc_build_with_neon=false arm_use_thumb=false rtc_include_opus=false use_sysroot=false'
CROSS=arm-linux-gnueabihf-
CFLAGS_EXTRA="-marm -march=armv6 -mfpu=vfp -mfloat-abi=hard"
addons:
apt:
packages:
- git
- libgtk-3-dev
- libasound2-dev
language: cpp
compiler:
- gcc
script:
# get toolchain
- git clone --depth 1 https://chromium.googlesource.com/chromium/tools/depot_tools.git && export PATH=$PATH:$(pwd)/depot_tools
- if [ "$CROSS" == "arm-linux-gnueabihf-" ]; then wget -qO- https://releases.linaro.org/components/toolchain/binaries/6.4-2018.05/arm-linux-gnueabihf/gcc-linaro-6.4.1-2018.05-x86_64_arm-linux-gnueabihf.tar.xz | tar xJ -C $(pwd); export PATH=$(pwd)/gcc-linaro-6.4.1-2018.05-x86_64_arm-linux-gnueabihf/bin:$PATH; fi
# get WebRTC
- mkdir webrtc
- pushd webrtc
- travis_wait 30 fetch --no-history --nohooks webrtc
# patch webrtc to not download chromium-webrtc-resources
- sed -i -e "s|'src/resources'],|'src/resources'],'condition':'rtc_include_tests==true',|" src/DEPS
# get arm sysroot
- if [ "$CROSS" == "arm-linux-gnueabihf-" ]; then src/build/linux/sysroot_scripts/install-sysroot.py --arch=arm; fi
# get WebRTC dependencies
- travis_wait 30 gclient sync
- if [ "$CROSS" == "arm-linux-gnueabihf-" ]; then sed -e 's|"-mfpu=$arm_fpu"|"-mfpu=$arm_fpu","-marm"|' -i src/build/config/compiler/BUILD.gn; fi
- popd
# get, build and install live555 & alsa
- make WEBRTCROOT=./webrtc live555 alsa-lib
- pushd webrtc
- pushd src
# build WebRTC
- gn gen ${GYP_GENERATOR_OUTPUT}/out/Release --args="${GNARGSCOMMON} ${GNARGS}"
- ninja -C ${GYP_GENERATOR_OUTPUT}/out/Release webrtc rtc_json jsoncpp builtin_video_decoder_factory builtin_video_encoder_factory peerconnection p2p_server_utils
- popd
- popd
# build
- make WEBRTCROOT=./webrtc all tgz
before_deploy:
- export RELEASE_PKG_FILE=$(ls *.tgz)
- echo "RELEASE_PKG_FILE=${RELEASE_PKG_FILE}"
#deploy:
#- provider: heroku
# skip_cleanup: true
# api_key:
# secure: NmTNf38MkoWWQZrRkXyWqCdRRO4Xjv+Kl0TOZPw+qCXva4kc2T0uwSi2o4YNZBUA533NyZvO6IJMQOpx24UkjPhxVv591FBB+HdUevOxD4SEAE8fBibpHVX3sTU0XLp/mx+BpNFdxKrEHHzoyBZBFjesQVVMVczB4AOv/KZerGw=
# on:
# repo: mpromonet/webrtc-streamer
# condition: $GYP_GENERATOR_OUTPUT = x86_64
#- provider: releases
# skip_cleanup: true
# api_key:
# secure: FMXzmhBmuy7Jou3h5lG10b8xl5oqI96aYoUrUHO2rfKqQ4UMKxT3hXcdxOnSsnbI6d8NfXbOPKqmqmD4vTk+EqQjCK9fmsNxAg1UktLIsuOxoWmEWYLK5d3xpIuRmfRQDtPVjcryrE420FCfZS67lyr22+v1pLcvcD61ebGZLCg=
# file:
# - "${RELEASE_PKG_FILE}"
# on:
# repo: mpromonet/webrtc-streamer
# tags: true