Commit Graph

11 Commits

Author SHA1 Message Date
Karel Zak 83a77afb31 travis: let's ignore apt-get return code
Signed-off-by: Karel Zak <kzak@redhat.com>
2016-03-14 17:01:25 +01:00
Ruediger Meier 668d6d2ef9 travis: add OSX build
Of course OSX is not an important target but since it's available on
travis we can (mis)use it to generally improve non-Linux and non-GNU
compatibility. People are using musl, busybox or whatever and
util-linux should work for them. Having OSX build running regularly
will help us to freeze the lately improved BSD compatibility and
to check code which is usually ifdef'ed.

We are using the most recent OSX 10.11.x / Xcode 7.3 though the older
travis OSX images are working too currently.

If it turns out that this OSX build is too annoying when we are about
to add support for latest Linux features then we could add:
  allow_failures:
    - os: osx
to let it fail silently.

Note I've tried hard to keep .travis-functions.sh readable for the
Linux case. I've removed --with-python because it's default anyway,
--enable-gtk-doc is still tested in discheck.

OSX root check would also work (almost, using another --prefix) but
would only run one more test yet (minix).

OSX distcheck would have some issues with conditionally built man
pages and does not work with default distcheck confopts. No need to
fix that because distcheck is more for maintainer machines.

BTW to increase travis build speed again we could remove some targets
from the matrix without losing tested scenarios:
 - nonroot for Linux seems to be waste of time
 - clang/Linux could be root check only
For now we keep it as is.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2016-03-13 21:51:18 +01:00
Ruediger Meier fc412fe4ce travis: switch to Ubuntu 14.04 Trusty
Now we have a reasonable recent build system with systemd, etc. We still
keep old Ubuntu 12.04 Precise to check backward compatibility but
remove the hack to install socat.

Note the new env variable PRECISE="yes" is only there to see it on travis
website.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2016-03-13 21:48:21 +01:00
Ruediger Meier 855f7f0650 tests: add option --parsable
This is to force the one-line results also for non-parallel case.
We are using it for travis auto-build and on other build farms.

Moreover you can set this (and any other) option globally by env
which is the only way to pass it to make distcheck.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2016-03-05 22:19:24 +01:00
Ruediger Meier 1091e83e84 travis: minor cleanup
- print env for debugging
 - remove unused builddir stuff
 - avoid non-portable find/xargs usage

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2016-02-18 12:53:03 +01:00
Ruediger Meier f81faffa4c travis: install mdadm
Travis build host is able to load kernel modules nowadays!

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2016-02-12 14:13:40 +01:00
Filipe Brandenburger 05894f05bd travis: Remove workaround for libtool install of pylibmount
Commit 324330aca6 ("build-sys: Properly order install dependencies
of pylibmount") introduces a proper make dependency for the install
rules, in a way that the workaround is no longer necessary.

Tested that a PR with this commit passes Travis-CI.

Signed-off-by: Filipe Brandenburger <filbranden@google.com>
2016-02-09 15:15:33 -08:00
Ruediger Meier 432439a465 travis: install socat >= 1.7.2
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2015-04-13 14:49:01 +02:00
Karel Zak 266f856260 travis: add MAKE_CHECK_OPTS
Signed-off-by: Karel Zak <kzak@redhat.com>
2015-03-17 12:03:28 +01:00
Ruediger Meier 5ddcc32a3e travis: move install script to .travis-functions.sh
Now this snippet can be re-used by non-travis systems. For example
on drone.io we can use this simple build script:
......
MAKE_CHECK="root"
source ./.travis-functions.sh
travis_install_script || exit
travis_before_script || exit
ret=0
travis_script || ret=$?
travis_after_script
exit $ret
......

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2015-03-16 14:32:34 +01:00
Ruediger Meier dd68764c59 travis-ci: refactor and add .travis-functions.sh
Travis yaml syntax, where we can only use shell one-liners, is awful
and ugly. We add a real shell script and source it from .travis.yml.

This commit squashes a lot changes because we don't want to pollute
history with this meta CI stuff.

Highlights of this commit:
  - enable make distcheck
  - cleanup configure options (enable all progs, with python and docs)
  - shorter config.log dump
  - out-of-tree build supported
  - workaround broken libtool on travis host
  - now it's easy to add temporary debugging stuff
  - testing locally is possible now

What are we testing now:
  - gcc and clang compiler
  - configure mostly with --enable-all-programs, --with-python and
    --enable-gtk-doc
  - make check with and without root permissions
  - make distcheck
  - make install (with and without --prefix as well as DESTDIR=...)
  - usually we always build in-tree but distcheck does out-of-tree

What do we want/expect at all:
  - This travis setup is intended to always work without fixing or
    updating this build script all the time. Thats why we only use a
    few configure flags.
  - We want to avoid predictable failures on travis host to not make
    developers tired of this machinery. Any tested feature which is
    known to be (sometimes) broken should be fixed or skipped as soon
    as possible.
  - If this works like wanted then in future almost any point in master
    commit history should at least survive the build and common tests
    on this reference host/arch. Moreover we will have a comparable,
    deterministic build log history. This could make bisecting real
    bugs easier.
  - It's not our goal to test any kind of config flags, host setup and
    arch combination. This would be done better by external build
    scripts which do not live within the project itself.
  - Of course this machinery can be also used to reproduce bugs with
    more exotic config and host setup by pushing a debug branch with
    modified travis script to github.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2014-06-06 16:18:44 +02:00