Skip to content

Commit 587c221

Browse files
Try matrix, cleanup tarantool
1 parent 0e0125b commit 587c221

File tree

2 files changed

+79
-32
lines changed

2 files changed

+79
-32
lines changed

.github/workflows/testing.yml

Lines changed: 78 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -21,23 +21,38 @@ jobs:
2121
matrix:
2222
tarantool:
2323
- '1.10'
24-
# - '2.8'
25-
# - '2.9'
24+
- '2.8'
25+
- '2.9'
2626
- '2.x-latest'
2727
python:
2828
- '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'
3434
- '3.10'
3535
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'
4156

4257
steps:
4358
- name: Clone the connector
@@ -55,15 +70,21 @@ jobs:
5570
curl -L https://tarantool.io/pre-release/2/installer.sh | sudo bash
5671
sudo apt install -y tarantool tarantool-dev
5772
58-
- name: Setup python3 for tests
73+
- name: Setup Python for tests
5974
uses: actions/setup-python@v2
6075
with:
6176
python-version: ${{ matrix.python }}
6277

63-
- name: Setup msgpack python package
78+
- name: Setup specific msgpack python package
79+
if: matrix.msgpack-deps != ''
6480
run: pip install ${{ matrix.msgpack-deps }}
6581

6682
- 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.
6788
if: matrix.msgpack-deps != 'msgpack-python==0.4.0'
6889
run: pip install -r requirements.txt
6990

@@ -87,6 +108,11 @@ jobs:
87108
strategy:
88109
fail-fast: false
89110
matrix:
111+
tarantool:
112+
- '1.10'
113+
- '2.8'
114+
- '2.9'
115+
- '2.x-latest'
90116
python:
91117
- '2.7'
92118
- '3.5'
@@ -95,46 +121,67 @@ jobs:
95121
- '3.8'
96122
- '3.9'
97123
- '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'
103145

104146
steps:
105147
- name: Clone the connector
106148
uses: actions/checkout@v2
107149

108-
- name: Setup python3 for tests
150+
- name: Setup Python for tests
109151
uses: actions/setup-python@v2
110152
with:
111153
python-version: ${{ matrix.python }}
112154

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 }}
117158

118159
- 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'
119166
run: pip install -r requirements.txt
120167

121168
- name: Install test requirements
122169
run: pip install -r requirements-test.txt
123170

124-
- name: Setup WSL
171+
- name: Setup WSL for test Tarantool
125172
uses: Vampire/setup-wsl@v1
126173
with:
127174
distribution: Ubuntu-20.04
128175

129-
- shell: wsl-bash_Ubuntu-20.04 {0}
176+
- name: Setup test Tarantool
177+
shell: wsl-bash_Ubuntu-20.04 {0}
130178
run: |
131179
curl -L https://tarantool.io/pre-release/2/installer.sh | sudo bash
132180
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
138185

139186
- name: Run tests
140187
env:

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
msgpack-python>=0.4.0
1+
msgpack>=0.4.0

0 commit comments

Comments
 (0)