Skip to content

sysbench

sysbench #23

Workflow file for this run

name: sysbench
on:
push:
branches: [main]
paths:
- 'frameworks/database/sysbench/**'
- '.github/workflows/sysbench.yml'
pull_request:
paths:
- 'frameworks/database/sysbench/**'
- '.github/workflows/sysbench.yml'
workflow_dispatch:
schedule:
# Daily at 12:00 UTC for the test 4 change-detection showcase.
# Avoid 0 0 * * * — month boundary ambiguity.
- cron: '55 7 * * 6'
permissions:
contents: read
concurrency:
group: sysbench-${{ github.ref }}
cancel-in-progress: true
jobs:
benchmark:
runs-on: ubuntu-latest
defaults:
run:
working-directory: frameworks/database/sysbench
steps:
- uses: actions/checkout@v4
- name: Install sysbench
# sysbench ships in Ubuntu's default repos. We accept the
# distro-pinned version rather than building from source or
# using apt pinning: Ubuntu runners pin to a specific image
# release (ubuntu-24.04 under the ubuntu-latest alias at the
# time of writing), so the installed sysbench version is
# effectively a function of the runner image and is logged
# below by `sysbench --version`. Any upstream output-format
# change becomes visible in the captured fixture the next time
# the workflow runs, which is exactly the signal we want.
run: |
sudo apt-get update
sudo apt-get install -y sysbench
sysbench --version
working-directory: ${{ github.workspace }}
- name: Run sample benchmark
run: ./run.sh
- name: Upload output as artifact
uses: actions/upload-artifact@v4
with:
name: sysbench-output
path: frameworks/database/sysbench/output.txt
if-no-files-found: error