1
+ sudo : required
2
+ services :
3
+ - docker
4
+
1
5
language : c
2
- sudo : false
3
6
4
7
cache :
5
- directories : here
8
+ directories :
9
+ - $HOME/.cache
10
+
11
+ git :
12
+ depth : 100500
6
13
7
14
matrix :
8
15
include :
@@ -16,26 +23,93 @@ matrix:
16
23
env : LUA="luajit 2.0"
17
24
- compiler : " : LuaJIT21"
18
25
env : LUA="luajit 2.1"
26
+ - env : OS=el DIST=6 PRODUCT=tarantool-luacheck
27
+ - env : OS=el DIST=7 PRODUCT=tarantool-luacheck
28
+ - env : OS=fedora DIST=26 PRODUCT=tarantool-luacheck
29
+ - env : OS=fedora DIST=27 PRODUCT=tarantool-luacheck
19
30
20
31
install :
21
- - pip install --user hererocks
22
- - pip install --user codecov
23
- - hererocks here --$LUA -r https://github.com/mpeterv/luarocks@upgrade-install
24
- - export PATH="$PWD/here/bin:$PATH"
25
- - luarocks install lanes --upgrade --upgrade-deps
26
- - luarocks install busted --upgrade --upgrade-deps
27
- - luarocks install cluacov --upgrade --upgrade-deps
28
-
32
+ - |
33
+ if [ -n "${LUA}" ]; then
34
+ pip install --user hererocks
35
+ pip install --user codecov
36
+ sudo apt-get install luarocks
37
+ hererocks here --$LUA -r https://github.com/mpeterv/luarocks@upgrade-install
38
+ export PATH="$PWD/here/bin:$PATH"
39
+ luarocks install lanes --upgrade --upgrade-deps
40
+ luarocks install busted --upgrade --upgrade-deps
41
+ luarocks install cluacov --upgrade --upgrade-deps
42
+ fi;
29
43
script :
30
- - busted -c
31
- - lua -e 'package.path="./src/?.lua;./src/?/init.lua;"..package.path' -lluacov bin/luacheck.lua luacheck-dev-1.rockspec -j2
32
- - lua -e 'package.preload.lfs=error;package.path="./src/?.lua;./src/?/init.lua;"..package.path' -lluacov bin/luacheck.lua src | grep 'I/O error'
33
- - lua -e 'package.preload.lanes=error;package.path="./src/?.lua;./src/?/init.lua;"..package.path' -lluacov bin/luacheck.lua --version | grep 'Not found'
34
- - lua install.lua path/to/luacheck
35
- - mv src src2
36
- - path/to/luacheck/bin/luacheck spec/*.lua
37
- - mv src2 src
44
+ - |
45
+ if [ -n "${LUA}" ]; then
46
+ busted -c
47
+ lua -e 'package.path="./src/?.lua;./src/?/init.lua;"..package.path' \
48
+ -lluacov bin/luacheck.lua luacheck-dev-1.rockspec -j2
49
+ lua -e 'package.preload.lfs=error;package.path="./src/?.lua;./src/?/init.lua;"..package.path' \
50
+ -lluacov bin/luacheck.lua src | grep 'I/O error'
51
+ lua -e 'package.preload.lanes=error;package.path="./src/?.lua;./src/?/init.lua;"..package.path' \
52
+ -lluacov bin/luacheck.lua --version | grep 'Not found'
53
+ lua install.lua path/to/luacheck
54
+ mv src src2
55
+ path/to/luacheck/bin/luacheck spec/*.lua
56
+ mv src2 src
57
+ else
58
+ # Luacheck has a major.minor.patch versioning with unannotated tags.
59
+ # Packpack can't handle it automaticaly, because it expects
60
+ # annotated tags. We had to pass version by setting VERSION.
61
+ # We set VERSION like: major.minor.patch.number_of_commits above
62
+ # last major.minor.patch tag.
63
+ VERSION=`git describe --tags | sed -e 's/\(.*\)-.*/\1/' -e 's/-/./'`
64
+ git clone https://github.com/packpack/packpack.git packpack;
65
+ VERSION=$VERSION RELEASE=$RELEASE packpack/packpack;
66
+ fi;
38
67
39
68
after_script :
40
- - luacov
41
- - codecov -f luacov.report.out -X gcov
69
+ if [ -n "${LUA}" ]; then
70
+ luacov
71
+ codecov -f luacov.report.out -X gcov
72
+ fi;
73
+
74
+ before_deploy :
75
+ - ls -l build/
76
+
77
+ deploy :
78
+ # Deploy packages to PackageCloud
79
+ - provider : packagecloud
80
+ username : ${PACKAGECLOUD_USER}
81
+ repository : " 1_9"
82
+ token : ${PACKAGECLOUD_TOKEN}
83
+ dist : ${OS}/${DIST}
84
+ package_glob : build/*.{rpm,deb}
85
+ skip_cleanup : true
86
+ on :
87
+ branch : master
88
+ condition : -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
89
+ - provider : packagecloud
90
+ username : ${PACKAGECLOUD_USER}
91
+ repository : " 1_10"
92
+ token : ${PACKAGECLOUD_TOKEN}
93
+ dist : ${OS}/${DIST}
94
+ package_glob : build/*.{rpm,deb}
95
+ skip_cleanup : true
96
+ on :
97
+ branch : master
98
+ condition : -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
99
+ - provider : packagecloud
100
+ username : ${PACKAGECLOUD_USER}
101
+ repository : " 2_0"
102
+ token : ${PACKAGECLOUD_TOKEN}
103
+ dist : ${OS}/${DIST}
104
+ package_glob : build/*.{rpm,deb}
105
+ skip_cleanup : true
106
+ on :
107
+ branch : master
108
+ condition : -n "${OS}" && -n "${DIST}" && -n "${PACKAGECLOUD_TOKEN}"
109
+
110
+ notifications :
111
+ email :
112
+ recipients :
113
+
114
+ on_success : change
115
+ on_failure : always
0 commit comments