summaryrefslogtreecommitdiff
path: root/.ci
diff options
context:
space:
mode:
authorStefan Schmidt <s.schmidt@samsung.com>2019-12-30 11:38:03 -0500
committerMike Blumenkrantz <zmike@samsung.com>2019-12-30 11:39:39 -0500
commit2af38d11ed58d95f050dc08cc038d6b4aa30ac91 (patch)
tree897a9196ffefcaf3fba49e79e6aaec30fa9edc1d /.ci
parent9c41899a085faadaaa1d0ed1decee3457eedbc46 (diff)
downloadefl-2af38d11ed58d95f050dc08cc038d6b4aa30ac91.tar.gz
ci: create a daily build to run with coverage enabled and upload to codecov
Summary: For this we bring back a native Linux build on the Travis with Ubuntu bionic. This allows use easy integration with codecov as Travis and Codecov have figured out all details. This means we need to be a bit more careful with our $DIST checks as empty no longer means osx. It could as well be the Linux job. Covergae reports will show up here: https://codecov.io/gh/Enlightenment/efl We are starting with 36%. Time to improve. :-) Fixes: T7910 Reviewers: bu5hm4n, zmike Reviewed By: zmike Subscribers: cedric Tags: #efl Differential Revision: https://phab.enlightenment.org/D10867
Diffstat (limited to '.ci')
-rwxr-xr-x.ci/ci-build-test.sh4
-rwxr-xr-x.ci/ci-ccache-stats.sh2
-rwxr-xr-x.ci/ci-configure.sh4
-rwxr-xr-x.ci/ci-make-benchmark.sh2
-rwxr-xr-x.ci/ci-make-check.sh14
-rwxr-xr-x.ci/ci-make-distcheck.sh2
-rwxr-xr-x.ci/ci-make-install.sh4
-rwxr-xr-x.ci/ci-make.sh5
-rwxr-xr-x.ci/ci-setup-ccache.sh2
-rwxr-xr-x.ci/ubuntu-bionic-install-deps.sh4
10 files changed, 34 insertions, 9 deletions
diff --git a/.ci/ci-build-test.sh b/.ci/ci-build-test.sh
index 05b753e38b..949fede958 100755
--- a/.ci/ci-build-test.sh
+++ b/.ci/ci-build-test.sh
@@ -3,14 +3,14 @@
set -e
. .ci/travis.sh
-if [ "$1" = "coverity" ] || [ "$1" = "mingw" ] || [ "$1" = "release-ready" ] ; then
+if [ "$1" = "codecov" ] || [ "$1" = "coverity" ] || [ "$1" = "mingw" ] || [ "$1" = "release-ready" ]; then
exit 0
fi
travis_fold compile_test compile_test
if [ "$DISTRO" != "" ] ; then
docker exec --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) .ci/build-example.sh
-else
+elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
exit 0
#FIXME: we don't install efl_ui.pc on osx?
export PATH="$(brew --prefix gettext)/bin:$PATH"
diff --git a/.ci/ci-ccache-stats.sh b/.ci/ci-ccache-stats.sh
index 76b270488c..42f44397d0 100755
--- a/.ci/ci-ccache-stats.sh
+++ b/.ci/ci-ccache-stats.sh
@@ -4,6 +4,6 @@ set -e
if [ "$DISTRO" != "" ] ; then
docker exec $(cat $HOME/cid) ccache -s
-else
+elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
ccache -s
fi
diff --git a/.ci/ci-configure.sh b/.ci/ci-configure.sh
index f9a58604e7..773e536aa1 100755
--- a/.ci/ci-configure.sh
+++ b/.ci/ci-configure.sh
@@ -100,4 +100,8 @@ elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
travis_fold meson meson
mkdir build && meson build -Dopengl=full -Decore-imf-loaders-disabler=scim,ibus -Dx11=false -Davahi=false -Deeze=false -Dsystemd=false -Dnls=false -Dcocoa=true -Demotion-loaders-disabler=gstreamer1,libvlc,xine
travis_endfold meson
+else
+ travis_fold meson meson
+ mkdir build && meson build -Decore-imf-loaders-disabler=scim,ibus -Db_coverage=true
+ travis_endfold meson
fi
diff --git a/.ci/ci-make-benchmark.sh b/.ci/ci-make-benchmark.sh
index 17455c1e52..58871dc52f 100755
--- a/.ci/ci-make-benchmark.sh
+++ b/.ci/ci-make-benchmark.sh
@@ -8,7 +8,7 @@ fi
travis_fold benchmark "ninja benchmark"
if [ "$DISTRO" != "" ] ; then
docker exec --env EIO_MONITOR_POLL=1 --env ELM_ENGINE=buffer $(cat $HOME/cid) ninja benchmark -C build
-else
+elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
ninja benchmark -C build
fi
diff --git a/.ci/ci-make-check.sh b/.ci/ci-make-check.sh
index 44f5f2bf90..afbf74da35 100755
--- a/.ci/ci-make-check.sh
+++ b/.ci/ci-make-check.sh
@@ -3,11 +3,23 @@
set -e
. .ci/travis.sh
-if [ "$1" = "release-ready" ] || [ "$1" = "mingw" ] || [ "$1" = "coverity" ] || [ "$1" = "options-enabled" ] || [ "$1" = "options-disabled" ]; then
+if [ "$1" = "release-ready" ] || [ "$1" = "mingw" ] || [ "$1" = "coverity" ] || [ "$1" = "options-enabled" ] || [ "$1" = "options-disabled" ] ; then
exit 0
fi
NUM_TRIES=5
+
+if [ "$1" = "codecov" ] ; then
+ for tries in $(seq 1 ${NUM_TRIES}); do
+ meson test -t 120 -C build --wrapper dbus-launch && break
+ cat build/meson-logs/testlog-dbus-launch.txt
+ if [ $tries != ${NUM_TRIES} ] ; then echo "tests failed, trying again!" ; fi
+ false
+ done
+ curl -s https://codecov.io/bash | bash -s -
+ exit 0
+fi
+
travis_fold check "ninja test"
if [ "$DISTRO" != "" ] ; then
for tries in $(seq 1 ${NUM_TRIES}); do
diff --git a/.ci/ci-make-distcheck.sh b/.ci/ci-make-distcheck.sh
index 22f441c14b..414c8abd1a 100755
--- a/.ci/ci-make-distcheck.sh
+++ b/.ci/ci-make-distcheck.sh
@@ -14,7 +14,7 @@ if [ "$DISTRO" != "" ] ; then
--env CFLAGS="-fdirectives-only" --env CXXFLAGS="-fdirectives-only" \
--env LD="ld.gold" $(cat $HOME/cid) dbus-launch ninja -C build dist || \
(sudo cat efl-*/_build/sub/src/test-suite.log; false)
-else
+elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
ninja -C build dist
fi
diff --git a/.ci/ci-make-install.sh b/.ci/ci-make-install.sh
index 157f1a2401..0a4cea890a 100755
--- a/.ci/ci-make-install.sh
+++ b/.ci/ci-make-install.sh
@@ -14,8 +14,10 @@ if [ "$1" = "asan" ]; then
fi
if [ "$DISTRO" != "" ] ; then
docker exec --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) ninja -C build install
-else
+elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
ninja -C build install
+else
+ sudo ninja -C build install
fi
travis_endfold install
diff --git a/.ci/ci-make.sh b/.ci/ci-make.sh
index 167e2369cb..5611f5dca4 100755
--- a/.ci/ci-make.sh
+++ b/.ci/ci-make.sh
@@ -12,6 +12,7 @@ if [ "$1" = "asan" ]; then
docker exec --env EIO_MONITOR_POLL=1 --env ASAN_OPTIONS=abort_on_error=0 --env LSAN_OPTIONS=suppressions=/src/.ci/asan-ignore-leaks.supp $(cat $HOME/cid) ninja -C build
exit $?
fi
+
if [ "$DISTRO" != "" ] ; then
if [ "$1" = "coverity" ] ; then
docker exec --env EIO_MONITOR_POLL=1 --env PATH="/src/cov-analysis-linux64-2019.03/bin:$PATH" $(cat $HOME/cid) sh -c "cov-build --dir cov-int ninja -C build"
@@ -20,8 +21,10 @@ if [ "$DISTRO" != "" ] ; then
else
docker exec --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) ninja -C build
fi
-else
+elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
export PATH="$(brew --prefix gettext)/bin:$PATH"
ninja -C build
+else
+ ninja -C build
fi
travis_endfold ninja
diff --git a/.ci/ci-setup-ccache.sh b/.ci/ci-setup-ccache.sh
index ab7d3b8613..810720e28d 100755
--- a/.ci/ci-setup-ccache.sh
+++ b/.ci/ci-setup-ccache.sh
@@ -5,7 +5,7 @@ set -e
if [ "$DISTRO" != "" ] ; then
docker exec $(cat $HOME/cid) sh -c ".ci/docker-ccache-setup.sh $1"
docker exec $(cat $HOME/cid) ccache -pz
-else
+elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
cp .ci/ccache.conf ~/.ccache
sed -iE '/^base_dir/d' ~/.ccache/ccache.conf
echo "base_dir = $pwd" >> ~/.ccache/ccache.conf
diff --git a/.ci/ubuntu-bionic-install-deps.sh b/.ci/ubuntu-bionic-install-deps.sh
new file mode 100755
index 0000000000..70f0287f09
--- /dev/null
+++ b/.ci/ubuntu-bionic-install-deps.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+sudo apt-get update -y
+sudo apt-get install -y build-essential autoconf automake autopoint doxygen check luajit libharfbuzz-dev libpng-dev libudev-dev libwebp-dev libssl-dev libluajit-5.1-dev libfribidi-dev libcogl-gles2-dev libgif-dev libtiff5-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libdbus-1-dev libmount-dev libblkid-dev libpulse-dev libxrandr-dev libxtst-dev libxcursor-dev libxcomposite-dev libxinerama-dev libxkbfile-dev libbullet-dev libvlc-dev libsndfile1-dev libraw-dev libspectre-dev libpoppler-cpp-dev libpam0g-dev liblz4-dev faenza-icon-theme gettext git imagemagick libasound2-dev libbluetooth-dev libfontconfig1-dev libfreetype6-dev libibus-1.0-dev libiconv-hook-dev libjpeg-dev libjpeg-turbo8-dev libpoppler-dev libpoppler-private-dev libproxy-dev librsvg2-dev libscim-dev libsystemd-dev libtool libudisks2-dev libunibreak-dev libxcb-keysyms1-dev libxine2-dev libxss-dev linux-tools-common libcurl4-openssl-dev systemd ccache git binutils-gold python3-pip ninja-build dbus-x11 libavahi-client-dev python3-setuptools
+pip3 install meson