From 0b1b1ecf05b85f42161a134b40f54f07e2e6187f Mon Sep 17 00:00:00 2001 From: Robert Lowry Date: Sat, 23 Feb 2019 11:32:46 -0600 Subject: [PATCH] travis: run void host in docker to compile/test The current CI runs in ubuntu containers, which do not provide a recent enough version of libarchive. This uses official Void docker images to compile and run tests on the xbps repo. Closes: #39 [via git-merge-pr] --- .travis.yml | 36 ++++++++++----------- admin/travis-install-deps.sh | 62 ------------------------------------ 2 files changed, 16 insertions(+), 82 deletions(-) delete mode 100755 admin/travis-install-deps.sh diff --git a/.travis.yml b/.travis.yml index 124a72ed..cfb2d546 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,25 +1,21 @@ -language: c -compiler: - - gcc - - clang +language: generic + +notifications: + email: false + +services: + - docker -addons: - apt: - sources: - - gdb - - liblua5.2-0 - - liblua5.2-dev - - libsqlite3-0 - - libsqlite3-dev - - pkg-config - - sqlite3 - - libssl-dev - - libarchive-dev env: - - PKG_CONFIG_PATH=/tmp/usr/lib/pkgconfig LD_LIBRARY_PATH=/tmp/usr/lib + global: + - MAKEJOBS = -j4 + matrix: + - CC=gcc DEPENDENCY_PACKAGES="bash kyua zlib-devel libarchive-devel base-devel atf-devel" + - CC=clang DEPENDENCY_PACKAGES="clang bash kyua zlib-devel libarchive-devel base-devel atf-devel" -before_install: - - ./admin/travis-install-deps.sh +install: + - docker pull voidlinux/voidlinux + - docker run -v "$PWD":/tmp/build-dir voidlinux/voidlinux /bin/sh -c "xbps-install -Syu && xbps-install -y $DEPENDENCY_PACKAGES && cd /tmp/build-dir && CC=$CC ./configure --enable-tests --enable-debug && make $MAKEJOBS && make check" script: - - LDFLAGS="-L/tmp/usr/lib -Wl,-R/tmp/usr/lib" ./configure --enable-tests --enable-debug && make -j16 && make check + - echo BUILDS PASSED diff --git a/admin/travis-install-deps.sh b/admin/travis-install-deps.sh deleted file mode 100755 index b6042758..00000000 --- a/admin/travis-install-deps.sh +++ /dev/null @@ -1,62 +0,0 @@ -#! /bin/sh -# Copyright 2014 Google Inc. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of Google Inc. nor the names of its contributors -# may be used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -set -e -x - -install_from_github() { - local project="${1}"; shift - local name="${1}"; shift - local release="${1}"; shift - - local distname="${name}-${release}" - - local baseurl="https://github.com/jmmv/${project}" - wget --no-check-certificate \ - "${baseurl}/releases/download/${distname}/${distname}.tar.gz" - tar -xzvf "${distname}.tar.gz" - - cd "${distname}" - ./configure \ - --prefix=/tmp/usr \ - --disable-developer \ - --without-atf \ - --without-doxygen \ - CPPFLAGS="-I/usr/local/include" \ - LDFLAGS="-L/usr/local/lib -Wl,-R/usr/local/lib" \ - PKG_CONFIG_PATH="/usr/local/lib/pkgconfig" - make -j16 - make install - cd - - - rm -rf "${distname}" "${distname}.tar.gz" -} - -install_from_github atf atf 0.21 -install_from_github lutok lutok 0.4 -install_from_github kyua kyua 0.12