@@ -426,3 +426,71 @@ jobs:
426426 with :
427427 name : deb_dist
428428 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