util-linux/.travis.yml

76 lines
1.4 KiB
YAML
Raw Permalink Normal View History

language: c
sudo: required
dist: bionic
git:
depth: 1500
compiler:
- gcc-10
- clang-10
env:
- MAKE_CHECK="nonroot"
- MAKE_CHECK="root"
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-01 17:58:01 -05:00
- MAKE_CHECK="dist"
stages:
- name: Coverity
if: type = cron
- name: Test
if: type != cron
jobs:
include:
# test old Ubuntu 12.04 and OSX for compatibility
#- dist: precise
# compiler: gcc
# env: PRECISE="yes" MAKE_CHECK="root"
#- os: osx
# osx_image: xcode10.1
# compiler: clang
# env: MAKE_CHECK="root"
- arch: arm64
compiler: gcc-10
env: MAKE_CHECK="root"
- arch: ppc64le
compiler: gcc-10
env: MAKE_CHECK="root"
- arch: s390x
compiler: gcc-10
env: MAKE_CHECK="root"
- stage: Coverity
compiler: gcc
env:
# Generated with `travis encrypt -r karelzak/util-linux COVERITY_SCAN_TOKEN=***`
- secure: cqwhidkCY+BckuBwmBevstLCHJm9aS2pQnYB3xGiz9JeqwW/x5h9pMElQdTFWw3AD2p5DzKzuW9nUtqNVzMSUWdPBrQGeuBT5tJW5eFeP/9mb5CG1/+w5xzOaZ/+3CK0gtcMSyRhGl2NeuLlimj6hzy37cUTSmBVHzGMZLD51As=
branches:
only:
- master
- next
- /^stable.*/
- /^topic.*/
- /^travis.*/
before_install:
# print some host info
- env | grep -v "encrypted" | LC_ALL=C sort
# workaround travis-ci issue #5301
- unset PYTHON_CFLAGS
install:
- source ./.travis-functions.sh
- travis_install_script
before_script:
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-01 17:58:01 -05:00
- travis_before_script
script:
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-01 17:58:01 -05:00
- travis_script
after_script:
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-01 17:58:01 -05:00
- travis_after_script