forked from enlightenment/efl
ci: here comes ninja!
this updates the scripts in order to make ninja all / ninja test work as expected. For now there are 2 new jobs options-enabled and options-disabled. mingw and osx will follow in another commit. Benchmarks are disabled for now, as the eina benchmark does not seem to terminate. Differential Revision: https://phab.enlightenment.org/D7255
This commit is contained in:
parent
defded25eb
commit
8d1a1f603b
|
@ -4,6 +4,46 @@ set -e
|
||||||
|
|
||||||
. .ci/travis.sh
|
. .ci/travis.sh
|
||||||
|
|
||||||
|
if [ "$BUILDSYSTEM" = "ninja" ] ; then
|
||||||
|
if [ "$DISTRO" != "" ] ; then
|
||||||
|
# Normal build test of all targets
|
||||||
|
OPTS=" -Decore-imf-loaders-disabler=scim,ibus -Davahi=false -Dmono=false -Dcxx=false"
|
||||||
|
|
||||||
|
WAYLAND_LINUX_COPTS=" -Dwl=true -Ddrm=true -Dopengl=es-egl"
|
||||||
|
|
||||||
|
ENABLED_LINUX_COPTS=" -Dharfbuzz=true -Dhyphen=true"
|
||||||
|
|
||||||
|
DISABLED_LINUX_COPTS=" -Dsystemd=false"
|
||||||
|
|
||||||
|
RELEASE_READY_LINUX_COPTS=" --buildtype=release"
|
||||||
|
|
||||||
|
if [ "$1" = "options-enabled" ]; then
|
||||||
|
OPTS="$OPTS $ENABLED_LINUX_COPTS $WAYLAND_LINUX_COPTS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$1" = "options-disabled" ]; then
|
||||||
|
OPTS="$OPTS $DISABLED_LINUX_COPTS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$1" = "release-ready" ]; then
|
||||||
|
OPTS="$OPTS $RELEASE_READY_LINUX_COPTS"
|
||||||
|
fi
|
||||||
|
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CC="ccache gcc" \
|
||||||
|
--env CXX="ccache g++" --env CFLAGS="-fdirectives-only" --env CXXFLAGS="-fdirectives-only" \
|
||||||
|
--env LD="ld.gold" $(cat $HOME/cid) sh -c "mkdir build && meson build $OPTS"
|
||||||
|
else
|
||||||
|
# Prepare OSX env for build
|
||||||
|
mkdir -p ~/Library/LaunchAgents
|
||||||
|
ln -sfv /usr/local/opt/d-bus/*.plist ~/Library/LaunchAgents
|
||||||
|
launchctl load ~/Library/LaunchAgents/org.freedesktop.dbus-session.plist
|
||||||
|
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
|
||||||
|
|
||||||
|
export CFLAGS="-I/usr/local/opt/openssl/include -frewrite-includes $CFLAGS"
|
||||||
|
export LDFLAGS="-L/usr/local/opt/openssl/lib $LDFLAGS"
|
||||||
|
export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"
|
||||||
|
mkdir build && meson build -Decore-imf-loaders-disabler=scim,ibus -Dx11=false -Davahi=false -Dmono=false -Dcxx=false -Deeze=false -Dsystemd=false -Dnls=false -Dcocoa=true -Demotion-loaders-disabler=gstreamer,gstreamer1,libvlc,xine
|
||||||
|
fi
|
||||||
|
else
|
||||||
CI_BUILD_TYPE="$1"
|
CI_BUILD_TYPE="$1"
|
||||||
|
|
||||||
DEFAULT_LINUX_COPTS="--prefix=/usr/ --with-tests=regular --disable-cxx-bindings --disable-dependency-tracking -C"
|
DEFAULT_LINUX_COPTS="--prefix=/usr/ --with-tests=regular --disable-cxx-bindings --disable-dependency-tracking -C"
|
||||||
|
@ -86,7 +126,6 @@ if [ "$DISTRO" != "" ] ; then
|
||||||
--env CXX="ccache g++" --env CFLAGS="-fdirectives-only" --env CXXFLAGS="-fdirectives-only" \
|
--env CXX="ccache g++" --env CFLAGS="-fdirectives-only" --env CXXFLAGS="-fdirectives-only" \
|
||||||
--env LD="ld.gold" $(cat $HOME/cid) sh -c ".ci/configure.sh $OPTS"
|
--env LD="ld.gold" $(cat $HOME/cid) sh -c ".ci/configure.sh $OPTS"
|
||||||
fi
|
fi
|
||||||
travis_endfold configure
|
|
||||||
else
|
else
|
||||||
OSX_COPTS="--disable-cxx-bindings --with-tests=regular --disable-dependency-tracking -C"
|
OSX_COPTS="--disable-cxx-bindings --with-tests=regular --disable-dependency-tracking -C"
|
||||||
|
|
||||||
|
@ -107,5 +146,6 @@ else
|
||||||
travis_endfold autoreconf
|
travis_endfold autoreconf
|
||||||
travis_fold configure "configure $OSX_COPTS"
|
travis_fold configure "configure $OSX_COPTS"
|
||||||
.ci/configure.sh $OSX_COPTS
|
.ci/configure.sh $OSX_COPTS
|
||||||
|
fi
|
||||||
travis_endfold configure
|
travis_endfold configure
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -6,10 +6,14 @@ if [ "$1" = "release-ready" ] ; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
travis_fold benchmark "make benchmark"
|
travis_fold benchmark "make benchmark"
|
||||||
|
if [ "$BUILDSYSTEM" = "ninja" ] ; then
|
||||||
|
echo "Nothing to do here, the benchmarks don't seem to terminate"
|
||||||
|
else
|
||||||
if [ "$DISTRO" != "" ] ; then
|
if [ "$DISTRO" != "" ] ; then
|
||||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) make benchmark
|
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) make benchmark
|
||||||
else
|
else
|
||||||
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
|
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
|
||||||
make benchmark
|
make benchmark
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
travis_endfold benchmark
|
travis_endfold benchmark
|
||||||
|
|
|
@ -17,6 +17,16 @@ fi
|
||||||
NUM_TRIES=5
|
NUM_TRIES=5
|
||||||
|
|
||||||
travis_fold check "make check-TESTS"
|
travis_fold check "make check-TESTS"
|
||||||
|
if [ "$BUILDSYSTEM" = "ninja" ] ; then
|
||||||
|
if [ "$DISTRO" != "" ] ; then
|
||||||
|
for tries in $(seq 1 ${NUM_TRIES}); do
|
||||||
|
(docker exec --env EINA_LOG_BACKTRACE="0" --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) ninja -C build test) && break
|
||||||
|
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) cat src/test-suite.log
|
||||||
|
if [ $tries != ${NUM_TRIES} ] ; then echo "tests failed, trying again!" ; fi
|
||||||
|
false
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
else
|
||||||
if [ "$DISTRO" != "" ] ; then
|
if [ "$DISTRO" != "" ] ; then
|
||||||
for tries in $(seq 1 ${NUM_TRIES}); do
|
for tries in $(seq 1 ${NUM_TRIES}); do
|
||||||
(docker exec --env EINA_LOG_BACKTRACE="0" --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) make -j2 -C src/ check-TESTS) && break
|
(docker exec --env EINA_LOG_BACKTRACE="0" --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) make -j2 -C src/ check-TESTS) && break
|
||||||
|
@ -33,6 +43,7 @@ if [ "$DISTRO" != "" ] ; then
|
||||||
#false
|
#false
|
||||||
#done
|
#done
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
ret=$?
|
ret=$?
|
||||||
travis_endfold check
|
travis_endfold check
|
||||||
|
|
||||||
|
|
|
@ -9,10 +9,14 @@ if [ "$1" = "mingw" ] ; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
travis_fold check-build "make check-build"
|
travis_fold check-build "make check-build"
|
||||||
|
if [ "$BUILDSYSTEM" = "ninja" ] ; then
|
||||||
|
echo "Nothing to do here"
|
||||||
|
else
|
||||||
if [ "$DISTRO" != "" ] ; then
|
if [ "$DISTRO" != "" ] ; then
|
||||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) make check-build
|
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) make check-build
|
||||||
else
|
else
|
||||||
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
|
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
|
||||||
make check-build
|
make check-build
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
travis_endfold check-build
|
travis_endfold check-build
|
||||||
|
|
|
@ -6,6 +6,18 @@ if [ "$1" != "release-ready" ] ; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
travis_fold distcheck "make distcheck"
|
travis_fold distcheck "make distcheck"
|
||||||
|
if [ "$BUILDSYSTEM" = "ninja" ] ; then
|
||||||
|
if [ "$DISTRO" != "" ] ; then
|
||||||
|
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CC="ccache gcc" \
|
||||||
|
--env CXX="ccache g++" \
|
||||||
|
--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
|
||||||
|
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
|
||||||
|
ninja -C build dist
|
||||||
|
fi
|
||||||
|
else
|
||||||
if [ "$DISTRO" != "" ] ; then
|
if [ "$DISTRO" != "" ] ; then
|
||||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CC="ccache gcc" \
|
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CC="ccache gcc" \
|
||||||
--env CXX="ccache g++" \
|
--env CXX="ccache g++" \
|
||||||
|
@ -16,4 +28,5 @@ else
|
||||||
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
|
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
|
||||||
make
|
make
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
travis_endfold distcheck
|
travis_endfold distcheck
|
||||||
|
|
|
@ -6,10 +6,14 @@ if [ "$1" = "release-ready" ] ; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
travis_fold examples "make examples"
|
travis_fold examples "make examples"
|
||||||
|
if [ "$BUILDSYSTEM" = "ninja" ] ; then
|
||||||
|
echo "TODO"
|
||||||
|
else
|
||||||
if [ "$DISTRO" != "" ] ; then
|
if [ "$DISTRO" != "" ] ; then
|
||||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) make examples
|
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) make examples
|
||||||
else
|
else
|
||||||
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
|
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
|
||||||
make examples
|
make examples
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
travis_endfold examples
|
travis_endfold examples
|
||||||
|
|
|
@ -6,10 +6,19 @@ if [ "$1" = "release-ready" ] ; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
travis_fold install "make install"
|
travis_fold install "make install"
|
||||||
|
if [ "$BUILDSYSTEM" = "ninja" ] ; then
|
||||||
|
if [ "$DISTRO" != "" ] ; then
|
||||||
|
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) ninja -C build install
|
||||||
|
else
|
||||||
|
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
|
||||||
|
ninja -C build install
|
||||||
|
fi
|
||||||
|
else
|
||||||
if [ "$DISTRO" != "" ] ; then
|
if [ "$DISTRO" != "" ] ; then
|
||||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) make install
|
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) make install
|
||||||
else
|
else
|
||||||
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
|
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
|
||||||
make install
|
make install
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
travis_endfold install
|
travis_endfold install
|
||||||
|
|
|
@ -6,10 +6,19 @@ if [ "$1" = "release-ready" ] ; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
travis_fold make make
|
travis_fold make make
|
||||||
|
if [ "$BUILDSYSTEM" = "ninja" ] ; then
|
||||||
|
if [ "$DISTRO" != "" ] ; then
|
||||||
|
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) ninja -C build
|
||||||
|
else
|
||||||
|
export PATH="$(brew --prefix gettext)/bin:$PATH"
|
||||||
|
ninja -C build
|
||||||
|
fi
|
||||||
|
else
|
||||||
if [ "$DISTRO" != "" ] ; then
|
if [ "$DISTRO" != "" ] ; then
|
||||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) make
|
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) make
|
||||||
else
|
else
|
||||||
export PATH="$(brew --prefix gettext)/bin:$PATH"
|
export PATH="$(brew --prefix gettext)/bin:$PATH"
|
||||||
make
|
make
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
travis_endfold make
|
travis_endfold make
|
||||||
|
|
|
@ -2,4 +2,5 @@
|
||||||
|
|
||||||
brew update
|
brew update
|
||||||
brew unlink python
|
brew unlink python
|
||||||
brew install gettext check bullet dbus fontconfig freetype fribidi gst-plugins-good gstreamer luajit openssl webp libsndfile glib libspectre libraw librsvg poppler lz4 pulseaudio ccache
|
brew install 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
|
||||||
|
pip3 install meson
|
||||||
|
|
26
.travis.yml
26
.travis.yml
|
@ -20,6 +20,16 @@ env:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
include:
|
include:
|
||||||
|
- env:
|
||||||
|
- os: linux
|
||||||
|
- DISTRO=Fedora28
|
||||||
|
- CI_BUILD_TYPE=options-enabled
|
||||||
|
- BUILDSYSTEM=ninja
|
||||||
|
- env:
|
||||||
|
- os: linux
|
||||||
|
- DISTRO=Fedora28
|
||||||
|
- CI_BUILD_TYPE=options-disabled
|
||||||
|
- BUILDSYSTEM=ninja
|
||||||
- env:
|
- env:
|
||||||
- os: linux
|
- os: linux
|
||||||
- DISTRO=Fedora28
|
- DISTRO=Fedora28
|
||||||
|
@ -45,6 +55,22 @@ jobs:
|
||||||
env:
|
env:
|
||||||
- os: linux
|
- os: linux
|
||||||
- DISTRO=Debian91
|
- DISTRO=Debian91
|
||||||
|
- if: type = cron
|
||||||
|
env:
|
||||||
|
- os: linux
|
||||||
|
- DISTRO=Ubuntu1804
|
||||||
|
- BUILDSYSTEM=ninja
|
||||||
|
- if: type = cron
|
||||||
|
env:
|
||||||
|
- os: linux
|
||||||
|
- DISTRO=Fedora28
|
||||||
|
- CI_BUILD_TYPE=release-ready
|
||||||
|
- BUILDSYSTEM=ninja
|
||||||
|
- if: type = cron
|
||||||
|
env:
|
||||||
|
- os: linux
|
||||||
|
- DISTRO=Debian91
|
||||||
|
- BUILDSYSTEM=ninja
|
||||||
exclude:
|
exclude:
|
||||||
- os: linux
|
- os: linux
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue