@@ -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 :
0 commit comments