@@ -21,23 +21,38 @@ jobs:
21
21
matrix :
22
22
tarantool :
23
23
- ' 1.10'
24
- # - '2.8'
25
- # - '2.9'
24
+ - ' 2.8'
25
+ - ' 2.9'
26
26
- ' 2.x-latest'
27
27
python :
28
28
- ' 2.7'
29
- # - '3.5'
30
- # - '3.6'
31
- # - '3.7'
32
- # - '3.8'
33
- # - '3.9'
29
+ - ' 3.5'
30
+ - ' 3.6'
31
+ - ' 3.7'
32
+ - ' 3.8'
33
+ - ' 3.9'
34
34
- ' 3.10'
35
35
msgpack-deps :
36
- - ' msgpack-python==0.4.0'
37
- - ' msgpack==0.5.0'
38
- - ' msgpack==0.6.2'
39
- - ' msgpack==1.0.0'
40
- - ' msgpack>=0.4.0'
36
+ # latest msgpack will be installed as a part of requirements.txt
37
+ - ' '
38
+
39
+ # Adding too many elements in three-dimentional matrix results in
40
+ # too many test cases, which causes GitHub webpages to fail with
41
+ # "This page is taking too long to load." error, so we use pairwise
42
+ # testing.
43
+ include :
44
+ - tarantool : ' 2.8'
45
+ python : ' 3.10'
46
+ msgpack-deps : ' msgpack-python==0.4.0'
47
+ - tarantool : ' 2.8'
48
+ python : ' 3.10'
49
+ msgpack-deps : ' msgpack==0.5.0'
50
+ - tarantool : ' 2.8'
51
+ python : ' 3.10'
52
+ msgpack-deps : ' msgpack==0.6.2'
53
+ - tarantool : ' 2.8'
54
+ python : ' 3.10'
55
+ msgpack-deps : ' msgpack==1.0.0'
41
56
42
57
steps :
43
58
- name : Clone the connector
@@ -55,15 +70,21 @@ jobs:
55
70
curl -L https://tarantool.io/pre-release/2/installer.sh | sudo bash
56
71
sudo apt install -y tarantool tarantool-dev
57
72
58
- - name : Setup python3 for tests
73
+ - name : Setup Python for tests
59
74
uses : actions/setup-python@v2
60
75
with :
61
76
python-version : ${{ matrix.python }}
62
77
63
- - name : Setup msgpack python package
78
+ - name : Setup specific msgpack python package
79
+ if : matrix.msgpack-deps != ''
64
80
run : pip install ${{ matrix.msgpack-deps }}
65
81
66
82
- name : Install connector requirements
83
+ # msgpack package is a replacement for deprecated msgpack-python.
84
+ # To test compatibility with msgpack-python we must ignore
85
+ # requirements.txt install, since it will install newest msgpack.
86
+ # Beware that if any new dependency will be added to requirements.txt,
87
+ # this step will be invalid.
67
88
if : matrix.msgpack-deps != 'msgpack-python==0.4.0'
68
89
run : pip install -r requirements.txt
69
90
@@ -87,6 +108,11 @@ jobs:
87
108
strategy :
88
109
fail-fast : false
89
110
matrix :
111
+ tarantool :
112
+ - ' 1.10'
113
+ - ' 2.8'
114
+ - ' 2.9'
115
+ - ' 2.x-latest'
90
116
python :
91
117
- ' 2.7'
92
118
- ' 3.5'
@@ -95,46 +121,67 @@ jobs:
95
121
- ' 3.8'
96
122
- ' 3.9'
97
123
- ' 3.10'
98
- python-msgpack :
99
- - ' 0.5.0'
100
- - ' 0.6.2'
101
- - ' 1.0.0'
102
- - ' latest'
124
+ msgpack-deps :
125
+ # latest msgpack will be installed as a part of requirements.txt
126
+ - ' '
127
+
128
+ # Adding too many elements in three-dimentional matrix results in
129
+ # too many test cases, which causes GitHub webpages to fail with
130
+ # "This page is taking too long to load." error, so we use pairwise
131
+ # testing.
132
+ include :
133
+ - tarantool : ' 2.8'
134
+ python : ' 3.10'
135
+ msgpack-deps : ' msgpack-python==0.4.0'
136
+ - tarantool : ' 2.8'
137
+ python : ' 3.10'
138
+ msgpack-deps : ' msgpack==0.5.0'
139
+ - tarantool : ' 2.8'
140
+ python : ' 3.10'
141
+ msgpack-deps : ' msgpack==0.6.2'
142
+ - tarantool : ' 2.8'
143
+ python : ' 3.10'
144
+ msgpack-deps : ' msgpack==1.0.0'
103
145
104
146
steps :
105
147
- name : Clone the connector
106
148
uses : actions/checkout@v2
107
149
108
- - name : Setup python3 for tests
150
+ - name : Setup Python for tests
109
151
uses : actions/setup-python@v2
110
152
with :
111
153
python-version : ${{ matrix.python }}
112
154
113
- - name : Setup msgpack python package
114
- if : matrix.python-msgpack != 'latest'
115
- # 'latest' msgpack will be installed as a part of requirements.txt
116
- run : pip install msgpack==${{ matrix.python-msgpack }}
155
+ - name : Setup specific msgpack python package
156
+ if : matrix.msgpack-deps != ''
157
+ run : pip install ${{ matrix.msgpack-deps }}
117
158
118
159
- name : Install connector requirements
160
+ # msgpack package is a replacement for deprecated msgpack-python.
161
+ # To test compatibility with msgpack-python we must ignore
162
+ # requirements.txt install, since it will install newest msgpack.
163
+ # Beware that if any new dependency will be added to requirements.txt,
164
+ # this step will be invalid.
165
+ if : matrix.msgpack-deps != 'msgpack-python==0.4.0'
119
166
run : pip install -r requirements.txt
120
167
121
168
- name : Install test requirements
122
169
run : pip install -r requirements-test.txt
123
170
124
- - name : Setup WSL
171
+ - name : Setup WSL for test Tarantool
125
172
uses : Vampire/setup-wsl@v1
126
173
with :
127
174
distribution : Ubuntu-20.04
128
175
129
- - shell : wsl-bash_Ubuntu-20.04 {0}
176
+ - name : Setup test Tarantool
177
+ shell : wsl-bash_Ubuntu-20.04 {0}
130
178
run : |
131
179
curl -L https://tarantool.io/pre-release/2/installer.sh | sudo bash
132
180
sudo apt install -y tarantool tarantool-dev
133
- tarantool ./test/suites/lib/tarantool_python_ci.lua &
134
- sudo apt-get install net-tools -y
135
- netstat -a
136
-
137
- - run : netstat -a
181
+ TNT_PID=$(tarantool ./test/suites/lib/tarantool_python_ci.lua > tarantool.log 2>&1 & echo $!)
182
+ echo "::save-state name=TNT_PID::$TNT_PID"
183
+ post-if : process.env.STATE_TNT_PID != ''
184
+ post : kill $STATE_TNT_PID
138
185
139
186
- name : Run tests
140
187
env :
0 commit comments