Skip to content

Commit 94bbf1e

Browse files
ci: run pure install tests
GitHub actions clone the repo for test files, install current branch module with pip and run unittest (same as ran under setup.py) tests. "Run tests" stage is full of ResourceWarning messages. It's not clear why these messages are suppressed by `setup.py test`. We also can't disable these warning separately from application warnings (some tests rely on application warnings). Part of #238
1 parent 3392f46 commit 94bbf1e

File tree

1 file changed

+128
-0
lines changed

1 file changed

+128
-0
lines changed

.github/workflows/testing.yml

+128
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,57 @@ jobs:
148148
env:
149149
TEST_TNT_SSL: ${{ matrix.tarantool == '2.10.0-1-gfa775b383-r486-linux-x86_64' }}
150150

151+
run_tests_with_install_linux:
152+
# We want to run on external PRs, but not on our own internal
153+
# PRs as they'll be run by the push to the branch.
154+
#
155+
# The main trick is described here:
156+
# https://github.com/Dart-Code/Dart-Code/pull/2375
157+
if: (github.event_name == 'push') ||
158+
(github.event_name == 'pull_request' &&
159+
github.event.pull_request.head.repo.full_name != github.repository)
160+
runs-on: ubuntu-20.04
161+
162+
strategy:
163+
fail-fast: false
164+
165+
matrix:
166+
tarantool:
167+
- '2.10'
168+
python:
169+
- '3.6'
170+
- '3.7'
171+
- '3.8'
172+
- '3.9'
173+
- '3.10'
174+
steps:
175+
- name: Clone the connector repo
176+
uses: actions/checkout@v2
177+
178+
- name: Remove connector source code
179+
run: |
180+
rm -rf tarantool
181+
rm setup.py
182+
183+
- name: Install tarantool ${{ matrix.tarantool }}
184+
uses: tarantool/setup-tarantool@v1
185+
with:
186+
tarantool-version: ${{ matrix.tarantool }}
187+
188+
- name: Setup Python for tests
189+
uses: actions/setup-python@v2
190+
with:
191+
python-version: ${{ matrix.python }}
192+
193+
- name: Install the package with pip
194+
run: pip install git+$GITHUB_SERVER_URL/$GITHUB_REPOSITORY"@"$GITHUB_REF_NAME
195+
196+
- name: Install test requirements
197+
run: pip install -r requirements-test.txt
198+
199+
- name: Run tests
200+
run: python -m unittest discover -v
201+
151202
run_tests_ce_windows:
152203
# We want to run on external PRs, but not on our own internal
153204
# PRs as they'll be run by the push to the branch.
@@ -224,3 +275,80 @@ jobs:
224275
run: |
225276
cat tarantool.log || true
226277
kill $(cat tarantool.pid) || true
278+
279+
run_tests_with_install_windows:
280+
# We want to run on external PRs, but not on our own internal
281+
# PRs as they'll be run by the push to the branch.
282+
#
283+
# The main trick is described here:
284+
# https://github.com/Dart-Code/Dart-Code/pull/2375
285+
if: (github.event_name == 'push') ||
286+
(github.event_name == 'pull_request' &&
287+
github.event.pull_request.head.repo.full_name != github.repository)
288+
289+
runs-on: windows-2022
290+
291+
strategy:
292+
fail-fast: false
293+
294+
matrix:
295+
tarantool:
296+
- '2.10'
297+
python:
298+
- '3.10'
299+
steps:
300+
- name: Clone the connector repo
301+
uses: actions/checkout@v2
302+
303+
- name: Remove connector source code
304+
run: |
305+
rm -rf tarantool
306+
rm setup.py
307+
308+
- name: Install tarantool ${{ matrix.tarantool }}
309+
uses: tarantool/setup-tarantool@v1
310+
with:
311+
tarantool-version: ${{ matrix.tarantool }}
312+
313+
- name: Setup Python for tests
314+
uses: actions/setup-python@v2
315+
with:
316+
python-version: ${{ matrix.python }}
317+
318+
- name: Install the package with pip
319+
run: pip install git+$GITHUB_SERVER_URL/$GITHUB_REPOSITORY"@"$GITHUB_REF_NAME
320+
321+
- name: Install test requirements
322+
run: pip install -r requirements-test.txt
323+
324+
- name: Setup WSL for tarantool
325+
uses: Vampire/setup-wsl@v1
326+
with:
327+
distribution: Ubuntu-20.04
328+
329+
- name: Install tarantool ${{ matrix.tarantool }} for WSL
330+
shell: wsl-bash_Ubuntu-20.04 {0}
331+
run: |
332+
curl -L https://tarantool.io/release/2/installer.sh | bash -s
333+
sudo apt install -y tarantool=${{ matrix.tarantool }} tarantool-dev=${{ matrix.tarantool }}
334+
335+
- name: Setup test tarantool instance
336+
shell: wsl-bash_Ubuntu-20.04 {0}
337+
run: |
338+
rm -f ./tarantool.pid ./tarantool.log
339+
TNT_PID=$(tarantool ./test/suites/lib/tarantool_python_ci.lua > tarantool.log 2>&1 & echo $!)
340+
touch tarantool.pid
341+
echo $TNT_PID > ./tarantool.pid
342+
343+
- name: Run tests
344+
env:
345+
REMOTE_TARANTOOL_HOST: localhost
346+
REMOTE_TARANTOOL_CONSOLE_PORT: 3302
347+
run: python -m unittest discover -v
348+
349+
- name: Stop test tarantool instance
350+
if: ${{ always() }}
351+
shell: wsl-bash_Ubuntu-20.04 {0}
352+
run: |
353+
cat tarantool.log || true
354+
kill $(cat tarantool.pid) || true

0 commit comments

Comments
 (0)