Commit Diff


commit - f90f53900d9a2e4273411d05d8062bdeb9be2415
commit + 9419ae5fdfed0da5872611ef8581b1c4e80ca2c5
blob - /dev/null
blob + ddafb92d61a91a1b72b6d741e1c13f7ea0ea5476 (mode 644)
--- /dev/null
+++ .github/workflows/etcd_integration.yml
@@ -0,0 +1,52 @@
+name: etcd_integration
+
+on:
+  workflow_call:
+    inputs:
+      artifact_name:
+        description: The name of the tarantool build artifact
+        default: ubuntu-focal
+        required: false
+        type: string
+
+jobs:
+  run_tests:
+    runs-on: ubuntu-20.04
+
+    strategy:
+      fail-fast: false
+      matrix:
+        etcd-version: [ 'v3.4.30', 'v3.5.12' ]
+
+    steps:
+      - name: Check out the etcd-client module
+        uses: actions/checkout@v3
+        with:
+          repository: ${{ github.repository_owner }}/etcd-client
+          token: ${{ secrets.PRIVATE_REPO_ACCESS_TOKEN }}
+
+      - name: Download the tarantool build artifact
+        uses: actions/download-artifact@v3
+        with:
+          name: ${{ inputs.artifact_name }}
+
+      - name: Install tarantool
+        # Now we're lucky: all dependencies are already installed. Check package
+        # dependencies when migrating to other OS version.
+        run: sudo dpkg -i tarantool*.deb
+
+      - name: Setup etcd ${{ matrix.etcd-version }}
+        uses: tarantool/actions/setup-etcd@master
+        with:
+          version: ${{ matrix.etcd-version }}
+
+      - name: Setup tt
+        run: |
+          curl -L https://tarantool.io/release/3/installer.sh | bash
+          sudo apt-get -y install tt
+
+      - name: Setup luatest
+        run: tt rocks install luatest 1.0.1
+
+      - name: Run tests
+        run: make test
blob - 39be983b9d5fd3f80b06c1990f99750670983963
blob + bcda06f5fe8feb8917e853df30e15bd4710ef5dc
--- .github/workflows/integration.yml
+++ .github/workflows/integration.yml
@@ -151,3 +151,14 @@ jobs:
     uses: tarantool/ddl/.github/workflows/reusable_test.yml@master
     with:
       artifact_name: tarantool-ubuntu-focal-${{ needs.tarantool.outputs.sha }}
+
+  etcd-client:
+    # Run on push to the 'master' and release branches or on non-fork pull
+    # requests (secrets are unavailable in fork pull requests).
+    if: github.event_name != 'pull_request' ||
+      github.event.pull_request.head.repo.full_name == github.repository
+    needs: tarantool
+    uses: ligurio/tarantool/.github/workflows/etcd_integration.yml@ligurio/gh-9093-etcd-client-reusable-workfow
+    with:
+      artifact_name: tarantool-ubuntu-focal-${{ needs.tarantool.outputs.sha }}
+    secrets: inherit