forked from NatronGitHub/openfx
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
116 lines (106 loc) · 3.92 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
# set BUILDDOC to 1 to build documentation on travis
env:
global:
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
# via the "travis encrypt" command using the project repo's public key
- secure: "atkp6N18AfJLhoXxJMl6UNo+O6M8B1abAPbUojN/M0Hg+qwWbqIuZZGJ05vf2zAAZBrCcSEGw0MV1ek5zZF2S9B3gBtXavm+8z0SvZ6jcBjeuJGQGE9bkmHaIdeloVmZgYkgIkvBzHiYrsIn0U3ezblk1ARa94Em3JTEqLfGiB4="
# Coverity run condition (avoid matrix multiple runs), need customized
# build script. Need an update if new matrix cases.
- coverity_scan_run_condition='"$CC" = gcc -a "$TRAVIS_OS_NAME" != osx'
# Coverity script test mode (if true no uploading, avoid reaching the quota)
# usual processing: false.
- coverity_scan_script_test_mode=false
- BUILDDOC=0
# Travis CI has 1.5 cores per VM, take advantage of it
# But first, the makefiles have to be fixed: all plugins are using the same .o's
#- MAKEFLAGS="-j 2"
os:
- linux
- osx
language: cpp
compiler:
- gcc
- clang
matrix:
exclude:
- os: osx
compiler: gcc
fast_finish: true
# ubuntu-toolchain-r/test contains recent versions of gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- gcc-8
- g++-8
- doxygen
- xsltproc
- libgl-dev
coverity_scan:
# customized build script URL
# TRAVIS_REPO_SLUG: owner_name/repo_name of repository currently being built
# TRAVIS_BRANCH: name of the branch currently being built
build_script_url: https://raw.githubusercontent.com/$TRAVIS_REPO_SLUG/$TRAVIS_BRANCH/.travis-coverity-scan-build.sh
# project metadata
project:
name: $TRAVIS_REPO_SLUG
# Where email notification of build analysis results will be sent
notification_email: [email protected]
# Commands to prepare for build_command
#build_command_prepend: ./configure
# This command will be added as an argument to "cov-build" to compile
# the project for analysis
build_command: "make $J CONFIG=debug"
# Pattern to match selecting branches that will run analysis
branch_pattern: coverity_scan
before_install:
- date -u
- uname -a
- if [ ${TRAVIS_OS_NAME} = "linux" ]; then
echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca- ;
fi
# - export J='-j3';
install:
- git submodule update --init --recursive
- touch HostSupport/expat-*/configure.ac
- touch HostSupport/expat-*/Makefile.am
- touch HostSupport/expat-*/*/Makefile.am
- touch HostSupport/expat-*/*/*/Makefile.am
- touch HostSupport/expat-*/aclocal.m4
- touch HostSupport/expat-*/configure
- touch HostSupport/expat-*/Makefile.in
- touch HostSupport/expat-*/*/Makefile.in
- touch HostSupport/expat-*/*/*/Makefile.in
- if [[ ${COVERITY_BUILD_DISABLED} == 1 ]];
then
exit 0;
fi
- if [ ${TRAVIS_OS_NAME} = "linux" -a "$CC" = "gcc" ];
then
if [ "$BUILDDOC" = 1 ]; then
sudo apt-get install doxygen xsltproc;
fi;
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test;
sudo apt-get update;
sudo apt-get install gcc-8 g++-8;
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 90;
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 90;
fi
script:
- if [[ ${COVERITY_SCAN_BRANCH} == 1 ]];
then
echo "Don't build on coverity_scan branch.";
exit 0;
fi
- make $J CONFIG=debug
- make clean CONFIG=debug
- make $J -C HostSupport DEBUG=true OPTIMIZE="-g -Wall -DOFX_EXTENSIONS_VEGAS -DOFX_EXTENSIONS_NUKE -DOFX_EXTENSIONS_NATRON -DOFX_EXTENSIONS_TUTTLE -DOFX_DEBUG_ACTIONS -DOFX_DEBUG_PARAMETERS -DOFX_DEBUG_PROPERTIES -DOFX_SUPPORTS_OPENGLRENDER -DOFX_SUPPORTS_DIALOG"
- if [ ${TRAVIS_OS_NAME} = "linux" -a "$CC" = "gcc" -a "$BUILDDOC" = 1 ];
then
make -C Documentation;
fi
# Local Variables:
# indent-tabs-mode: nil
# coding: utf-8
# End: