21
21
- DEPENDENCY_INSTALL=install-dependency
22
22
- DEPENDENCY_INSTALL_PATH=${TRAVIS_BUILD_DIR}/${DEPENDENCY_INSTALL}
23
23
matrix :
24
- - DEPENDENCY_MODE=libav ENABLE_COVERAGE=true
25
- - DEPENDENCY_MODE=libav ENABLE_COVERAGE=false
26
- - DEPENDENCY_MODE=ffmpeg ENABLE_COVERAGE=true
27
- - DEPENDENCY_MODE=ffmpeg ENABLE_COVERAGE=false
24
+ - DEPENDENCY_NAME=libav DEPENDENCY_VERSION=11.3 ENABLE_COVERAGE=true
25
+ - DEPENDENCY_NAME=libav DEPENDENCY_VERSION=11.3 ENABLE_COVERAGE=false
26
+ - DEPENDENCY_NAME=ffmpeg DEPENDENCY_VERSION=2.4.2 ENABLE_COVERAGE=true
27
+ - DEPENDENCY_NAME=ffmpeg DEPENDENCY_VERSION=2.4.2 ENABLE_COVERAGE=false
28
+ - DEPENDENCY_NAME=ffmpeg DEPENDENCY_VERSION=2.5.7 ENABLE_COVERAGE=false
28
29
29
30
matrix :
30
- # generate coverage only with gcc
31
31
exclude :
32
+ # generate coverage only with gcc
32
33
- compiler : clang
33
- env : DEPENDENCY_MODE =ffmpeg ENABLE_COVERAGE=true
34
+ env : DEPENDENCY_NAME =ffmpeg DEPENDENCY_VERSION=2.4.2 ENABLE_COVERAGE=true
34
35
- compiler : clang
35
- env : DEPENDENCY_MODE =libav ENABLE_COVERAGE=true
36
- allow_failures :
36
+ env : DEPENDENCY_NAME =libav DEPENDENCY_VERSION=11.3 ENABLE_COVERAGE=true
37
+ # generate coverage only on linux
37
38
- os : osx
39
+ env : DEPENDENCY_NAME=libav DEPENDENCY_VERSION=11.3 ENABLE_COVERAGE=true
40
+ - os : osx
41
+ env : DEPENDENCY_NAME=ffmpeg DEPENDENCY_VERSION=2.4.2 ENABLE_COVERAGE=true
38
42
fast_finish : true
39
43
40
44
# This results in a 2×2×2x2 build matrix.
41
- # Where the variables are: os / compiler / DEPENDENCY_MODE / ENABLE_COVERAGE
45
+ # Where the variables are: os / compiler / DEPENDENCY_NAME / ENABLE_COVERAGE
46
+
47
+ # If ENABLE_COVERAGE is True, we push the coverage to coveralls.
48
+ # If ENABLE_COVERAGE is False, we push the binaries to github releases.
42
49
43
50
addons :
44
51
apt :
@@ -58,40 +65,42 @@ cache:
58
65
- ${DEPENDENCY_INSTALL_PATH}
59
66
60
67
before_script :
61
- - env | sort
68
+ - env | sort
62
69
- date -u
63
70
- uname -a
64
71
65
72
- cd ${TRAVIS_BUILD_DIR}
66
73
67
74
# install coverage tools
68
- - if [ ${ENABLE_COVERAGE} ]; then ./tools/travis. gcc.install.coverage.sh; fi
75
+ - if [ ${ENABLE_COVERAGE} ]; then ./tools/travis/ gcc.install.coverage.sh; fi
69
76
70
77
# install avtranscoder dependencies
71
- - if [ ${TRAVIS_OS_NAME} = "linux" ]; then ./tools/travis. linux.install.deps.sh; fi
72
- - if [ ${TRAVIS_OS_NAME} = "osx" ]; then ./tools/travis. osx.install.deps.sh; fi
78
+ - if [ ${TRAVIS_OS_NAME} = "linux" ]; then ./tools/travis/ linux.install.deps.sh; fi
79
+ - if [ ${TRAVIS_OS_NAME} = "osx" ]; then ./tools/travis/ osx.install.deps.sh; fi
73
80
74
81
script :
75
82
# build
76
- - ./tools/travis. build.sh
83
+ - ./tools/travis/ build.sh
77
84
78
85
# launch tests
79
- - if [ ${DEPENDENCY_MODE } = "ffmpeg" ]; then ./tools/travis. python.nosetests.sh; fi
86
+ - if [ ${TRAVIS_OS_NAME } = "linux" ] && [ ${DEPENDENCY_NAME} = " ffmpeg" ]; then ./tools/travis/ python.nosetests.sh; fi
80
87
81
88
after_success :
82
89
# generate coverage for coveralls
83
- - if [ ${ENABLE_COVERAGE} ]; then ./tools/travis. gcc.generate.coverage.sh; fi
90
+ - if [ ${ENABLE_COVERAGE} ]; then ./tools/travis/ gcc.generate.coverage.sh; fi
84
91
85
92
before_deploy :
93
+ # copy libbz2, external dependency of libavformat
94
+ - if [ ${TRAVIS_OS_NAME} = "linux" ]; then cp /lib/x86_64-linux-gnu/{libbz2.so.1,libbz2.so.1.0,libbz2.so.1.0.4} ${DEPENDENCY_INSTALL_PATH}/lib; fi
86
95
# create archive
87
96
- cd ${TRAVIS_BUILD_DIR}
88
- - tar -cvzf avtranscoder-${TRAVIS_OS_NAME}-${CC}-${DEPENDENCY_MODE }.tgz ${DEPENDENCY_INSTALL} ${AVTRANSCODER_INSTALL}
97
+ - tar -cvzf avtranscoder-${TRAVIS_OS_NAME}-${CC}-${DEPENDENCY_NAME}-${DEPENDENCY_VERSION }.tgz ${DEPENDENCY_INSTALL} ${AVTRANSCODER_INSTALL}
89
98
90
99
deploy :
91
100
provider : releases
92
101
api_key :
93
102
secure : ${GITHUB_RELEASE_API_KEY}
94
- file : avtranscoder-${TRAVIS_OS_NAME}-${CC}-${DEPENDENCY_MODE }.tgz
103
+ file : avtranscoder-${TRAVIS_OS_NAME}-${CC}-${DEPENDENCY_NAME}-${DEPENDENCY_VERSION }.tgz
95
104
skip_cleanup : true
96
105
on :
97
106
branch : master
0 commit comments