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