Commit Graph

65 Commits

Author SHA1 Message Date
Marcel Hollerbach b1217ede65 ci: host binaries have moved to a new path
this fixes ci
2019-02-21 08:56:13 +01:00
Marcel Hollerbach 7ab9b48151 build: enable eolian_gen bootstrapping for cross compile
this enables travis to build eolian_gen before cross compiling in mingw.
This is done in order to make eolian_gen patches easier on CI.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D7930
2019-02-14 13:00:58 +01:00
Stefan Schmidt 95a9cc90d1 ci: travis: switch mingw cross build to also use Fedora 29 as base
Summary:
The new image also contains the ewpi install in a different location.
Updating the references here.

Reviewers: bu5hm4n, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7833
2019-01-30 14:51:31 -05:00
Stefan Schmidt cea392390f ci: travis: bring back default and wayland builds
Summary:
With some recent changes we only had builds running after a push which
did not qualify for a make check / ninja test run. Mostly due to problems
with the tests and specific config options. Bring back a default build
which will also run the unit tests un every push.

Also adding back a dedicated wayland build due to conflicts of gl
versions with the all options enabled build.

Fixes T7545

Reviewers: bu5hm4n, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7545

Differential Revision: https://phab.enlightenment.org/D7727
2019-01-23 09:13:27 -05:00
Stefan Schmidt 557bf35511 ci: update distro checks after version upgrades
Summary:
These two checks still used the, now updated to newer, Debian and Ubuntu
versions. It only showed in the daily cron job build.

Reviewers: bu5hm4n, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D7719
2019-01-22 11:49:32 -05:00
Wonki Kim 8d58ef48bd meson: modify options for enabling the bindings
bindings are added as subdir by foreaching a array defined in meson.build at root.
then meson checks a option which has the same name of the binding.
this patch appends a new option for selecting bindings to build.

[howto]
*as-is
meson build.asis/ -Dmono=false -Dcxx=true
ninja -C build.asis/

*to-be
menson build.tobe/ -Dbindings=luajit,cxx
ninja -C build.tobe/

it is imposibble to use this wrongly because meson raise a error if arguments are not in a predefined list that described in meson_options.txt.
for more information, refer to https://mesonbuild.com/Build-options.html and also take a look at meson_options.txt please.
Differential Revision: https://phab.enlightenment.org/D7563
2019-01-10 10:57:42 +01:00
Stefan Schmidt 6206e7e944 ci: mingw: enable various build options with dependencies now satisfied
After some fixes and updates in ewpi we now have gstreamer, libtiff and
bullet ready as cross compiled dependencies. Time to enable them in the
build.

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7378
2018-12-07 12:39:36 +01:00
Stefan Schmidt 8e9f773f04 travis: re-enable mingw build with newer eolian_gen for bootstrap
The docker image now contains a native efl build as bootstrap for doing
the mingw cross-build. Paths to the generator binaries have been
update. We also switched to using a dedicated Fedora28-mingw docker
image for now to have a more stable environment for now.

Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7377
2018-12-07 12:39:35 +01:00
Marcel Hollerbach 1dabc4970a ci: disable testing on ubuntu and debian
it appears that there is a bug in meson (which is fixed upstream).
For now this disables the tests, it can be reverted later once 0.49 is
released.

This fixes the cron job for 2 jobs.

Differential Revision: https://phab.enlightenment.org/D7410
2018-12-06 15:49:33 +01:00
Marcel Hollerbach 8d1a1f603b 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
2018-11-23 14:38:26 +01:00
Stefan Schmidt defded25eb travis: merge wayland build into misc and rename to options-enabled
The misc build already had most of the extra options enabled for the EFL
build. Instead of wasting CPU cycles on a full seperate build for just
wayland options we merge these two together. In the process we rename
from misc (pretty vague) to options-enabled and options-disbaled.

Due to the combination of options we need to disable sdl for now. It
clashes with the OpenGL ES option we enable for wayland. Having build
for the different GL flavours is something we should look into at some
point.

Patch is based on the patches from Marcel in D7253 and D7254

Differential Revision: https://phab.enlightenment.org/D7320
2018-11-23 14:20:25 +01:00
Stefan Schmidt 1a17f41584 ci: mingw build target to cross compile EFL for Windows
We are using the EFL windows package installer (ewpi) from Vincent Torri
here (thanks!) to setup all the needed cross compiled dependencies for
EFL.

