ci: travis: update Debian to 10.3 and Ubuntu to 20.04
[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 dist: bionic
9
10 osx_image: xcode11.3
11
12 addons:
13   homebrew:
14     packages:
15       - gettext
16       - check
17       - bullet
18       - dbus
19       - fontconfig
20       - freetype
21       - fribidi
22       - gst-plugins-good
23       - gstreamer
24       - luajit
25       - openssl
26       - webp
27       - libsndfile
28       - glib
29       - libspectre
30       - libraw
31       - librsvg
32       - poppler
33       - lz4
34       - pulseaudio
35       - ccache
36       - ninja
37       - python3
38       - libffi
39     update: true
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=Fedora32 CI_BUILD_TYPE=options-enabled
54     - os: linux
55       env: DISTRO=Fedora32 CI_BUILD_TYPE=options-disabled
56     - os: linux
57       env: DISTRO=Fedora32 CI_BUILD_TYPE=wayland
58     - os: linux
59       env: DISTRO=Fedora32 CI_BUILD_TYPE=default
60     - os: linux
61       if: type = cron
62       env: DISTRO=Fedora32 CI_BUILD_TYPE=release-ready
63     - os: linux
64       if: type = cron
65       env: DISTRO=Ubuntu2004
66     - os: linux
67       if: type = cron
68       env: DISTRO=Ubuntu1910
69     - os: linux
70       if: type = cron
71       env: DISTRO=Debian103
72     - os: linux
73       if: type = cron
74       env: DISTRO=Fedora31 CI_BUILD_TYPE=coverity
75     - os: linux
76       if: type = cron
77       env: DISTRO=Fedora32 CI_BUILD_TYPE=asan
78     - os: linux
79       if: type = cron
80       env: DISTRO=Fedora31-exactness CI_BUILD_TYPE=exactness
81     - os: linux
82       if: type = cron
83       env: CI_BUILD_TYPE=codecov
84     - os: linux
85       if: type = cron
86       arch: arm64
87       env: CI_BUILD_TYPE=default
88     - os: linux
89       if: type = cron
90       arch: ppc64le
91       env: CI_BUILD_TYPE=no-bindings
92     - os: linux
93       if: type = cron
94       arch: s390x
95       env: CI_BUILD_TYPE=no-bindings
96
97 services:
98   - docker
99
100 before_install:
101   - |
102       if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
103         rm -rf $HOME/Library/Caches/Homebrew
104         rm -rf $HOME/cachedir/Homebrew/Homebrew
105         mv $HOME/cachedir/Homebrew $HOME/Library/Caches/Homebrew
106         pip3 install meson
107       fi
108
109 before_script:
110   - |
111       if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$DISTRO" != "" ]]; then
112         docker pull stefanschmidt1/ci-support-files:$DISTRO
113         docker version
114         docker run --cap-add SYS_PTRACE --cidfile $HOME/cid -t -d -v `pwd`:/src -v $HOME/.ccache:/root/.ccache -w /src stefanschmidt1/ci-support-files:$DISTRO bash
115       fi
116   - |
117       if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$DISTRO" == "" ]]; then
118         .ci/ubuntu-bionic-install-deps.sh
119       fi
120   - .ci/ci-ccache-stats.sh
121
122 script:
123   - .ci/ci-configure.sh "$CI_BUILD_TYPE"
124   - .ci/ci-setup-ccache.sh "$CI_BUILD_TYPE"
125   - .ci/ci-make.sh "$CI_BUILD_TYPE"
126   - .ci/ci-make-install.sh "$CI_BUILD_TYPE"
127   - .ci/ci-make-benchmark.sh "$CI_BUILD_TYPE"
128   - .ci/ci-make-check.sh "$CI_BUILD_TYPE"
129   - .ci/ci-exactness.sh "$CI_BUILD_TYPE"
130   - .ci/ci-make-distcheck.sh "$CI_BUILD_TYPE"
131   - .ci/ci-build-test.sh "$CI_BUILD_TYPE"
132
133 before_cache:
134   - .ci/ci-ccache-stats.sh
135   - |
136        mkdir -p $HOME/cachedir
137        if [[ "$TRAVIS_OS_NAME" == "linux" ]] ; then
138          sudo chown travis:travis $HOME/.ccache
139        else
140          mv $HOME/Library/Caches/Homebrew $HOME/cachedir/Homebrew
141        fi
142
143 notifications:
144   irc:
145     channels:
146       - "chat.freenode.net#edevelop"
147     on_success: change
148     on_failure: always
149     template:
150       - "TravisCI build %{build_number} in branch %{branch}: %{result} - %{message} (%{elapsed_time})"
151       - "Commit: %{commit_subject} (%{commit}) from %{author}"
152       - "Change view : %{compare_url}"
153       - "Build details : %{build_url}"