Skip to content

test: support tests with vshard #3541

test: support tests with vshard

test: support tests with vshard #3541

Workflow file for this run

name: Run tests
on:
push:
pull_request:
jobs:
run-tests-ce:
if: |
github.event_name == 'push' ||
github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository
strategy:
matrix:
# We need 1.10.6 here to check that module works with
# old Tarantool versions that don't have "tuple-keydef"/"tuple-merger" support.
# We test old metrics with Tarantool 2.10 because since Tarantool 2.11.1
# it uses its own metrics package.
# We test old metrics with Cartridge 2.7.9 because since 2.8.0 it
# requires metrics 1.0.0.
tarantool-version: ["1.10.6", "1.10", "2.2", "2.3", "2.4", "2.5", "2.6", "2.7", "2.8", "2.10", "2.11"]
metrics-version: [""]
cartridge-version: ["2.8.0"]
remove-merger: [false]
include:
- tarantool-version: "1.10"
metrics-version: "1.0.0"
cartridge-version: "2.8.0"
- tarantool-version: "2.7"
remove-merger: true
cartridge-version: "2.8.0"
- tarantool-version: "2.10"
metrics-version: "0.10.0"
cartridge-version: "2.7.9"
- tarantool-version: "2.11"
coveralls: true
metrics-version: "1.0.0"
cartridge-version: "2.8.0"
- tarantool-version: "2.11"
metrics-version: "1.0.0"
vshard-version: "0.1.24"
- tarantool-version: "master"
metrics-version: "1.0.0"
vshard-version: "0.1.24"
fail-fast: false
# Can't install older versions on 22.04,
# see https://github.com/tarantool/setup-tarantool/issues/36
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@master
- name: Setup Tarantool CE
if: matrix.tarantool-version != 'master'
uses: tarantool/setup-tarantool@v2
with:
tarantool-version: ${{ matrix.tarantool-version }}
- name: Setup tt
run: |
curl -L https://tarantool.io/release/2/installer.sh | sudo bash
sudo apt install -y tt
tt version
- name: Get Tarantool master latest commit
if: matrix.tarantool-version == 'master'
run: |
commit_hash=$(git ls-remote https://github.com/tarantool/tarantool.git --branch master | head -c 8)
echo "LATEST_COMMIT=${commit_hash}" >> $GITHUB_ENV
shell: bash
- name: Cache Tarantool master
if: matrix.tarantool-version == 'master'
id: cache-latest
uses: actions/cache@v3
with:
path: "${GITHUB_WORKSPACE}/bin"
key: cache-latest-${{ env.LATEST_COMMIT }}
- name: Setup Tarantool master
if: matrix.tarantool-version == 'master' && steps.cache-latest.outputs.cache-hit != 'true'
run: |
tt init
tt install tarantool master
- name: Add Tarantool master to PATH
if: matrix.tarantool-version == 'master'
run: echo "${GITHUB_WORKSPACE}/bin" >> $GITHUB_PATH
- name: Fix luarocks in Tarantool CE 1.10.6
if: matrix.tarantool-version == '1.10.6'
run: |
sudo patch -p1 /usr/share/tarantool/luarocks/manif.lua luarocks.patch
- name: Install requirements for community
run: |
tarantool --version
./deps.sh
env:
CARTRIDGE_VERSION: ${{ matrix.cartridge-version }}
VSHARD_VERSION: ${{ matrix.vshard-version }}
- name: Install metrics
if: matrix.metrics-version != ''
run: tt rocks install metrics ${{ matrix.metrics-version }}
- name: Remove external merger if needed
if: ${{ matrix.remove-merger }}
run: rm .rocks/lib/tarantool/tuple/merger.so
# This server starts and listen on 8084 port that is used for tests
- name: Stop Mono server
run: sudo kill -9 $(sudo lsof -t -i tcp:8084) || true
- run: cmake -S . -B build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Run tests
if: matrix.coveralls != true # See https://github.com/actions/runner/issues/1173
run: make -C build luatest-no-coverage
- name: Run tests with coverage and send results to coveralls.io
run: make -C build coveralls
if: ${{ matrix.coveralls }}
run-perf-tests-ce:
if: |
github.event_name == 'push' ||
github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository
strategy:
matrix:
tarantool-version: ["1.10", "2.11"]
metrics-version: ["1.0.0"]
cartridge-version: ["2.8.0"]
include:
- tarantool-version: "master"
metrics-version: "1.0.0"
vshard-version: "0.1.24"
fail-fast: false
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@master
- name: Setup Tarantool CE
if: matrix.tarantool-version != 'master'
uses: tarantool/setup-tarantool@v2
with:
tarantool-version: ${{ matrix.tarantool-version }}
- name: Setup tt
run: |
curl -L https://tarantool.io/release/2/installer.sh | sudo bash
sudo apt install -y tt
tt version
- name: Get Tarantool master latest commit
if: matrix.tarantool-version == 'master'
run: |
commit_hash=$(git ls-remote https://github.com/tarantool/tarantool.git --branch master | head -c 8)
echo "LATEST_COMMIT=${commit_hash}" >> $GITHUB_ENV
shell: bash
- name: Cache Tarantool master
if: matrix.tarantool-version == 'master'
id: cache-latest
uses: actions/cache@v3
with:
path: "${GITHUB_WORKSPACE}/bin"
key: cache-latest-${{ env.LATEST_COMMIT }}
- name: Setup Tarantool master
if: matrix.tarantool-version == 'master' && steps.cache-latest.outputs.cache-hit != 'true'
run: |
tt init
tt install tarantool master
- name: Add Tarantool master to PATH
if: matrix.tarantool-version == 'master'
run: echo "${GITHUB_WORKSPACE}/bin" >> $GITHUB_PATH
- name: Install requirements for community
run: |
tarantool --version
./deps.sh
env:
CARTRIDGE_VERSION: ${{ matrix.cartridge-version }}
VSHARD_VERSION: ${{ matrix.vshard-version }}
- name: Install metrics
if: matrix.metrics-version != ''
run: tt rocks install metrics ${{ matrix.metrics-version }}
# This server starts and listen on 8084 port that is used for tests
- name: Stop Mono server
run: sudo kill -9 $(sudo lsof -t -i tcp:8084) || true
- run: cmake -S . -B build
- name: Run performance tests
run: make -C build performance
run-tests-ee:
if: github.event_name == 'push'
strategy:
matrix:
tarantool-version:
- folder: "1.10"
bundle: "tarantool-enterprise-sdk-1.10.15-0-r563"
- folder: "2.11"
bundle: "tarantool-enterprise-sdk-nogc64-2.11.0-0-r563.linux.x86_64"
metrics-version: ["", "1.0.0"]
cartridge-version: ["2.8.0"]
fail-fast: false
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@master
- name: Install requirements for enterprise
run: |
curl -O -L https://tarantool:${{ secrets.DOWNLOAD_TOKEN }}@download.tarantool.io/enterprise/release/linux/x86_64/${{ matrix.tarantool-version.folder }}/${{ matrix.tarantool-version.bundle }}.tar.gz
tar -xzf ${{ matrix.tarantool-version.bundle }}.tar.gz
rm -f ${{ matrix.tarantool-version.bundle }}.tar.gz
sudo cp tarantool-enterprise/tarantool /usr/bin/tarantool
sudo rm tarantool-enterprise/tt
source tarantool-enterprise/env.sh
tarantool --version
./deps.sh
env:
CARTRIDGE_VERSION: ${{ matrix.cartridge-version }}
VSHARD_VERSION: ${{ matrix.vshard-version }}
- name: Install metrics
if: matrix.metrics-version != ''
run: |
source tarantool-enterprise/env.sh
tarantoolctl rocks install metrics ${{ matrix.metrics-version }}
# This server starts and listen on 8084 port that is used for tests
- name: Stop Mono server
run: sudo kill -9 $(sudo lsof -t -i tcp:8084) || true
- run: cmake -S . -B build
- name: Run tests
run: make -C build luatest-no-coverage