forked from darktable-org/darktable
-
Notifications
You must be signed in to change notification settings - Fork 1
/
.travis.yml
83 lines (77 loc) · 3.38 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
# This file is part of darktable.
# copyright (c) 2016-2019 Roman Lebedev.
#
# darktable is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# darktable is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with darktable. If not, see <http://www.gnu.org/licenses/>.
notifications:
irc:
channels:
# - "chat.freenode.net#darktable"
- secure: "fCQRwV2kMc5ycWjuuim0q+u9DS8D64oIWpfDipvrJDcIsS+MfkfkKrF68kDhNbDNtZHUfvP2Se/0hxUWw825VnyzNZZImrK+giOIGS588apxBPzNY3YMWMzwc4RaCKfyOWvFZDRGJwFzAwPWdSSQh7KMGJj7VibgoyhDTSSJYAk="
skip_join: true
template:
- "%{repository}#%{build_number} (\x037%{branch}\x03 - \x02%{commit}\x02 : \x033%{author}\x03): \x1f\x02%{message}\x02\x1f"
- "Build details : <%{build_url}>"
email:
recipients:
# - darktable-ci@lists.darktable.org
- secure: "Fvo7jlL8jpV+asdCmHHeJUK4BYw1JQvAxFpKUPZ/FWjkBfZ3W6is8jRBJVGfnt9TTvD1W2vsaLqeClv1SUfYw0t0keRSP0+0TB5R9ULIfC6/3bFLmp2aDPhBHLRjH3byxiJ46PvADcZ7MC+6jtf0YEEqy6uLbjaX4PiIXINM7Bo="
on_success: always
on_failure: always
language: generic
before_install:
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then travis_retry travis_wait 10 docker pull darktable/darktable; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update && brew tap Homebrew/bundle && cd .ci && brew bundle --verbose; fi
env:
global:
- SRC_DIR=/build/darktable
- BUILD_DIR=/build/darktable-build
- INSTALL_PREFIX=/build/darktable-install
- CFLAGS=-pipe CXXFLAGS=-pipe
matrix:
fast_finish: true
include:
- os: linux
sudo: required
services:
- docker
env: CC=gcc-9 CXX=g++-9 TARGET=build ECO="-DTESTBUILD_OPENCL_PROGRAMS=OFF"
#- os: osx
# env: CC=cc CXX=c++ TARGET=build # can't use CXX=g++ fails for osx.mm
- os: linux
sudo: required
services:
- docker
env: CC=clang-9 CXX=clang++-9 TARGET=build ECO="-DTESTBUILD_OPENCL_PROGRAMS=OFF"
- os: linux
sudo: required
services:
- docker
env: CC=clang-9 CXX=clang++-9 TARGET=build ECO="-DTESTBUILD_OPENCL_PROGRAMS=OFF -DUSE_OPENMP=OFF -DUSE_OPENCL=OFF"
#- os: osx
# env: CC=gcc-9 CXX=c++ TARGET=build # can't use CXX=g++ fails for osx.mm
- os: linux
sudo: required
services:
- docker
env: CC=gcc-9 CXX=g++-9 TARGET=usermanual ECO="-DTESTBUILD_OPENCL_PROGRAMS=OFF" # EXTRA_TMPFS="--tmpfs /tmp"
script:
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker run --read-only --volume $TRAVIS_BUILD_DIR:$SRC_DIR:ro --tmpfs $BUILD_DIR --workdir $BUILD_DIR --tmpfs $INSTALL_PREFIX $EXTRA_TMPFS --env CC --env CXX --env CFLAGS --env CXXFLAGS --env SRC_DIR --env BUILD_DIR --env INSTALL_PREFIX --env TARGET --env ECO darktable/darktable sh -c "$SRC_DIR/.ci/ci-script.sh"; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
export SRC_DIR="$TRAVIS_BUILD_DIR";
export BUILD_DIR="$SRC_DIR/build";
export INSTALL_PREFIX="$SRC_DIR/install";
mkdir "$BUILD_DIR";
mkdir "$INSTALL_PREFIX";
"$SRC_DIR/.ci/ci-script.sh";
fi