diff --git a/.github/workflows/packing.yml b/.github/workflows/packing.yml index 89565795..e3cc8cb8 100644 --- a/.github/workflows/packing.yml +++ b/.github/workflows/packing.yml @@ -268,3 +268,63 @@ jobs: path: rpm_dist retention-days: 1 if-no-files-found: error + + run_tests_rpm: + needs: pack_rpm + + # We want to run on external PRs, but not on our own internal + # PRs as they'll be run by the push to the branch. + # + # The main trick is described here: + # https://github.com/Dart-Code/Dart-Code/pull/2375 + if: (github.event_name == 'push') || + (github.event_name == 'pull_request' && + github.event.pull_request.head.repo.full_name != github.repository) + runs-on: ubuntu-20.04 + + container: + image: ${{ matrix.os }}.${{ matrix.dist }} + + strategy: + fail-fast: false + + matrix: + os: [] + dist: [] + include: + - os: fedora + dist: 34 + - os: fedora + dist: 35 + - os: fedora + dist: 36 + + steps: + - name: Clone the connector repo + uses: actions/checkout@v3 + + - name: Setup Python and test running tools + run: dnf install -y python3 python3-libs python3-pip git make + + - name: Remove connector source code + run: python3 .github/scripts/remove_source_code.py + + - name: Install tarantool + run: | + curl -L https://tarantool.io/yeohchA/release/2/installer.sh | bash + dnf install -y tarantool tarantool-devel + + - name: Download RPM artifacts + uses: actions/download-artifact@v3 + with: + name: rpm_dist + path: rpm_dist + + - name: Install the package from rpm artifacts + run: dnf install -y rpm_dist/python3-tarantool-*.noarch.rpm + + - name: Install test requirements + run: pip3 install -r requirements-test.txt + + - name: Run tests + run: make test-pure-install