Skip to content

Commit 8d5fc23

Browse files
committed
Updated .travis configuration
1 parent fd8f63b commit 8d5fc23

File tree

4 files changed

+126
-32
lines changed

4 files changed

+126
-32
lines changed

.travis.yml

+13-11
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
1-
language: erlang
1+
language: c
2+
3+
sudo: false
24

35
env:
46
global:
5-
- PLATFORM=linux
6-
- LUAROCKS_VER=2.2.0beta1
7+
- LUAROCKS=2.2.2
78
matrix:
89
- LUA=lua5.1
910
- LUA=lua5.2
10-
- LUA=luajit
11-
12-
branches:
13-
only:
14-
- master
11+
- LUA=lua5.3
12+
- LUA=luajit # latest stable version (2.0.3)
13+
- LUA=luajit2.0 # current head of 2.0 branch
14+
- LUA=luajit2.1 # current head of 2.1 branch
1515

1616
before_install:
17-
- bash .travis/setup_lua.sh
18-
- sudo luarocks install telescope 0.6.0 --server=http://rocks.moonscript.org
19-
- sudo luarocks install luacov-coveralls --server=http://rocks.moonscript.org/dev
17+
- source .travis/setenv_lua.sh
18+
- pip install --user cpp-coveralls
19+
- luarocks install Lua-cURL --server=https://luarocks.org/dev
20+
- luarocks install luacov-coveralls --server=https://luarocks.org/dev
21+
- luarocks install telescope 0.6.0 --server=http://rocks.moonscript.org
2022

2123
script: "tsc -f specs/*"
2224

.travis/platform.sh

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
if [ -z "${PLATFORM:-}" ]; then
2+
PLATFORM=$TRAVIS_OS_NAME;
3+
fi
4+
5+
if [ "$PLATFORM" == "osx" ]; then
6+
PLATFORM="macosx";
7+
fi
8+
9+
if [ -z "$PLATFORM" ]; then
10+
if [ "$(uname)" == "Linux" ]; then
11+
PLATFORM="linux";
12+
else
13+
PLATFORM="macosx";
14+
fi;
15+
fi

.travis/setenv_lua.sh

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

.travis/setup_lua.sh

+95-21
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,122 @@
11
#! /bin/bash
2+
23
# A script for setting up environment for travis-ci testing.
34
# Sets up Lua and Luarocks.
45
# LUA must be "lua5.1", "lua5.2" or "luajit".
5-
# PLATFORM must be "linux" or "macosx".
6-
# Original written by Alexey Melnichuk <https://github.com/moteus>
6+
# luajit2.0 - master v2.0
7+
# luajit2.1 - master v2.1
8+
9+
set -eufo pipefail
10+
11+
LUAJIT_VERSION="2.0.4"
12+
LUAJIT_BASE="LuaJIT-$LUAJIT_VERSION"
13+
14+
source .travis/platform.sh
15+
16+
LUA_HOME_DIR=$TRAVIS_BUILD_DIR/install/lua
17+
18+
LR_HOME_DIR=$TRAVIS_BUILD_DIR/install/luarocks
19+
20+
mkdir $HOME/.lua
21+
22+
LUAJIT="no"
23+
24+
if [ "$PLATFORM" == "macosx" ]; then
25+
if [ "$LUA" == "luajit" ]; then
26+
LUAJIT="yes";
27+
fi
28+
if [ "$LUA" == "luajit2.0" ]; then
29+
LUAJIT="yes";
30+
fi
31+
if [ "$LUA" == "luajit2.1" ]; then
32+
LUAJIT="yes";
33+
fi;
34+
elif [ "$(expr substr $LUA 1 6)" == "luajit" ]; then
35+
LUAJIT="yes";
36+
fi
37+
38+
mkdir -p "$LUA_HOME_DIR"
39+
40+
if [ "$LUAJIT" == "yes" ]; then
41+
42+
if [ "$LUA" == "luajit" ]; then
43+
curl --location https://github.com/LuaJIT/LuaJIT/archive/v$LUAJIT_VERSION.tar.gz | tar xz;
44+
else
45+
git clone https://github.com/LuaJIT/LuaJIT.git $LUAJIT_BASE;
46+
fi
47+
48+
cd $LUAJIT_BASE
49+
50+
if [ "$LUA" == "luajit2.1" ]; then
51+
git checkout v2.1;
52+
# force the INSTALL_TNAME to be luajit
53+
perl -i -pe 's/INSTALL_TNAME=.+/INSTALL_TNAME= luajit/' Makefile
54+
fi
55+
56+
make && make install PREFIX="$LUA_HOME_DIR"
57+
58+
ln -s $LUA_HOME_DIR/bin/luajit $HOME/.lua/luajit
59+
ln -s $LUA_HOME_DIR/bin/luajit $HOME/.lua/lua;
760

