ci: add back target to do out-of-tree test build
[platform/upstream/efl.git] / .travis.yml
1 language: c
2 cache:
3   directories:
4     - $HOME/cachedir
5     - $HOME/.ccache
6 sudo: required
7 dist: trusty
8
9 osx_image: xcode10.2
10
11 addons:
12   homebrew:
13     packages:
14       - gettext
15       - check
16       - bullet
17       - dbus
18       - fontconfig
19       - freetype
20       - fribidi
21       - gst-plugins-good
22       - gstreamer
23       - luajit
24       - openssl
25       - webp
26       - libsndfile
27       - glib
28       - libspectre
29       - libraw
30       - librsvg
31       - poppler
32       - lz4
33       - pulseaudio
34       - ccache
35       - ninja
36       - python3
37       - libffi
38
39 env:
40   global:
41     - EIO_MONITOR_POLL=1
42     - CC="ccache gcc"
43     - CXX="ccache g++"
44
45 jobs:
46   include:
47     - os: osx
48     - os: linux
49       env: DISTRO=Fedora30-mingw CI_BUILD_TYPE=mingw
50     - os: linux
51       env: DISTRO=Fedora30 CI_BUILD_TYPE=options-enabled
52     - os: linux
53       env: DISTRO=Fedora30 CI_BUILD_TYPE=options-disabled
54     - os: linux
55       env: DISTRO=Fedora30 CI_BUILD_TYPE=wayland
56     - os: linux
57       env: DISTRO=Fedora30 CI_BUILD_TYPE=default
58     - os: linux
59       if: type = cron
60       env: DISTRO=Fedora30 CI_BUILD_TYPE=release-ready
61     - os: linux
62       if: type = cron
63       env: DISTRO=Ubuntu1804
64     - os: linux
65       if: type = cron
66       env: DISTRO=Ubuntu1904
67     - os: linux
68       if: type = cron
69       env: DISTRO=Debian96
70     - os: linux
71       if: type = cron
72       env: DISTRO=Fedora30 CI_BUILD_TYPE=coverity
73
74 services:
75   - docker
76
77 before_install:
78   - |
79       if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
80         rm -rf $HOME/Library/Caches/Homebrew
81         rm -rf $HOME/cachedir/Homebrew/Homebrew
82         mv $HOME/cachedir/Homebrew $HOME/Library/Caches/Homebrew
83         pip3 install meson
84       fi
85
86 before_script:
87   - |
88       if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$DISTRO" != "" ]]; then
89         docker pull stefanschmidt1/ci-support-files:$DISTRO
90       fi
91   - |
92       if [[ "$TRAVIS_OS_NAME" == "linux" ]] ; then
93         docker version
94         docker run --cidfile $HOME/cid -t -d -v `pwd`:/src -v $HOME/.ccache:/root/.ccache -w /src stefanschmidt1/ci-support-files:$DISTRO bash
95       fi
96   - .ci/ci-ccache-stats.sh
97
98 script:
99   - .ci/ci-configure.sh "$CI_BUILD_TYPE"
100   - .ci/ci-setup-ccache.sh "$CI_BUILD_TYPE"
101   - .ci/ci-make.sh "$CI_BUILD_TYPE"
102   - |
103       if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$CI_BUILD_TYPE" == "" ]]; then
104           .ci/ci-make-benchmark.sh "$CI_BUILD_TYPE"
105       fi
106   - .ci/ci-make-install.sh "$CI_BUILD_TYPE"
107   - .ci/ci-make-check.sh "$CI_BUILD_TYPE"
108   - .ci/ci-make-distcheck.sh "$CI_BUILD_TYPE"
109   - |
110   - .ci/ci-build-test.sh "$CI_BUILD_TYPE"
111 before_cache:
112   - .ci/ci-ccache-stats.sh
113   - |
114        mkdir -p $HOME/cachedir
115        if [[ "$TRAVIS_OS_NAME" == "linux" ]] ; then
116          sudo chown travis:travis $HOME/.ccache
117        else
118          mv $HOME/Library/Caches/Homebrew $HOME/cachedir/Homebrew
119        fi
120
121 notifications:
122   irc:
123     channels:
124       - "chat.freenode.net#edevelop"
125     on_success: change
126     on_failure: always
127     on_cancel: never
128     template:
129       - "TravisCI build %{build_number} in branch %{branch}: %{result} - %{message} (%{elapsed_time})"
130       - "Commit: %{commit_subject} (%{commit}) from %{author}"
131       - "Change view : %{compare_url}"
132       - "Build details : %{build_url}"