The make target is disabled as we are not able to execute the windows
binaries withour additional work to run check.

Work is ongoing in ewpi to have the dependencies provided for soem of
the disabled build options (gstreamer, webp, tiff, physics, etc). Once
these are working well in ewpi we will enable them here as well.

[Brought back after revert. CI image is now fixed to have the needed
pre-built windows components again]

Differential Revision: https://phab.enlightenment.org/D7294
2018-11-20 11:17:37 +01:00
Stefan Schmidt b8bcd7c2f3 ci/dockerfiles: remove outdated files maintained elsewhere
For a long time now we maintain the needed dockerfiles in a different
repo: https://github.com/Enlightenment/ci-support-files

Doing so allows use to easily use Docker Hub to build these images being
used by Travis CI. The ones deleted here are outdated for a while now
and of no real use anymore.

Differential Revision: https://phab.enlightenment.org/D7307
2018-11-20 10:29:57 +01:00
Marcel Hollerbach ffb992cd4f Revert "ci: mingw build target to cross compile EFL for Windows"
This reverts commit 883058b92b.

This seems to bring up errors in the build -ldbus-1 cannot be found.
Revisions is reopened.
2018-11-19 19:00:11 +01:00
Stefan Schmidt 883058b92b ci: mingw build target to cross compile EFL for Windows
We are using the EFL windows package installer (ewpi) from Vincent Torri
here (thanks!) to setup all the needed cross compiled dependencies for
EFL.

The make target is disabled as we are not able to execute the windows
binaries withour additional work to run check.

Work is ongoing in ewpi to have the dependencies provided for soem of
the disabled build options (gstreamer, webp, tiff, physics, etc). Once
these are working well in ewpi we will enable them here as well.

Differential Revision: https://phab.enlightenment.org/D7294
2018-11-19 09:29:43 +01:00
Mike Blumenkrantz 70d0fd0d52 ci: run tests up to 5 times before failing
when travis is throttling resourcse more than usual (resources are
dynamically allocated since we are not using a paid service), it
can be the case that tests fail even more than usual.

this number may need to be increased further if 5 does not provide enough
reliability

Differential Revision: https://phab.enlightenment.org/D6920
2018-09-14 11:38:02 +02:00
Mike Blumenkrantz 0a58590934 ci: silence libtool
attempt to disable some libtool warnings throughout the build

https://phab.enlightenment.org/D6661

[Hand edited to get it applied. Stefan]
2018-09-14 10:49:45 +02:00
Mike Blumenkrantz 3065bd054a ci: explicitly clone and build an external app during distcheck
Differential Revision: https://phab.enlightenment.org/D6789
2018-08-21 11:24:47 +02:00
Mike Blumenkrantz 48c12cba5c ci: use distcheck script
I forgot to enable this when I rebased the original version

Differential Revision: https://phab.enlightenment.org/D6877
2018-08-21 11:15:34 +02:00
Mike Blumenkrantz 6bd3bcebe6 ci: disable backtracing on log errors
this is just spam that fills up the logs and sometimes causes builds to
abort when they reach the maximum log size

Differential Revision: https://phab.enlightenment.org/D6788
2018-08-21 11:13:51 +02:00
Mike Blumenkrantz 91dd1d9f4b ci: use manual script for distcheck build
this adds a script which reimplements the distcheck rule generated from
automake and runs that script instad of 'make distcheck'

the benefit of this is that the distcheck script can run tests multiple times
to avoid intermittent failures which could potentially cause build errors.
distcheck builds are by far the longest and most costly of all ci builds, so
it's important to reduce failure rates in these builds to the absolute minimum
in order to keep ci build times low

cibuildme

fix T7094

Differential Revision: https://phab.enlightenment.org/D6734
2018-08-17 22:13:53 +02:00
Mike Blumenkrantz 31a625cb7d ci: always use same version numbering for every build
if the version number ever changes then this destroys the entire ccache
as the version is used in various places in headers which are included
throughout the tree

Differential Revision: https://phab.enlightenment.org/D6848
2018-08-17 22:11:07 +02:00
Mike Blumenkrantz 1edf1295e8 ci: automatically clear config.cache if it cannot be used
Summary:
if env vars change between runs then the cache is invalidated, causing
configure to print a very specific error

by running a separate script to catch this error, the build can detect
and clear the cache when necessary to avoid having to manually disable
the cache when changing build settings
Depends on D6697

Reviewers: stefan_schmidt, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6732
2018-08-08 09:38:25 -04:00
Mike Blumenkrantz bbfb18c79e ci: remove --always-build-examples from misc build
these should only be explicitly built by the examples target or built
during distcheck

Differential Revision: https://phab.enlightenment.org/D6665
2018-08-03 14:07:13 +02:00
Mike Blumenkrantz 3ede74a8fc ci: print config.log if configure fails
Differential Revision: https://phab.enlightenment.org/D6717
2018-08-01 09:48:44 +02:00
Mike Blumenkrantz 9d631d57a5 ci: explicitly set PKG_CONFIG_PATH for openssl
travis upgraded to macos high sierra overnight without notification(?)
and this is now required in order to find openssl for some reason

also disable config.cache to prevent configure errors

Differential Revision: https://phab.enlightenment.org/D6718
2018-08-01 09:48:44 +02:00
Mike Blumenkrantz baf8f46658 ci: disable dependency tracking in ci builds
ci builds are only built once, so tracking dependencies is just a waste
of build time

Differential Revision: https://phab.enlightenment.org/D6658
2018-07-30 18:16:20 +02:00
Mike Blumenkrantz 5dba4f37a1 ci: use gold linker for linux builds
this is a substantially faster linker which should yield some speedups
for our builds

Differential Revision: https://phab.enlightenment.org/D6655
2018-07-30 17:40:57 +02:00
Mike Blumenkrantz e7716794d0 ci: disable tests on macos
these all fail currently due to some dbus issues

ref T7174

Differential Revision: https://phab.enlightenment.org/D6654
2018-07-30 17:40:57 +02:00
Mike Blumenkrantz bc248fdcf2 ci: attempt to print the test logs if distcheck fails
distcheck failures from test failures are hard to debug since distcheck
is more complicated than a regular build, this is a first step in providing
info for that debugging

Differential Revision: https://phab.enlightenment.org/D6652
2018-07-30 17:40:57 +02:00
Mike Blumenkrantz 0dc35fe8b3 ci: disable built-in make rules and variables
these slow down build times and don't benefit us

Differential Revision: https://phab.enlightenment.org/D6651
2018-07-30 17:40:57 +02:00
Mike Blumenkrantz 74d5577434 ci: disable tests on misc builds
these tests have some crazy options which cause tests to fail at present

ref T7151

Differential Revision: https://phab.enlightenment.org/D6620
2018-07-26 08:55:59 +02:00
Mike Blumenkrantz 9b6b88c9a2 ci: make check -> make check-TESTS
the tests have all been compiled at this point using the check-build
target (separately) in order to split out test compile failures from
runtime failures, so use the check-TESTS target to run the tests without
checking whether the tests are built first

Differential Revision: https://phab.enlightenment.org/D6619
2018-07-26 08:55:59 +02:00
Mike Blumenkrantz 5e9b5d315a ci: run make check in build
this adds a script to run make check after the build has finished,
repeating tests 3 times to try and reduce false positives from intermittent
failure tests

ref T7094

Differential Revision: https://phab.enlightenment.org/D6617
2018-07-26 08:55:59 +02:00
Mike Blumenkrantz c06be53b03 ci: add folding for travis logs
make the build a bit nicer to read

the build output is still insanely verbose, so this isn't super useful as
the 'pretty' view still takes so long to load that it's almost always better
to just read the raw text log

Differential Revision: https://phab.enlightenment.org/D6616
2018-07-26 08:55:59 +02:00
Mike Blumenkrantz d568c6f125 ci: use manual autoreconf && configure calls
our autogen.sh stupidly destroys all the autotools cache files, so ensure that
we keep them around to speed up configure

Differential Revision: https://phab.enlightenment.org/D6615
2018-07-26 08:55:58 +02:00
Mike Blumenkrantz 0d750f7f58 ci: disable make on release builds
make is no longer required for distcheck, so stop doing 2 full tree builds
on this build type

fixes release builds on travis

Differential Revision: https://phab.enlightenment.org/D6611
2018-07-26 08:55:58 +02:00
Mike Blumenkrantz 1fd8af2364 ci: build tests on macos
this enables test building on macos (previously disabled)

Differential Revision: https://phab.enlightenment.org/D6584
2018-07-26 08:55:58 +02:00
Mike Blumenkrantz 3c762fbe1f ci: add autoconf caching
this enables caching of the autoreconf and ./configure stages of the build
using autotools-provided caching mechanisms in order to speed up these steps

fix T7136

Differential Revision: https://phab.enlightenment.org/D6608
2018-07-26 08:55:58 +02:00
Mike Blumenkrantz 2053ccb717 ci: don't cd / when building example app
this gets deleted after the build, so just build it in the efl directory
to avoid permission errors when building on osx

Differential Revision: https://phab.enlightenment.org/D6607
2018-07-26 08:55:58 +02:00
Mike Blumenkrantz 005ba93234 ci: add ccache support
this enables and implements full support for ccache on travis builds

fix T7126

Differential Revision: https://phab.enlightenment.org/D6605

=also includes previously-submitted patches=

ci: split out ccache config setup into separate script

this provides a more unified place to set ccache options

also enable ccache compression to cut down on cache upload/download overhead

ref D6613

ci: zero ccache stats before build and add some comments for options used

zeroing the stats before each build will provide more insight into the cache
performance for each build

ref D6621

ci: break out ccache stat printing into separate script

continue to make travis.yml more readable

ref D6622

ci: add more ccache config options to improve cache direct hits

ci: disable second cpp run for ccache

this should avoid running cpp twice for files

https://ccache.samba.org/manual.html#_the_preprocessor_mode
2018-07-26 08:55:58 +02:00
Mike Blumenkrantz 45988ac6c0 ci: refactor all build steps into separate build scripts
this moves each step of the ci build into a separate script with the build
type passed as an argument, allowing for easier modification of each individual
step as necessary and making travis.yml more readable

Differential Revision: https://phab.enlightenment.org/D6604

also includes:
ci: break out make commands into travis.yml from build scripts

this simplifies the platform-specific build scripts to only perform
the configure stage of the build (and any additional setup) and then
uses standardized commands for the build

in addition to being simpler, this will also provide more/better info
about build timings

ref D6603
2018-07-26 08:55:58 +02:00
Mike Blumenkrantz d279918174 ci: set number of make jobs globally and decrease to 5 jobs
Summary:
travis docs explicitly state that the expectation for builds is to have
2 cpus, meaning that 10 jobs is wayyyy too many and was actually causing
some build failures due to strain on the virtual hw

this sets the number of jobs using a global variable to avoid having to set
it separately for each build

https://docs.travis-ci.com/user/reference/overview/#Virtualization-environments

Reviewers: devilhorns, ManMower

Reviewed By: ManMower

Subscribers: ManMower, cedric, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6558
2018-07-12 09:17:36 -04:00
Marcel Hollerbach b9a116b5bf ci: test the installed parts of efl
Summary:
ci for now was not testing if building against the installation of efl
was working, this builds the lifegame example which ensures that elm is
build correctly.

Reviewers: stefan_schmidt

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6160
2018-05-16 13:49:41 +02:00
Marcel Hollerbach 542ee417c4 ci: build with default prefix
Summary:
not building with a default prefix might end up that the installed
.pc files are not fetched automatically, which makes the building of the
example fail.
Depends on D6160

Reviewers: stefan_schmidt

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6161
2018-05-15 14:55:25 +02:00
Stefan Schmidt 8a2547aaea ci: add new build to test release profile and distcheck
To avoid surprises when starting the release process make sure we have a
build which actually runs the release profile and tests distcheck.
2018-05-04 09:23:59 +02:00
Stefan Schmidt 37b9bd5161 ci: enable check-build in default build target
Just building so far as test execution will need more environment
preparations.
2018-05-04 09:23:59 +02:00
Stefan Schmidt 173466991b ci: disable cxx bindings in default build
This is causing way to much problems when building examples or check.
I need to have them reliable before I can have them as default build
option.
2018-05-04 09:23:59 +02:00
Stefan Schmidt 25fc20ac08 ci: enable many more options in misc build 2018-04-27 08:56:17 +02:00
Stefan Schmidt 8696b480cd ci: enable gl-drm and egl in wayland build 2018-04-27 08:55:40 +02:00