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