diff options
author | Oscar Lim <olim@ucla.edu> | 2016-05-07 13:28:29 -0700 |
---|---|---|
committer | Oscar Lim <olim@ucla.edu> | 2016-05-07 13:34:03 -0700 |
commit | 61067b665311b5ae6efc56e4df90e5b348a73814 (patch) | |
tree | e451cc57a766ec7e1357fcac83f3aebb4dd43811 | |
parent | 67e5f4ff685bee3fa381db6f50be3506ad0b5e76 (diff) | |
download | luasystem-61067b665311b5ae6efc56e4df90e5b348a73814.tar.gz luasystem-61067b665311b5ae6efc56e4df90e5b348a73814.tar.bz2 luasystem-61067b665311b5ae6efc56e4df90e5b348a73814.zip |
New travis infrastructure
Changes the travis setup and drop `sudo` in favor of the faster
container-based travis infrastructure.
-rw-r--r-- | .travis.yml | 19 | ||||
-rw-r--r-- | .travis/platform.sh | 15 | ||||
-rw-r--r-- | .travis/setenv_lua.sh | 3 | ||||
-rw-r--r-- | .travis/setup_lua.sh | 122 | ||||
-rw-r--r-- | .travis_setup.sh | 45 |
5 files changed, 152 insertions, 52 deletions
diff --git a/.travis.yml b/.travis.yml index acfaa21..129680d 100644 --- a/.travis.yml +++ b/.travis.yml | |||
@@ -1,17 +1,22 @@ | |||
1 | language: c | 1 | language: c |
2 | 2 | ||
3 | env: | 3 | env: |
4 | - LUA='Lua 5.1' | 4 | global: |
5 | - LUA='Lua 5.2' | 5 | - LUAROCKS=2.3.0 |
6 | - LUA='Lua 5.3' | 6 | matrix: |
7 | - LUA='LuaJIT 2.0' | 7 | - LUA=lua5.1 |
8 | - LUA=lua5.2 | ||
9 | - LUA=lua5.3 | ||
10 | - LUA=luajit | ||
11 | - LUA=luajit2.0 | ||
12 | - LUA=luajit2.1 | ||
8 | 13 | ||
9 | before_install: | 14 | before_install: |
10 | - bash .travis_setup.sh | 15 | - source .travis/setenv_lua.sh |
11 | 16 | ||
12 | install: | 17 | install: |
13 | - sudo luarocks install busted | 18 | - luarocks install busted |
14 | - sudo luarocks make luasystem-scm-0.rockspec | 19 | - luarocks make luasystem-scm-0.rockspec |
15 | 20 | ||
16 | script: busted spec | 21 | script: busted spec |
17 | 22 | ||
diff --git a/.travis/platform.sh b/.travis/platform.sh new file mode 100644 index 0000000..7259a7d --- /dev/null +++ b/.travis/platform.sh | |||
@@ -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 | ||
diff --git a/.travis/setenv_lua.sh b/.travis/setenv_lua.sh new file mode 100644 index 0000000..8d8c825 --- /dev/null +++ b/.travis/setenv_lua.sh | |||
@@ -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` | ||
diff --git a/.travis/setup_lua.sh b/.travis/setup_lua.sh new file mode 100644 index 0000000..6dcc0c6 --- /dev/null +++ b/.travis/setup_lua.sh | |||
@@ -0,0 +1,122 @@ | |||
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_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; | ||
60 | |||
61 | else | ||
62 | |||
63 | if [ "$LUA" == "lua5.1" ]; then | ||
64 | curl http://www.lua.org/ftp/lua-5.1.5.tar.gz | tar xz | ||
65 | cd lua-5.1.5; | ||
66 | elif [ "$LUA" == "lua5.2" ]; then | ||
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; | ||
72 | fi | ||
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 | |||
82 | fi | ||
83 | |||
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 | ||
93 | |||
94 | if [ "$LUA" == "luajit" ]; then | ||
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"; | ||
100 | else | ||
101 | ./configure --with-lua="$LUA_HOME_DIR" --prefix="$LR_HOME_DIR" | ||
102 | fi | ||
103 | |||
104 | make build && make install | ||
105 | |||
106 | ln -s $LR_HOME_DIR/bin/luarocks $HOME/.lua/luarocks | ||
107 | |||
108 | cd $TRAVIS_BUILD_DIR | ||
109 | |||
110 | luarocks --version | ||
111 | |||
112 | rm -rf $LUAROCKS_BASE | ||
113 | |||
114 | if [ "$LUAJIT" == "yes" ]; then | ||
115 | rm -rf $LUAJIT_BASE; | ||
116 | elif [ "$LUA" == "lua5.1" ]; then | ||
117 | rm -rf lua-5.1.5; | ||
118 | elif [ "$LUA" == "lua5.2" ]; then | ||
119 | rm -rf lua-5.2.4; | ||
120 | elif [ "$LUA" == "lua5.3" ]; then | ||
121 | rm -rf lua-5.3.2; | ||
122 | fi | ||
diff --git a/.travis_setup.sh b/.travis_setup.sh deleted file mode 100644 index f186230..0000000 --- a/.travis_setup.sh +++ /dev/null | |||
@@ -1,45 +0,0 @@ | |||
1 | # A script for setting up environment for travis-ci testing. | ||
2 | # Sets up Lua and Luarocks. | ||
3 | # LUA must be "Lua 5.1", "Lua 5.2", "Lua 5.3" or "LuaJIT 2.0". | ||
4 | |||
5 | set -e | ||
6 | |||
7 | echo 'rocks_servers = { | ||
8 | "http://luarocks.org/manifests/olivine-labs", | ||
9 | "http://rocks.moonscript.org/", | ||
10 | "http://luarocks.org/repositories/rocks", | ||
11 | "http://luarocks.logiceditor.com/rocks", | ||
12 | "http://liblua.so/luarocks/repositories/rocks" | ||
13 | }' >> ~/config.lua | ||
14 | |||
15 | |||
16 | if [ "$LUA" == "LuaJIT 2.0" ]; then | ||
17 | wget -O - http://luajit.org/download/LuaJIT-2.0.4.tar.gz | tar xz | ||
18 | cd LuaJIT-2.0.4 | ||
19 | make && sudo make install INSTALL_TSYMNAME=lua; | ||
20 | else | ||
21 | if [ "$LUA" == "Lua 5.1" ]; then | ||
22 | wget -O - http://www.lua.org/ftp/lua-5.1.5.tar.gz | tar xz | ||
23 | cd lua-5.1.5; | ||
24 | elif [ "$LUA" == "Lua 5.2" ]; then | ||
25 | wget -O - http://www.lua.org/ftp/lua-5.2.4.tar.gz | tar xz | ||
26 | cd lua-5.2.4; | ||
27 | elif [ "$LUA" == "Lua 5.3" ]; then | ||
28 | wget -O - http://www.lua.org/ftp/lua-5.3.2.tar.gz | tar xz | ||
29 | cd lua-5.3.2; | ||
30 | fi | ||
31 | sudo make linux install; | ||
32 | fi | ||
33 | |||
34 | cd .. | ||
35 | wget -O - http://luarocks.org/releases/luarocks-2.3.0.tar.gz | tar xz || wget -O - http://keplerproject.github.io/luarocks/releases/luarocks-2.3.0.tar.gz | tar xz | ||
36 | cd luarocks-2.3.0 | ||
37 | |||
38 | if [ "$LUA" == "LuaJIT 2.0" ]; then | ||
39 | ./configure --with-lua-include=/usr/local/include/luajit-2.0; | ||
40 | else | ||
41 | ./configure; | ||
42 | fi | ||
43 | |||
44 | make build && sudo make install | ||
45 | cd .. | ||