@@ -422,3 +422,71 @@ jobs:
422
422
with :
423
423
name : deb_dist
424
424
path : deb_dist
425
+
426
+ run_tests_deb :
427
+ needs : pack_deb
428
+
429
+ # We want to run on external PRs, but not on our own internal
430
+ # PRs as they'll be run by the push to the branch.
431
+ #
432
+ # The main trick is described here:
433
+ # https://github.com/Dart-Code/Dart-Code/pull/2375
434
+ if : (github.event_name == 'push') ||
435
+ (github.event_name == 'pull_request' &&
436
+ github.event.pull_request.head.repo.full_name != github.repository)
437
+ runs-on : ubuntu-20.04
438
+
439
+ container :
440
+ image : ${{ matrix.target.os }}:${{ matrix.target.dist }}
441
+
442
+ strategy :
443
+ fail-fast : false
444
+
445
+ matrix :
446
+ target :
447
+ - os : ubuntu
448
+ dist : focal # 20.04
449
+ - os : ubuntu
450
+ dist : jammy # 22.04
451
+ - os : debian
452
+ dist : buster # 10
453
+ - os : debian
454
+ dist : bullseye # 11
455
+
456
+ steps :
457
+ - name : Clone the connector repo
458
+ uses : actions/checkout@v3
459
+
460
+ - name : Prepare apt
461
+ run : apt update
462
+
463
+ - name : Setup Python
464
+ run : apt install -y python3 python3-pip git
465
+
466
+ - name : Remove connector source code
467
+ run : python3 .github/scripts/remove_source_code.py
468
+
469
+ - name : Install tarantool ${{ matrix.tarantool }}
470
+ run : |
471
+ apt install -y curl
472
+ curl -L https://tarantool.io/yeohchA/release/2/installer.sh | bash
473
+ apt install -y tarantool tarantool-dev
474
+ env :
475
+ DEBIAN_FRONTEND : noninteractive
476
+
477
+ - name : Download deb package artifact
478
+ uses : actions/download-artifact@v3
479
+ with :
480
+ name : deb_dist
481
+ path : deb_dist
482
+
483
+ - name : Install the package from deb artifacts
484
+ run : apt install -y deb_dist/python3-tarantool_*.deb
485
+ env :
486
+ DEBIAN_FRONTEND : noninteractive
487
+
488
+ - name : Install test requirements
489
+ run : pip3 install -r requirements-test.txt
490
+
491
+ - name : Run tests
492
+ run : make test-pure-install
0 commit comments