commit 9419ae5fdfed0da5872611ef8581b1c4e80ca2c5 from: Sergey Bronnikov via: Yaroslav Lobankov date: Thu Mar 07 09:32:56 2024 UTC ci: add integration testing for etcd-client Add workflow job for integration testing of the etcd-client module. NO_DOC=ci NO_TEST=ci NO_CHANGELOG=ci 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