efl/.travis.yml

136 lines
3.2 KiB
YAML

version: ~> 1.0
language: c
cache:
directories:
- $HOME/cachedir
- $HOME/.ccache
dist: trusty
osx_image: xcode10.2
addons:
homebrew:
packages:
- gettext
- check
- bullet
- dbus
- fontconfig
- freetype
- fribidi
- gst-plugins-good
- gstreamer
- luajit
- openssl
- webp
- libsndfile
- glib
- libspectre
- libraw
- librsvg
- poppler
- lz4
- pulseaudio
- ccache
- ninja
- python3
- libffi
env:
global:
- EIO_MONITOR_POLL=1
- CC="ccache gcc"
- CXX="ccache g++"
jobs:
include:
- os: osx
- os: linux
env: DISTRO=Fedora31-mingw CI_BUILD_TYPE=mingw
- os: linux
env: DISTRO=Fedora31 CI_BUILD_TYPE=options-enabled
- os: linux
env: DISTRO=Fedora31 CI_BUILD_TYPE=options-disabled
- os: linux
env: DISTRO=Fedora31 CI_BUILD_TYPE=wayland
- os: linux
env: DISTRO=Fedora31 CI_BUILD_TYPE=default
- os: linux
if: type = cron
env: DISTRO=Fedora31 CI_BUILD_TYPE=release-ready
- os: linux
if: type = cron
env: DISTRO=Ubuntu1804
- os: linux
if: type = cron
env: DISTRO=Ubuntu1910
- os: linux
if: type = cron
env: DISTRO=Debian96
- os: linux
if: type = cron
env: DISTRO=Fedora31 CI_BUILD_TYPE=coverity
- os: linux
if: type = cron
env: DISTRO=Fedora31 CI_BUILD_TYPE=asan
services:
- docker
before_install:
- |
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
rm -rf $HOME/Library/Caches/Homebrew
rm -rf $HOME/cachedir/Homebrew/Homebrew
mv $HOME/cachedir/Homebrew $HOME/Library/Caches/Homebrew
pip3 install meson
fi
before_script:
- |
if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$DISTRO" != "" ]]; then
docker pull stefanschmidt1/ci-support-files:$DISTRO
fi
- |
if [[ "$TRAVIS_OS_NAME" == "linux" ]] ; then
docker version
docker run --cidfile $HOME/cid -t -d -v `pwd`:/src -v $HOME/.ccache:/root/.ccache -w /src stefanschmidt1/ci-support-files:$DISTRO bash
fi
- .ci/ci-ccache-stats.sh
script:
- .ci/ci-configure.sh "$CI_BUILD_TYPE"
- .ci/ci-setup-ccache.sh "$CI_BUILD_TYPE"
- .ci/ci-make.sh "$CI_BUILD_TYPE"
- |
if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$CI_BUILD_TYPE" == "" ]]; then
.ci/ci-make-benchmark.sh "$CI_BUILD_TYPE"
fi
- .ci/ci-make-install.sh "$CI_BUILD_TYPE"
- .ci/ci-make-check.sh "$CI_BUILD_TYPE"
- .ci/ci-make-distcheck.sh "$CI_BUILD_TYPE"
- |
- .ci/ci-build-test.sh "$CI_BUILD_TYPE"
before_cache:
- .ci/ci-ccache-stats.sh
- |
mkdir -p $HOME/cachedir
if [[ "$TRAVIS_OS_NAME" == "linux" ]] ; then
sudo chown travis:travis $HOME/.ccache
else
mv $HOME/Library/Caches/Homebrew $HOME/cachedir/Homebrew
fi
notifications:
irc:
channels:
- "chat.freenode.net#edevelop"
on_success: change
on_failure: always
template:
- "TravisCI build %{build_number} in branch %{branch}: %{result} - %{message} (%{elapsed_time})"
- "Commit: %{commit_subject} (%{commit}) from %{author}"
- "Change view : %{compare_url}"
- "Build details : %{build_url}"