-
Notifications
You must be signed in to change notification settings - Fork 261
/
.travis.yml
122 lines (115 loc) · 3.16 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: cpp
compiler: gcc
os: linux
dist: xenial
# This section uses a rather esoteric (and tricky!) feature of YAML,
# &aliases and *anchors, to build package lists out of sublists without
# repeating their contents. Basically, '&name' creates an alias for the
# given data, which can then be referenced using the anchor '*name'.
addons:
apt:
packages: &p_common # Packages common to all Ubuntu builds
- cmake
- libopenshot-audio-dev
- libmagick++-dev
- libunittest++-dev
- libzmq3-dev
- qtbase5-dev
- qtmultimedia5-dev
- libfdk-aac-dev
- libavcodec-dev
- libavformat-dev
- libavdevice-dev
- libavutil-dev
- libavfilter-dev
- libswscale-dev
- libpostproc-dev
- libswresample-dev
- swig
- doxygen
- graphviz
- curl
jobs:
include:
- name: "Coverage + FFmpeg 3.4 GCC (Ubuntu 18.04 Bionic)"
env:
- BUILD_VERSION=coverage_ffmpeg34
- CMAKE_EXTRA_ARGS="-DENABLE_COVERAGE=1"
- TEST_TARGET=coverage
os: linux
dist: bionic
addons:
apt:
sources:
- sourceline: 'ppa:openshot.developers/libopenshot-daily'
packages:
- *p_common
- qt5-default
- libavresample-dev
- libjsoncpp-dev
- lcov
- binutils-common # For c++filt
- name: "FFmpeg 4 GCC (Ubuntu 20.04 Focal)"
env:
- BUILD_VERSION=ffmpeg4
- CMAKE_EXTRA_ARGS=""
- TEST_TARGET=test
os: linux
dist: focal
addons:
apt:
sources:
- sourceline: 'ppa:openshot.developers/libopenshot-daily'
packages:
- *p_common
- qt5-default
- libjsoncpp-dev
- libavcodec58
- libavformat58
- libavdevice58
- libavutil56
- libavfilter7
- libswscale5
- libpostproc55
- libswresample3
- name: "FFmpeg 3.4 Clang (Ubuntu 18.04 Bionic)"
env:
- BUILD_VERSION=clang_ffmpeg34
- CMAKE_EXTRA_ARGS=""
- TEST_TARGET=test
os: linux
dist: bionic
compiler: clang
addons:
apt:
sources:
- sourceline: 'ppa:openshot.developers/libopenshot-daily'
packages:
- *p_common
- qt5-default
- libavresample-dev
- libomp-dev
- name: "FFmpeg 2 GCC (Ubuntu 16.04 Xenial)"
env:
- BUILD_VERSION=ffmpeg2
- CMAKE_EXTRA_ARGS=""
- TEST_TARGET="os_test"
os: linux
dist: xenial
addons:
apt:
sources:
- sourceline: 'ppa:openshot.developers/libopenshot-daily'
- sourceline: 'ppa:beineri/opt-qt-5.10.0-xenial'
packages:
- *p_common
- libavresample-dev
script:
- mkdir -p build; cd build;
- cmake -DCMAKE_INSTALL_PREFIX:PATH="$TRAVIS_OS_NAME-x64" -DCMAKE_BUILD_TYPE:STRING="Debug" ${CMAKE_EXTRA_ARGS} ../
- make VERBOSE=1
- make ${TEST_TARGET}
- make install
- cd ..
after_success:
- if [ "x$TEST_TARGET" = "xcoverage" ]; then bash <(curl -s https://codecov.io/bash) -f build/coverage.info || echo "Codecov did not collect coverage reports"; fi