Commit Graph

140 Commits

Author SHA1 Message Date
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
Stefan Schmidt f2ec39c8e6 ci: travis: create misc-disabled build
This build should cover all kind of disable configure flags we support
in efl. Making sure we still work with all of these when a commit comes
in.
2018-04-27 08:55:06 +02:00
Stefan Schmidt f2b50ed1a6 ci: travis: enable pulseaudio and openssl in macos build
These had been disabled due to former problems. They should work, so
time to re-enable them.
2018-04-27 08:53:55 +02:00
Stefan Schmidt c79f6640bd travis: fix install of packages on macOS
Some recent OSX builds failed on Travis due to a change on the macOS
image they are providing. The python package could not be installed.

==> Pouring python@2-2.7.14_3.sierra.bottle.1.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/2to3-2
Target /usr/local/bin/2to3-2
is a symlink belonging to python. You can unlink it:
  brew unlink python
2018-04-18 10:15:26 +02:00
Stefan Schmidt 22794846f4 ci: make sure we fail the build and pass on the non zero exit code
So far we just kept going on when one of the make targets failed with
the next one.
2018-02-08 11:45:15 +01:00
Stefan Schmidt e2fa576b02 ci: keep dockerfiles in sync with repo used for building on docker hub
We have an extra repo for these files on our github project to allow
docker hub building these images automatically for us to be ready when
CI kicks in. We still want to have them here as well to aid developer
using them for testing.
2018-01-10 09:49:53 +01:00
Stefan Schmidt 564e8987b9 travis: add misc and wayland build options to build matrix 2018-01-10 09:49:53 +01:00
Stefan Schmidt cf5c513ff9 ci: install wayland and other build options dependencies in Fedora image
We will use this as base image for different build option testing.
2018-01-10 09:49:53 +01:00
Stefan Schmidt 8aadb20537 ci: enable examples build in for OSX target 2018-01-10 09:49:53 +01:00
Stefan Schmidt fdf0812883 ci: actually install systemd in the Ubuntu 17.10 Dockerfile
This allows us to build efl with systemd support on it and enables the
newer Ubunutu version by default.
2018-01-09 08:32:13 +01:00
Stefan Schmidt 8a10f09b14 ci: add forgotten Ubuntu 17.10 Dockerfile
Oops, sorry for the Travis break due to this.
2018-01-03 16:59:04 +01:00
Stefan Schmidt 24bdcd43f8 ci: add Archlinux Dockerfile and use it in Travis 2018-01-03 15:34:38 +01:00
Stefan Schmidt 6ef22f70d1 ci: travis: add new docker file for Fedora 27 release 2018-01-02 14:18:14 +01:00
Stefan Schmidt a2ea2cf188 ci: disable examples build for osx for now
On the 10.12 build we regularly run into the maximum time limit for a
osx build job (45min?). Lets focus on the normal build for now.
2017-09-28 22:37:15 +02:00
Stefan Schmidt bc8b2857c1 ci: README: simple docs for the current CI setup
Describe what we currently do in terms of building on Travis and how
developer can do a local test with the docker build.
2017-09-28 15:37:51 +02:00
Stefan Schmidt 30c085ca0e ci: initial travis CI support for Linux distros and MacOSX builds
This has been used by myself in a branch for a while now and it is time
to bring it into master as a base for all future CI related work.
I plan to use the same scripts and other bits for Jenkins as well as
other CI systems later on.

What we currently cover with this setup are linux builds for three
different distros and MacOSX builds for two different versions.

Travis will only be called when new commits get mirrored onto our GitHub
mirror (which only happens once an hour). Expect delays on these builds.

https://travis-ci.org/Enlightenment/efl
2017-09-28 15:26:55 +02:00