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