Skip to content
Snippets Groups Projects
Commit 1b1ddd22 authored by VitaliyaIoffe's avatar VitaliyaIoffe Committed by Yaroslav Lobankov
Browse files

ci: take sysbench out of docker

Previously, sysbench benchmark was running inside Docker on CI.
According to the performance testing best practices it is a quite
doubtful approach. So let's switch to a more traditional practice:
run on hardware.

Closes tarantool/tarantool-qa#158

NO_DOC=ci
NO_TEST=ci
NO_CHANGELOG=ci
parent c1c77782
No related branches found
No related tags found
No related merge requests found
...@@ -6,7 +6,7 @@ on: ...@@ -6,7 +6,7 @@ on:
- '*' - '*'
workflow_dispatch: workflow_dispatch:
schedule: schedule:
- cron: '0 */3 * * *' - cron: '0 1 * * *'
jobs: jobs:
perf_sysbench: perf_sysbench:
...@@ -15,27 +15,60 @@ jobs: ...@@ -15,27 +15,60 @@ jobs:
runs-on: perf-sh3 runs-on: perf-sh3
steps: steps:
- name: set PATH to GIT of the newer version 2.9.0 - name: Checkout tarantool
run: echo "/usr/local/git/bin" | tee -a $GITHUB_PATH uses: actions/checkout@v2
- name: cleanup workspace with:
run: docker run -w /source -v ${PWD}:/source -i centos:8 /bin/bash -c "chown -R $(id -u):$(id -g) * .[^.]*" fetch-depth: 0
- uses: actions/checkout@v1 submodules: recursive
- name: test
env: - uses: ./.github/actions/environment
BENCH: 'sysbench'
uses: ./.github/actions/perf - name: Checkout bench-run
uses: actions/checkout@v2
with:
path: bench-run
repository: tarantool/bench-run
- name: Checkout sysbench
uses: actions/checkout@v2
with:
path: sysbench
repository: tarantool/sysbench
- name: Build tarantool
run: |
cmake . -DCMAKE_BUILD_TYPE=Release
make -j
- name: Add tarantool path to $PATH
run: echo "${PWD}/src:${PWD}/extra/dist" >> ${GITHUB_PATH}
- name: Build and install sysbench
run: |
./autogen.sh
./configure --with-tarantool --without-mysql
make -j
make install
working-directory: ./sysbench
- name: Run sysbench
# Run each test only once. Using absolute path is intentional.
# It is needed for correct work of running scripts under the hood.
run: ${PWD}/bench-run/benchs/sysbench/run.sh 1
- name: call action to send Telegram message on failure - name: call action to send Telegram message on failure
env: env:
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_CORE_TOKEN }} TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_CORE_TOKEN }}
TELEGRAM_TO: ${{ secrets.TELEGRAM_CORE_TO }} TELEGRAM_TO: ${{ secrets.TELEGRAM_CORE_TO }}
uses: ./.github/actions/send-telegram-notify uses: ./.github/actions/send-telegram-notify
if: failure() if: failure()
- name: artifacts
- name: Collect artifacts
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v2
if: always() if: always()
with: with:
name: perf_sysbench name: perf_sysbench
retention-days: 21 retention-days: 21
path: | path: |
*_result.txt ./[Ss]ysbench_*.txt
*_t_version.txt ./tnt_server.txt
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment