Commit Graph

125 Commits

Author SHA1 Message Date
Stefan Schmidt 4d4db4cf44 ci: travis: switch exactness build to Fedora32 image 2020-05-14 18:18:14 +02:00
Stefan Schmidt e890d3b221 travis: update asan build to Fedora 32
With the updated gcc to version 10 the AddressSanitizer plugin seems to
have switched the OneDefionitionRule to 2, which includes reports for
definitions with the same size.

https://github.com/google/sanitizers/wiki/AddressSanitizerOneDefinitionRuleViolation

In our case that breaks heavily due to our usage in eina_module:

==147526==ERROR: AddressSanitizer: odr-violation (0x7fca71b29300):
  [1] size=8 '__eina_module_shutdown' ../src/modules/ecore_imf/xim/ecore_imf_xim.c:821:1
  [2] size=8 '__eina_module_shutdown' ../src/modules/evas/engines/buffer/evas_engine.c:185:1

Disabeling it for our runs.
2020-05-06 14:53:38 +02:00
Mike Blumenkrantz c9f9582753 ci: force system zlib on osx
osx doesn't ship a pkgconfig file for its own zlib, so now we're shipping
a pkgconfig file for their zlib to avoid future issues

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11661
2020-04-07 10:58:14 +02:00
Stefan Schmidt 2ae0a9ff62 ci: travis: switch exactness testing to normal test file
Since the changes from Marcel to run exactness as LD_PRELOADed library
we can switch back to the normal test.txt file and names.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11636
2020-04-02 12:53:18 +02:00
Stefan Schmidt 948dfe6e4b ci: enable ecore_con IPv6 tests
We have them behind an env variable as this is system specific. Enable
them on CI to fully test these paths as well.
While this works out of the box for the native build on Travis it fails
for our docker builds, as the dockerd does not have ipv6 enabled by
default. Only enable for Codecov for now.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11608
2020-03-27 15:46:01 +01:00
Stefan Schmidt 191171e4c8 ci: travis: enable s390x build on daily cron
As there is no luajit package for s390x in Ubuntu Bionic we need to
adapt our installed packages as well as config options for it.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11601
2020-03-27 15:06:13 +01:00
Stefan Schmidt aa34cc0489 travis: enable more archs during cron build
Enable builds on ppc64le on our daily build. s390x will follow at some
later point (once all quirks are resolved).
As we also use the Linux native build from Travis for Codecov we start
to handle meson options based on builds here as well.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11586
2020-03-27 15:06:10 +01:00
Stefan Schmidt 32b9a9eba0 ci: install needed packages for ppc64le builds
It seems on ppc64le and s390x these do not get pulled in automatically.
We need them for regex.h, make sure they are installed before building.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11585
2020-03-27 15:06:08 +01:00
Carsten Haitzler 075bab83c4 remove vlc, gst-0.10, xine deps, modules as they are broken
they dont work. easier to remove than fix, so... remove :) only gst
1.x supported now.
2020-03-08 12:36:01 +00:00
Marcel Hollerbach 32597e7e77 ci: make ci work again
because of some reasons, python now hides in a different PATH, which is
not *always* added to the PATH env variable.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11461
2020-03-06 15:11:30 +01:00
Stefan Schmidt 7c653df450 ci: enable exactness build on travis
Summary:
With exactness merged into efl we can finally enable some exactness
testing on our CI. As a first step we will run around 47 tests from our
elementary_tests recordings.

The base data is already in the specific docker image to avoid
downloading on each run. We also need to use a dedicated branch from the
repo while we are still working out all the problems to make exactness
recordings really independent from their env.

Depends on D11317

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11318
2020-02-12 12:10:07 -05:00
Stefan Schmidt 7bcf182d49 ci: add leak ignore as a temporary bandaid
This needs some more digging where this leak comes from. I see it
triggering on edje_cc during the build.
Until we have this sorted out add as ignore here to keep CI working.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11234
2020-01-30 17:17:19 +01:00
Stefan Schmidt 082d5ec4dc ci: update Ubuntu bionic deps to cover openjp2 we now depend on
Since we switched on some loader to default we have this as a default
dependency. Reflect this in our CI setup to avoid breaks.

Also make sure we use sudo for the meson pip install to not break on the
ARM64 infrastructure on TravisCI.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11233
2020-01-30 17:17:15 +01:00
Stefan Schmidt 2af38d11ed 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
2019-12-30 11:39:39 -05:00
Stefan Schmidt 0ed64caa36 ci: refactor the early exit on specific build jobs
Should be no functional change only making all early checks a bit
shorter.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10866
2019-12-18 09:16:03 +01:00
Stefan Schmidt af04065067 ci: refactor configuration script
Re-factor if-else block for easier reading, update comments and check
that we are on osx when executing that part.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10865
2019-12-18 09:15:59 +01:00
Stefan Schmidt 9fb1ae0d3c ci: enable benchmark target again
It only runs after efl is installed and we need to ensure running with
Elm buffer engine in our docker build for the graphical collection
benchmark.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10848
2019-12-18 09:15:54 +01:00
Stefan Schmidt fd6d03025a ecore_x: remove support XGesture extension
Summary:
This was a X11 extension mainly developed for Tizen. By now I can only
find it packaged by Gentoo as the only Linux distribution and Tizen is
now longer using it either. Bringing it up during EDD and on the mailing
list did not come up with any users.
I think we can go ahead and deprecate the API and remove the
functionality.

Reviewers: raster, cedric, devilhorns, zmike

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10823
2019-12-06 14:40:55 -05:00
Stefan Schmidt 5894d384f2 ci: re-enable cxx bindings for CI builds again
While cxx bindings are enabled by default we had them turned off on the
CI builds due to the amount of memory they used in the examples
building/linking. This often had lead to the case where the Travis build
failed due too little resources on the Travis nodes for it.

I have not seen this stalls during linking on my machine for a while now
and my tests on Travis do also not show this. Time to enable them again
and if the problem comes back we can revert.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10822
2019-12-06 14:11:48 +01:00
Stefan Schmidt b8dc80c144 emotion & evas: remove gstreamer 0.10 support
We have Gstreamer 1.x support for a long time already. We used to keep
this around as fallback. By now Linux distributions start to actually no
longer ship the Gstreamer 0.10.x packages and upstream has not seen a
release in in 5 years. Time to remove it on our side as well.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10779
2019-12-04 12:21:25 -08:00
Stefan Schmidt 3ae44245e8 ci: ensure we still test ephysics in all enabled build job
With commit 523a64d226 we switched the
default for ephysics from true to false. This would result in no CI
coverage if we do not explicitly enable it in this job.

Reviewed-by: Carsten Haitzler (Rasterman) <raster@rasterman.com>
Differential Revision: https://phab.enlightenment.org/D10757
2019-11-28 11:01:13 +01:00
Carsten Haitzler 0ecbb416ad build - handle g-main-loop enabled when glib not as an error in meson
also enable glib now in ci
2019-11-27 17:51:54 +00:00
Stefan Schmidt f825326750 ci: travis: add job to build efl and run tests with address sanitizer
A first step to have addrress sanitizer coverage on our EFL build. It
already catched some use after free errors and memory corruptions. Still
we have some limititation how we are running this right now. We
currently ignore some leaks that are exposed durign the normal build
wile haveing the short living runs of edje_cc, elm_prefs_cc, etc.
For now the whole leak detection is disabled on the testsuite as well.

This is still very valuable, especially for all non-leak cases it finds,
thus we are goign to run this on our daily build.

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10691
2019-11-27 14:21:25 +01:00
Stefan Schmidt 3bc0fef21c ci: enable mono bindings build in default build
Summary:
We have all the pieces together now to build the mono bindings as well
as run the mono testsuite on nija test.
The docker image was updated to contain the mono-devel package to
provide the needed dependencies.
Depends on D10437

Reviewers: bu5hm4n, zmike, lauromoura

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10749
2019-11-27 08:17:15 -05:00
Stefan Schmidt e6ca452832 ci: cleanup the check for old meson versions
We install the newest version via pip on our CI docker images. No longer
need to check for this.

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

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
2019-11-17 11:44:54 +01:00
Stefan Schmidt 3bd210fbf9 ci: remove logic for doing coverity builds only on Saturday
We had this disabled for the release and I think having it run every
nice is quite nice to give fast feedback on Coverity issues.

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

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
2019-11-17 11:44:37 +01:00
Stefan Schmidt 5b6b1b10ee ci: fix ccache segfault during setup on CI in release-ready build
Hopefully this is the last place we need to apply this. It has been
bugging the cron daily CI builds a while now.

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

Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com>
2019-11-11 13:47:47 +01:00
Stefan Schmidt db4d908c06 ci: work around ccache segafult during setup
This is the same fix we applied for the macOS. Somehow ccache segfaults
during the init. This only shows on the Ubuntu 19.10 update.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10599
2019-11-05 16:59:14 +01:00
Stefan Schmidt 5ad0f5f7d0 travis/ci: update Fedora CI images to 31
Also disable the gstreamer 0.10 module since this version is no longer
shipped with Fedora 31.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10597
2019-11-05 16:59:12 +01:00
Mike Blumenkrantz 795c37b2a4 ci: remove existing base_dir ccache config on osx build before adding new one
Summary: ensure that this file does not balloon to infinite size

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10538
2019-10-29 12:20:33 -04:00
Mike Blumenkrantz 6abba55b5c ci: use shell to directly set base_dir for osx builds
Summary: this crashes somehow and is impossible to debug remotely

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10529
2019-10-25 13:33:41 -04:00
Mike Blumenkrantz b3cd430b02 ci: fix return value warning in test build code
Summary: this is a void function

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10272
2019-10-07 18:40:09 +02:00
Carsten Haitzler 6d8e39a642 build - remove evas-modules option as its rather pointless
evas-modules affects evas engine modules if they are static or shared,
but ecore evas modules are still modules... so all in all this doesnt
help much as it still requires modules to be separate from the shared
libs, thus disallowing for statically linking efl into an app anyway
etc. etc. etc. ... so less options to deal with, less complexity.
better.
2019-10-04 13:33:42 +01:00
Carsten Haitzler 04ce5058c1 ci - osx - switch to full gl option on osx 2019-09-23 20:55:05 +01:00
Mike Blumenkrantz 8b2cae5b07 ci: add back target to do out-of-tree test build
this is necessary in order to ensure that our headers are usable

ref T8228

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D10036
2019-09-23 14:16:22 +02:00
Stefan Schmidt 5028b6b7c0 ci: travis: let Coverity scan run be executed every night until release
Normally we only have this running on Saturday, which is fine for the
normal development cycle. Being close to a release now I would like to
get result updates every day. This will be switched back to weekly after
the 1.23 release.
2019-09-16 11:41:53 +02:00
Marcel Hollerbach c63b2d136e ci: disable rsvg loader on windows
Summary: deps are missing for that one

Reviewers: stefan_schmidt, zmike, cedric

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9514
2019-08-06 11:00:16 -04:00
Stefan Schmidt 87cfde51d3 ci: finally enable examples for mingw build
With the gnutls build problem fixed we can now enable these as well.
2019-07-04 11:09:57 +02:00
Stefan Schmidt f19189a54f ci: cross: make sure we use the mingw pkg-config to detect cross deps
This only came up when we had gnutls native but not cross to find out
that we used the system pkg-config all the time to detect cross.
Making sure we use the correct tool to detect the cross dependencies.
2019-07-04 11:09:57 +02:00
Stefan Schmidt bdc6987067 ci: enable more build options for mingw job
Withj an updated ewpi in the docker image we can now enable more build
options. Examples are still disabled as there is a build break that
needs to get fixed first.
2019-07-04 11:09:57 +02:00
Stefan Schmidt 4f0989f290 ci: travis: add coverity build job to be run from cron
Summary:
We finally have regular Coverity Scan runs back to our CI.
It gets triggered from the cron jobs on Travis. As we are not able to
identify if it comes from a daily or weekly cron build I added a check
to only run the scan build on a Saturday so we should have a nice and
fresh report on Monday morning in our mailboxes.

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9175
2019-06-25 12:11:33 -04:00
Stefan Schmidt 61235a6e5c ci: travis: osx: switch to newer macos image and brew addon for packages
Summary:
One of the time consuming parts of the macos build we have is the
installing of the efl dependencies as packages from brew.
The brew update command alone is often taking 5m to run.

To avoid running brew update at all we are switching to a newer osx
image from Travis, which comes with a newer set of brew metadata and
gets us around a brew update for now. Together with this we are also
switching from our own dependency install script to the brew package
addon provided by travis already.

In my testing this shows we are only spending 270s in the brew package
updates comapred to 635s before. So we have a 6 minutes speedup for
every osx build!
Depends on D9161

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9162
2019-06-24 09:10:56 -04:00
Stefan Schmidt dafd23655f ci: enforce ccache for macos meson run
Summary:
While we set CC="ccache gcc" as an env var in Travis it gets overridden
at some point before meson is run. This results in a situation where we
have ccache enabled for g++, but not for gcc. Enforcing the setting
directly before meson again to make sure it gets picked up correctly.

I have seen build time improvements on Travis with up to 7 minutes
with this in an optimal case (rebuild existing job). It should shave off
at least a few minutes from every build even with bigger changes.
Depends on D9160

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9161
2019-06-24 09:09:34 -04:00
Stefan Schmidt ccecfb05a6 ci: make sure we disable the new json evas loader in our jobs
This have been just added and we need to update our disabled list for
some specific jobs where we mess with the disabled loaders manually.
2019-06-21 11:51:52 +02:00
Stefan Schmidt ca64dbd3c9 ci: use ccache also in the mingw cross build
This is one of these two line changing commits one just have to love.
Using ccache also for the mingw builds got a amazing speedof for the
cross build as well.

In my, simple, testing I could reduce the build time on Travis from 18m
to 6m when rebuilding the same rev, thus a 100% cache hit rate. In real
life this would be less of an improvement but reducing the build time in
half is kind of realistic I think. Thanks to Marcel to bringing the idea
up.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9139
2019-06-20 14:05:07 +02:00
Stefan Schmidt 06d59c3457 ci: remove no longer needed make examples script
Summary:
With the meson build the examples do not have a dedicated target, no
need for this script anymore.
Depends on D9120

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9121
2019-06-19 09:26:23 -04:00
Stefan Schmidt 2a22b5ecef ci: rename some travis fold log names and add more
Summary:
For an easier to grasp travis output we are using the travis_fold and
endfold markers in our scripts. Renaming a few here to match the usage
of meson and ninja instead of make. Also adding a few more that have
been missing.
While we are add it remove a now silly extra mingw conditional.
Depends on D9119

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9120
2019-06-19 09:26:18 -04:00
Stefan Schmidt 4279406e7d ci: enhance enabled/disabled meson builds to cover almost all options
Summary:
We have been lacking to test many of the build options we have with
meson. Catching up on them here for the enabled and disabled build jobs.

Not everythign could be covered yet, but I leave notes about what stil
needs handling.
Depends on D9118

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9119
2019-06-19 09:26:13 -04:00
Stefan Schmidt f0f799e4a8 ci: remove no longer needed MAKEFLAGS env variable
Summary:
This was used to pass to make and is no longer used with ninja.
Depends on D9117

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9118
2019-06-19 09:26:08 -04:00
Stefan Schmidt a873ae6ea0 ci: remove no longer used scripts and patch file
Summary:
With the autotools build system gone we now longer need these files in
our CI system.

Reviewers: zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9116
2019-06-19 09:25:56 -04:00