efl/.travis.yml

137 lines
4.0 KiB
YAML

language: c
cache:
directories:
- $HOME/cachedir
- $HOME/.ccache
- $HOME/autom4te.cache
sudo: required
dist: trusty
env:
global:
- MAKEFLAGS="-j5 -rR"
- EIO_MONITOR_POLL=1
- CC="ccache gcc"
- CXX="ccache g++"
jobs:
include:
- os: osx
env: BUILDSYSTEM=ninja
- os: linux
env: DISTRO=Fedora29-mingw CI_BUILD_TYPE=mingw
- os: linux
env: DISTRO=Fedora29 CI_BUILD_TYPE=options-enabled
- os: linux
env: DISTRO=Fedora29 CI_BUILD_TYPE=options-disabled
- os: linux
env: DISTRO=Fedora29 CI_BUILD_TYPE=wayland
- os: linux
env: DISTRO=Fedora29 CI_BUILD_TYPE=default
- os: linux
env: DISTRO=Fedora29 CI_BUILD_TYPE=options-enabled BUILDSYSTEM=ninja
- os: linux
env: DISTRO=Fedora29 CI_BUILD_TYPE=options-disabled BUILDSYSTEM=ninja
- os: linux
env: DISTRO=Fedora29 CI_BUILD_TYPE=wayland BUILDSYSTEM=ninja
- os: linux
env: DISTRO=Fedora29 CI_BUILD_TYPE=default BUILDSYSTEM=ninja
- os: osx
if: type = cron
- os: linux
if: type = cron
env: DISTRO=Fedora29 CI_BUILD_TYPE=release-ready
- os: linux
if: type = cron
env: DISTRO=Fedora29 CI_BUILD_TYPE=release-ready BUILDSYSTEM=ninja
- os: linux
if: type = cron
env: DISTRO=Ubuntu1810
- os: linux
if: type = cron
env: DISTRO=Debian96
- os: linux
if: type = cron
env: DISTRO=Ubuntu1810 BUILDSYSTEM=ninja
- os: linux
if: type = cron
env: DISTRO=Debian96 BUILDSYSTEM=ninja
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
.ci/ci-osx-deps.sh
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
cp $HOME/cachedir/config.cache . || true
fi
- .ci/ci-ccache-stats.sh
- |
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
cp $HOME/cachedir/config.cache . || true
fi
script:
- .ci/ci-configure.sh "$CI_BUILD_TYPE"
- .ci/ci-setup-ccache.sh "$CI_BUILD_TYPE"
- .ci/ci-make.sh "$CI_BUILD_TYPE"
- .ci/ci-make-checkbuild.sh "$CI_BUILD_TYPE"
#- .ci/ci-make-examples.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"
#- |
#if [[ "$DISTRO" == "" ]] && [[ "$TRAVIS_OS_NAME" != "linux" ]] ; then
#true
#elif [[ "$CI_BUILD_TYPE" != "release-ready" ]] ; then
#docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) .ci/build-efl-app.sh
#fi
before_cache:
- .ci/ci-ccache-stats.sh
- |
mkdir -p $HOME/cachedir
if [[ "$TRAVIS_OS_NAME" == "linux" ]] ; then
sudo chown travis:travis $HOME/.ccache
mkdir -p $HOME/cachedir/
sudo cp config.cache $HOME/cachedir/
sudo chown travis:travis $HOME/cachedir/config.cache
sudo chown travis:travis $HOME/autom4te.cache
else
cp config.cache $HOME/cachedir
mv $HOME/Library/Caches/Homebrew $HOME/cachedir/Homebrew
fi
notifications:
irc:
channels:
- "chat.freenode.net#edevelop"
on_success: change
on_failure: always
on_cancel: never
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}"