Skip to content

cartridge: ability to use persistent functions #1088

cartridge: ability to use persistent functions

cartridge: ability to use persistent functions #1088

Workflow file for this run

name: fast_testing
on:
push:
pull_request:
workflow_dispatch:
jobs:
linux:
# 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.pull_request.head.repo.full_name != github.repository
strategy:
fail-fast: false
matrix:
tarantool:
- '1.10'
- '2.4'
- '2.5'
- '2.6'
- '2.7'
- '2.8'
- '2.10'
cartridge-version:
- ''
- '2.7.4'
metrics-version:
- ''
- '0.10.0'
- '0.11.0'
- '0.13.0'
coveralls: [false]
include:
- tarantool: '2.10'
cartridge-version: '2.7.4'
metrics-version: '0.13.0'
coveralls: true
- tarantool: 'debug-master'
cartridge-version: ''
metrics-version: '0.13.0'
coveralls: false
env:
TNT_DEBUG_PATH: /home/runner/tnt-debug
runs-on: ubuntu-20.04
steps:
- name: Install tarantool ${{ matrix.tarantool }}
if: startsWith(matrix.tarantool, 'debug') != true
uses: tarantool/setup-tarantool@v1
with:
tarantool-version: ${{ matrix.tarantool }}
- name: Create variables for Tarantool ${{ matrix.tarantool }}
if: startsWith(matrix.tarantool, 'debug')
run: |
branch=$(echo ${{ matrix.tarantool }} | cut -d- -f2)
commit_hash=$(git ls-remote https://github.com/tarantool/tarantool.git --branch ${branch} | head -c 8)
echo "TNT_BRANCH=${branch}" >> $GITHUB_ENV
echo "VERSION_POSTFIX=-${commit_hash}" >> $GITHUB_ENV
shell: bash
- name: Cache tarantool build
if: startsWith(matrix.tarantool, 'debug')
id: cache-tnt-debug
uses: actions/cache@v3
with:
path: ${{ env.TNT_DEBUG_PATH }}
key: cache-tnt-${{ matrix.tarantool }}${{ env.VERSION_POSTFIX }}
- name: Clone tarantool ${{ matrix.tarantool }}
if: startsWith(matrix.tarantool, 'debug') && steps.cache-tnt-debug.outputs.cache-hit != 'true'
uses: actions/checkout@v3
with:
repository: tarantool/tarantool
ref: ${{ env.TNT_BRANCH }}
path: tarantool
fetch-depth: 0
submodules: true
- name: Build tarantool ${{ matrix.tarantool }}
if: startsWith(matrix.tarantool, 'debug') && steps.cache-tnt-debug.outputs.cache-hit != 'true'
run: |
sudo apt-get -y install git build-essential cmake make zlib1g-dev \
libreadline-dev libncurses5-dev libssl-dev \
libunwind-dev libicu-dev python3 python3-yaml \
python3-six python3-gevent
cd ${GITHUB_WORKSPACE}/tarantool
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DENABLE_DIST=ON
make
make DESTDIR=${TNT_DEBUG_PATH} install
- name: Install tarantool ${{ matrix.tarantool }}
if: startsWith(matrix.tarantool, 'debug')
run: |
sudo cp -rvP ${TNT_DEBUG_PATH}/usr/local/* /usr/local/
- name: Clone the module
uses: actions/checkout@v3
- name: Cache rocks
uses: actions/cache@v3
id: cache-rocks
with:
path: .rocks/
key: "cache-rocks-${{ matrix.tarantool }}${{ env.VERSION_POSTFIX }}-\
${{ matrix.cartridge-version }}-\
${{ matrix.metrics-version }}"
- name: Install requirements
run: make deps
if: steps.cache-rocks.outputs.cache-hit != 'true'
- name: Install metrics
if: matrix.metrics-version != ''
run: |
tarantoolctl rocks install metrics ${{ matrix.metrics-version }}
- name: Install cartridge
if: matrix.cartridge-version != ''
run: |
tarantoolctl rocks install cartridge ${{ matrix.cartridge-version }}
- run: echo $PWD/.rocks/bin >> $GITHUB_PATH
- run: make check
- run: make coverage
- name: Send code coverage to coveralls.io
run: make coveralls
if: ${{ matrix.coveralls }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}