8-
if [ "$LUA" == "luajit" ]; then
9-
curl http://luajit.org/download/LuaJIT-2.0.2.tar.gz | tar xz
10-
cd LuaJIT-2.0.2
11-
make && sudo make install
12-
sudo ln -s /usr/local/bin/luajit /usr/local/bin/lua
13-
cd $TRAVIS_BUILD_DIR;
1461
else
62+
1563
if [ "$LUA" == "lua5.1" ]; then
1664
curl http://www.lua.org/ftp/lua-5.1.5.tar.gz | tar xz
1765
cd lua-5.1.5;
1866
elif [ "$LUA" == "lua5.2" ]; then
19-
curl http://www.lua.org/ftp/lua-5.2.3.tar.gz | tar xz
20-
cd lua-5.2.3;
67+
curl http://www.lua.org/ftp/lua-5.2.4.tar.gz | tar xz
68+
cd lua-5.2.4;
69+
elif [ "$LUA" == "lua5.3" ]; then
70+
curl http://www.lua.org/ftp/lua-5.3.2.tar.gz | tar xz
71+
cd lua-5.3.2;
2172
fi
22-
sudo make $PLATFORM install
23-
cd $TRAVIS_BUILD_DIR;
73+
74+
# Build Lua without backwards compatibility for testing
75+
perl -i -pe 's/-DLUA_COMPAT_(ALL|5_2)//' src/Makefile
76+
make $PLATFORM
77+
make INSTALL_TOP="$LUA_HOME_DIR" install;
78+
79+
ln -s $LUA_HOME_DIR/bin/lua $HOME/.lua/lua
80+
ln -s $LUA_HOME_DIR/bin/luac $HOME/.lua/luac;
81+
2482
fi
2583

26-
LUAROCKS_BASE=luarocks-$LUAROCKS_VER
27-
curl http://luarocks.org/releases/$LUAROCKS_BASE.tar.gz | tar xz
28-
cd $LUAROCKS_BASE;
84+
cd $TRAVIS_BUILD_DIR
85+
86+
lua -v
87+
88+
LUAROCKS_BASE=luarocks-$LUAROCKS
89+
90+
curl --location http://luarocks.org/releases/$LUAROCKS_BASE.tar.gz | tar xz
91+
92+
cd $LUAROCKS_BASE
2993

3094
if [ "$LUA" == "luajit" ]; then
31-
./configure --lua-suffix=jit --with-lua-include=/usr/local/include/luajit-2.0;
95+
./configure --lua-suffix=jit --with-lua-include="$LUA_HOME_DIR/include/luajit-2.0" --prefix="$LR_HOME_DIR";
96+
elif [ "$LUA" == "luajit2.0" ]; then
97+
./configure --lua-suffix=jit --with-lua-include="$LUA_HOME_DIR/include/luajit-2.0" --prefix="$LR_HOME_DIR";
98+
elif [ "$LUA" == "luajit2.1" ]; then
99+
./configure --lua-suffix=jit --with-lua-include="$LUA_HOME_DIR/include/luajit-2.1" --prefix="$LR_HOME_DIR";
32100
else
33-
./configure;
101+
./configure --with-lua="$LUA_HOME_DIR" --prefix="$LR_HOME_DIR"
34102
fi
35103

36-
make build && sudo make install
104+
make build && make install
105+
106+
ln -s $LR_HOME_DIR/bin/luarocks $HOME/.lua/luarocks
37107

38108
cd $TRAVIS_BUILD_DIR
39109

110+
luarocks --version
111+
40112
rm -rf $LUAROCKS_BASE
41113

42-
if [ "$LUA" == "luajit" ]; then
43-
rm -rf LuaJIT-2.0.2;
114+
if [ "$LUAJIT" == "yes" ]; then
115+
rm -rf $LUAJIT_BASE;
44116
elif [ "$LUA" == "lua5.1" ]; then
45117
rm -rf lua-5.1.5;
46118
elif [ "$LUA" == "lua5.2" ]; then
47-
rm -rf lua-5.2.3;
119+
rm -rf lua-5.2.4;
120+
elif [ "$LUA" == "lua5.3" ]; then
121+
rm -rf lua-5.3.2;
48122
fi

0 commit comments

Comments
 (0)