efl/.travis.yml

141 lines
3.8 KiB
YAML

language: c
cache:
directories:
- $HOME/cachedir
- $HOME/.ccache
- $HOME/autom4te.cache
sudo: required
dist: trusty
os:
- linux
- osx
env:
global:
- MAKEFLAGS="-j5 -rR"
- EIO_MONITOR_POLL=1
- CC="ccache gcc"
- CXX="ccache g++"
jobs:
include:
- env:
- os: linux
- DISTRO=Fedora28
- CI_BUILD_TYPE=wayland
- env:
- os: linux
- DISTRO=Fedora28
- CI_BUILD_TYPE=misc
- env:
- os: linux
- DISTRO=Fedora28
- CI_BUILD_TYPE=misc-disabled
- if: type = cron
env:
- os: linux
- DISTRO=Ubuntu1804
- if: type = cron
env:
- os: linux
- DISTRO=Fedora28
- CI_BUILD_TYPE=release-ready
- if: type = cron
env:
- os: linux
- DISTRO=Debian91
- if: type = cron
env:
- os: linux
- DISTRO=Archlinux
exclude:
- os: linux
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
after_success:
- |
if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$DISTRO" != "" ]]; then
docker login -u stefanschmidt1 -p "$DOCKER_PASSWORD"
docker tag stefanschmidt1/ci-support-files:$DISTRO stefanschmidt1/ci-support-files:$DISTRO-$TRAVIS_BUILD_NUMBER
docker push stefanschmidt1/ci-support-files:$DISTRO
docker push stefanschmidt1/ci-support-files:$DISTRO-$TRAVIS_BUILD_NUMBER
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}"