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]
This commit is contained in:
Robert Lowry 2019-02-23 11:32:46 -06:00 committed by Duncaen
parent d7c2e87d55
commit 0b1b1ecf05
2 changed files with 16 additions and 82 deletions

View File

@ -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

View File

@ -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