Use `hererocks` on Travis.

master
Alexey Melnichuk 2016-04-07 17:21:29 +03:00
parent a038558b44
commit a0a0cac631
5 changed files with 30 additions and 156 deletions

View File

@ -2,31 +2,45 @@ language: c
sudo: false
env:
global:
- LUAROCKS=2.2.2
matrix:
- LUA=lua5.1
- LUA=lua5.2
- LUA=lua5.3
- LUA=luajit
matrix:
include:
- compiler: ": Lua51"
env: LUA="lua 5.1"
- compiler: ": Lua52"
env: LUA="lua 5.2"
- compiler: ": Lua53"
env: LUA="lua 5.3"
- compiler: ": LuaJIT20"
env: LUA="luajit 2.0"
- compiler: ": LuaJIT21"
env: LUA="luajit 2.1"
cache:
directories:
- here
- $HOME/.cache/pip
branches:
only:
- master
before_install:
- source .travis/setenv_lua.sh
- export CC=gcc
- pip install --user cpp-coveralls
- luarocks install luafilesystem --from=https://rocks.moonscript.org/dev
- luarocks install luacov-coveralls
- luarocks install lunitx
- luarocks install dkjson --deps-mode=none
- pip install --user hererocks
- hererocks here -r^ --$LUA
- export PATH=$PATH:$PWD/here/bin
install:
- luarocks make rockspecs/lua-curl-scm-0.rockspec CFLAGS="-O2 -fPIC -ftest-coverage -fprofile-arcs" LIBFLAG="-shared --coverage"
script:
before_script:
- luarocks show luacov-coveralls || luarocks install luacov-coveralls
- luarocks show lunitx || luarocks install lunitx
- luarocks show luafilesystem || luarocks install luafilesystem
- luarocks show dkjson || luarocks install dkjson --deps-mode=none
script:
- cd test
- lua -e "print(require 'cURL.utils'.find_ca_bundle())"
- lunit.sh test_easy.lua
@ -37,7 +51,7 @@ script:
after_success:
- coveralls -b .. -r .. --dump c.report.json
- luacov-coveralls -j c.report.json
- luacov-coveralls -j c.report.json -v
notifications:
email:

View File

@ -1,15 +0,0 @@
if [ -z "${PLATFORM:-}" ]; then
PLATFORM=$TRAVIS_OS_NAME;
fi
if [ "$PLATFORM" == "osx" ]; then
PLATFORM="macosx";
fi
if [ -z "$PLATFORM" ]; then
if [ "$(uname)" == "Linux" ]; then
PLATFORM="linux";
else
PLATFORM="macosx";
fi;
fi

View File

@ -1,3 +0,0 @@
export PATH=${PATH}:$HOME/.lua:$HOME/.local/bin:${TRAVIS_BUILD_DIR}/install/luarocks/bin
bash .travis/setup_lua.sh
eval `$HOME/.lua/luarocks path`

View File

