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