@@ -51,3 +51,143 @@ jobs:
51
51
name : pip_dist
52
52
path : dist
53
53
retention-days : 1
54
+
55
+ run_tests_pip_package_install_linux :
56
+ needs : pack_pip
57
+
58
+ # We want to run on external PRs, but not on our own internal
59
+ # PRs as they'll be run by the push to the branch.
60
+ #
61
+ # The main trick is described here:
62
+ # https://github.com/Dart-Code/Dart-Code/pull/2375
63
+ if : (github.event_name == 'push') ||
64
+ (github.event_name == 'pull_request' &&
65
+ github.event.pull_request.head.repo.full_name != github.repository)
66
+ runs-on : ubuntu-20.04
67
+
68
+ strategy :
69
+ fail-fast : false
70
+
71
+ matrix :
72
+ tarantool :
73
+ - ' 2.10'
74
+ python :
75
+ - ' 3.6'
76
+ - ' 3.7'
77
+ - ' 3.8'
78
+ - ' 3.9'
79
+ - ' 3.10'
80
+ steps :
81
+ - name : Clone the connector repo
82
+ uses : actions/checkout@v2
83
+
84
+ - name : Remove connector source code
85
+ run : python .github/scripts/remove_source_code.py
86
+
87
+ - name : Install tarantool ${{ matrix.tarantool }}
88
+ uses : tarantool/setup-tarantool@v1
89
+ with :
90
+ tarantool-version : ${{ matrix.tarantool }}
91
+
92
+ - name : Setup Python for tests
93
+ uses : actions/setup-python@v2
94
+ with :
95
+ python-version : ${{ matrix.python }}
96
+
97
+ - name : Download pip package artifact
98
+ uses : actions/download-artifact@v3
99
+ with :
100
+ name : pip_dist
101
+
102
+ - name : Install the package with pip from artifacts
103
+ run : pip install *.whl
104
+
105
+ - name : Install test requirements
106
+ run : pip install -r requirements-test.txt
107
+
108
+ - name : Run tests
109
+ run : python -m unittest discover -v
110
+ env :
111
+ TEST_PURE_INSTALL : true
112
+
113
+ run_tests_pip_package_install_windows :
114
+ needs : pack_pip
115
+
116
+ # We want to run on external PRs, but not on our own internal
117
+ # PRs as they'll be run by the push to the branch.
118
+ #
119
+ # The main trick is described here:
120
+ # https://github.com/Dart-Code/Dart-Code/pull/2375
121
+ if : (github.event_name == 'push') ||
122
+ (github.event_name == 'pull_request' &&
123
+ github.event.pull_request.head.repo.full_name != github.repository)
124
+
125
+ runs-on : windows-2022
126
+
127
+ strategy :
128
+ fail-fast : false
129
+
130
+ matrix :
131
+ # Use reduced test matrix cause Windows pipelines are long.
132
+ tarantool :
133
+ - ' 2.10.0.g0a5ce0b9c-1'
134
+ python :
135
+ - ' 3.6'
136
+ - ' 3.10'
137
+ steps :
138
+ - name : Clone the connector repo
139
+ uses : actions/checkout@v2
140
+
141
+ - name : Remove connector source code
142
+ run : python .github/scripts/remove_source_code.py
143
+
144
+ - name : Setup Python for tests
145
+ uses : actions/setup-python@v2
146
+ with :
147
+ python-version : ${{ matrix.python }}
148
+
149
+ - name : Download pip package artifact
150
+ uses : actions/download-artifact@v3
151
+ with :
152
+ name : pip_dist
153
+
154
+ - name : Install the package with pip from artifacts
155
+ run : |
156
+ $env:WHEEL_FILE=$(where *.whl)
157
+ pip install $env:WHEEL_FILE
158
+
159
+ - name : Install test requirements
160
+ run : pip install -r requirements-test.txt
161
+
162
+ - name : Setup WSL for tarantool
163
+ uses : Vampire/setup-wsl@v1
164
+ with :
165
+ distribution : Ubuntu-20.04
166
+
167
+ - name : Install tarantool ${{ matrix.tarantool }} for WSL
168
+ shell : wsl-bash_Ubuntu-20.04 {0}
169
+ run : |
170
+ curl -L https://tarantool.io/release/2/installer.sh | bash -s
171
+ sudo apt install -y tarantool=${{ matrix.tarantool }} tarantool-dev=${{ matrix.tarantool }}
172
+
173
+ - name : Setup test tarantool instance
174
+ shell : wsl-bash_Ubuntu-20.04 {0}
175
+ run : |
176
+ rm -f ./tarantool.pid ./tarantool.log
177
+ TNT_PID=$(tarantool ./test/suites/lib/tarantool_python_ci.lua > tarantool.log 2>&1 & echo $!)
178
+ touch tarantool.pid
179
+ echo $TNT_PID > ./tarantool.pid
180
+
181
+ - name : Run tests
182
+ env :
183
+ REMOTE_TARANTOOL_HOST : localhost
184
+ REMOTE_TARANTOOL_CONSOLE_PORT : 3302
185
+ TEST_PURE_INSTALL : true
186
+ run : python -m unittest discover -v
187
+
188
+ - name : Stop test tarantool instance
189
+ if : ${{ always() }}
190
+ shell : wsl-bash_Ubuntu-20.04 {0}
191
+ run : |
192
+ cat tarantool.log || true
193
+ kill $(cat tarantool.pid) || true
0 commit comments