Skip to content

Commit b129b00

Browse files
committed
update to travis build scripts from https://github.com/moteus/lua-travis-example
no sudo oops forgot to install lua busted stable? we will get there.. use stable loadkit
1 parent 3aac815 commit b129b00

File tree

4 files changed

+156
-6
lines changed

4 files changed

+156
-6
lines changed

.travis.yml

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,22 @@
11
language: c
22

3+
sudo: false
4+
5+
env:
6+
global:
7+
- LUAROCKS=2.2.2
8+
matrix:
9+
- LUA=lua5.1
10+
- LUA=lua5.2
11+
- LUA=lua5.3
12+
- LUA=luajit2.1 # current head of 2.1 branch
13+
14+
before_install:
15+
- source .travis/setenv_lua.sh
16+
317
install:
4-
- sudo apt-get install luarocks
5-
- mkdir -p ~/.luarocks
6-
- echo 'rocks_servers = { "http://luarocks.org" }' > ~/.luarocks/config.lua
7-
- sudo luarocks install https://luarocks.org/manifests/olivine-labs/busted-2.0.rc7-0.rockspec
8-
- sudo luarocks install https://raw.githubusercontent.com/leafo/loadkit/master/loadkit-dev-1.rockspec
9-
- sudo luarocks make
18+
- luarocks install https://luarocks.org/manifests/olivine-labs/busted-2.0.rc11-0.rockspec
19+
- luarocks install loadkit
20+
- luarocks make
1021

1122
script: busted

.travis/platform.sh

Lines changed: 15 additions & 0 deletions
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

Lines changed: 3 additions & 0 deletions
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

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
#! /bin/bash
2+
3+
# A script for setting up environment for travis-ci testing.
4+
# Sets up Lua and Luarocks.
5+
# LUA must be "lua5.1", "lua5.2" or "luajit".
6+
# luajit2.0 - master v2.0
7+
# luajit2.1 - master v2.1
8+
9+
set -eufo pipefail
10+
11+
LUAJIT_BASE="LuaJIT-2.0.4"
12+
13+
source .travis/platform.sh
14+
15+
LUA_HOME_DIR=$TRAVIS_BUILD_DIR/install/lua
16+
17+
LR_HOME_DIR=$TRAVIS_BUILD_DIR/install/luarocks
18+
19+
mkdir $HOME/.lua
20+
21+
LUAJIT="no"
22+
23+
if [ "$PLATFORM" == "macosx" ]; then
24+
if [ "$LUA" == "luajit" ]; then
25+
LUAJIT="yes";
26+
fi
27+
if [ "$LUA" == "luajit2.0" ]; then
28+
LUAJIT="yes";
29+
fi
30+
if [ "$LUA" == "luajit2.1" ]; then
31+
LUAJIT="yes";
32+
fi;
33+
elif [ "$(expr substr $LUA 1 6)" == "luajit" ]; then
34+
LUAJIT="yes";
35+
fi
36+
37+
mkdir -p "$LUA_HOME_DIR"
38+
39+
if [ "$LUAJIT" == "yes" ]; then
40+
41+
if [ "$LUA" == "luajit" ]; then
42+
curl http://luajit.org/download/$LUAJIT_BASE.tar.gz | tar xz;
43+
else
44+
git clone http://luajit.org/git/luajit-2.0.git $LUAJIT_BASE;
45+
fi
46+
47+
cd $LUAJIT_BASE
48+
49+
if [ "$LUA" == "luajit2.1" ]; then
50+
git checkout v2.1;
51+
# force the INSTALL_TNAME to be luajit
52+
perl -i -pe 's/INSTALL_TNAME=.+/INSTALL_TNAME= luajit/' Makefile
53+
fi
54+
55+
make && make install PREFIX="$LUA_HOME_DIR"
56+
57+
ln -s $LUA_HOME_DIR/bin/luajit $HOME/.lua/luajit
58+
ln -s $LUA_HOME_DIR/bin/luajit $HOME/.lua/lua;
59+
60+
else
61+
62+
if [ "$LUA" == "lua5.1" ]; then
63+
curl http://www.lua.org/ftp/lua-5.1.5.tar.gz | tar xz
64+
cd lua-5.1.5;
65+
elif [ "$LUA" == "lua5.2" ]; then
66+
curl http://www.lua.org/ftp/lua-5.2.4.tar.gz | tar xz
67+
cd lua-5.2.4;
68+
elif [ "$LUA" == "lua5.3" ]; then
69+
curl http://www.lua.org/ftp/lua-5.3.2.tar.gz | tar xz
70+
cd lua-5.3.2;
71+
fi
72+
73+
# Build Lua without backwards compatibility for testing
74+
perl -i -pe 's/-DLUA_COMPAT_(ALL|5_2)//' src/Makefile
75+
make $PLATFORM
76+
make INSTALL_TOP="$LUA_HOME_DIR" install;
77+
78+
ln -s $LUA_HOME_DIR/bin/lua $HOME/.lua/lua
79+
ln -s $LUA_HOME_DIR/bin/luac $HOME/.lua/luac;
80+
81+
fi
82+
83+
cd $TRAVIS_BUILD_DIR
84+
85+
lua -v
86+
87+
LUAROCKS_BASE=luarocks-$LUAROCKS
88+
89+
curl --location http://luarocks.org/releases/$LUAROCKS_BASE.tar.gz | tar xz
90+
91+
cd $LUAROCKS_BASE
92+
93+
if [ "$LUA" == "luajit" ]; then
94+
./configure --lua-suffix=jit --with-lua-include="$LUA_HOME_DIR/include/luajit-2.0" --prefix="$LR_HOME_DIR";
95+
elif [ "$LUA" == "luajit2.0" ]; then
96+
./configure --lua-suffix=jit --with-lua-include="$LUA_HOME_DIR/include/luajit-2.0" --prefix="$LR_HOME_DIR";
97+
elif [ "$LUA" == "luajit2.1" ]; then
98+
./configure --lua-suffix=jit --with-lua-include="$LUA_HOME_DIR/include/luajit-2.1" --prefix="$LR_HOME_DIR";
99+
else
100+
./configure --with-lua="$LUA_HOME_DIR" --prefix="$LR_HOME_DIR"
101+
fi
102+
103+
make build && make install
104+
105+
ln -s $LR_HOME_DIR/bin/luarocks $HOME/.lua/luarocks
106+
107+
cd $TRAVIS_BUILD_DIR
108+
109+
luarocks --version
110+
111+
rm -rf $LUAROCKS_BASE
112+
113+
if [ "$LUAJIT" == "yes" ]; then
114+
rm -rf $LUAJIT_BASE;
115+
elif [ "$LUA" == "lua5.1" ]; then
116+
rm -rf lua-5.1.5;
117+
elif [ "$LUA" == "lua5.2" ]; then
118+
rm -rf lua-5.2.4;
119+
elif [ "$LUA" == "lua5.3" ]; then
120+
rm -rf lua-5.3.2;
121+
fi

0 commit comments

Comments
 (0)