Commit Graph

63 Commits

Author SHA1 Message Date
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 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 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 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 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