@ -1,122 +0,0 @@
#! /bin/bash
# A script for setting up environment for travis-ci testing.
# Sets up Lua and Luarocks.
# LUA must be "lua5.1", "lua5.2" or "luajit".
# luajit2.0 - master v2.0
# luajit2.1 - master v2.1
set -eufo pipefail
LUAJIT_BASE="LuaJIT-2.0.3"
source .travis/platform.sh
LUA_HOME_DIR=$TRAVIS_BUILD_DIR/install/lua
LR_HOME_DIR=$TRAVIS_BUILD_DIR/install/luarocks
mkdir $HOME/.lua
LUAJIT="no"
if [ "$PLATFORM" == "macosx" ]; then
if [ "$LUA" == "luajit" ]; then
LUAJIT="yes";
fi
if [ "$LUA" == "luajit2.0" ]; then
LUAJIT="yes";
fi
if [ "$LUA" == "luajit2.1" ]; then
LUAJIT="yes";
fi;
elif [ "$(expr substr $LUA 1 6)" == "luajit" ]; then
LUAJIT="yes";
fi
mkdir -p "$LUA_HOME_DIR"
if [ "$LUAJIT" == "yes" ]; then
if [ "$LUA" == "luajit" ]; then
curl http://luajit.org/download/$LUAJIT_BASE.tar.gz | tar xz;
else
git clone http://luajit.org/git/luajit-2.0.git $LUAJIT_BASE;
fi
cd $LUAJIT_BASE
if [ "$LUA" == "luajit2.1" ]; then
git checkout v2.1;
fi
make && make install PREFIX="$LUA_HOME_DIR"
if [ "$LUA" == "luajit2.1" ]; then
ln -s $LUA_HOME_DIR/bin/luajit-2.1.0-alpha $HOME/.lua/luajit
ln -s $LUA_HOME_DIR/bin/luajit-2.1.0-alpha $HOME/.lua/lua;
else
ln -s $LUA_HOME_DIR/bin/luajit $HOME/.lua/luajit
ln -s $LUA_HOME_DIR/bin/luajit $HOME/.lua/lua;
fi;
else
if [ "$LUA" == "lua5.1" ]; then
curl http://www.lua.org/ftp/lua-5.1.5.tar.gz | tar xz
cd lua-5.1.5;
elif [ "$LUA" == "lua5.2" ]; then
curl http://www.lua.org/ftp/lua-5.2.4.tar.gz | tar xz
cd lua-5.2.4;
elif [ "$LUA" == "lua5.3" ]; then
curl http://www.lua.org/ftp/lua-5.3.0.tar.gz | tar xz
cd lua-5.3.0;
fi
make $PLATFORM
make INSTALL_TOP="$LUA_HOME_DIR" install;
ln -s $LUA_HOME_DIR/bin/lua $HOME/.lua/lua
ln -s $LUA_HOME_DIR/bin/luac $HOME/.lua/luac;
fi
cd $TRAVIS_BUILD_DIR
lua -v
LUAROCKS_BASE=luarocks-$LUAROCKS
curl --location http://luarocks.org/releases/$LUAROCKS_BASE.tar.gz | tar xz
cd $LUAROCKS_BASE
if [ "$LUA" == "luajit" ]; then
./configure --lua-suffix=jit --with-lua-include="$LUA_HOME_DIR/include/luajit-2.0" --prefix="$LR_HOME_DIR";
elif [ "$LUA" == "luajit2.0" ]; then
./configure --lua-suffix=jit --with-lua-include="$LUA_HOME_DIR/include/luajit-2.0" --prefix="$LR_HOME_DIR";
elif [ "$LUA" == "luajit2.1" ]; then
./configure --lua-suffix=jit --with-lua-include="$LUA_HOME_DIR/include/luajit-2.1" --prefix="$LR_HOME_DIR";
else
./configure --with-lua="$LUA_HOME_DIR" --prefix="$LR_HOME_DIR"
fi
make build && make install
ln -s $LR_HOME_DIR/bin/luarocks $HOME/.lua/luarocks
cd $TRAVIS_BUILD_DIR
luarocks --version
rm -rf $LUAROCKS_BASE
if [ "$LUAJIT" == "yes" ]; then
rm -rf $LUAJIT_BASE;
elif [ "$LUA" == "lua5.1" ]; then
rm -rf lua-5.1.5;
elif [ "$LUA" == "lua5.2" ]; then
rm -rf lua-5.2.4;
elif [ "$LUA" == "lua5.3" ]; then
rm -rf lua-5.3.0;
fi

View File

@ -32,7 +32,7 @@ return {
-- configuration for luacov-coveralls reporter
coveralls = {
pathcorrect = {
{"/usr/local/share/lua/5.[123]", "src/lua"};
{"^.-[/\\]share[/\\]lua[/\\]5.%d", "src/lua"};
},
},
}