Skip to content

Merge pull request #32 from IceFireDB/dependabot/go_modules/github.co… #14

Merge pull request #32 from IceFireDB/dependabot/go_modules/github.co…

Merge pull request #32 from IceFireDB/dependabot/go_modules/github.co… #14

Workflow file for this run

name: Benchmark Tests
on:
workflow_dispatch:
pull_request:
push:
branches:
- main
jobs:
benchmark:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.21'
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y redis-tools netcat-openbsd
- name: Run benchmark
run: |
# Start server in background
cd example/memory_kv
# Start server with logging
go run server.go > server.log 2>&1 &
SERVER_PID=$!
# Wait for server to be ready (longer timeout for CI environment)
for i in {1..30}; do
if nc -z 127.0.0.1 6380; then
echo "Server is ready"
break
fi
sleep 2
echo "Waiting for server to start... ($i/30)"
done
# Verify server is ready
if ! nc -z 127.0.0.1 6380; then
echo "Server failed to start after 60 seconds"
echo "Server logs:"
cat server.log || true
exit 1
fi
# Run benchmark tests
echo "Running benchmark tests..."
redis-benchmark -h 127.0.0.1 -p 6380 -n 5000000 -t set,get -c 512 -P 1024 -q
# Stop server
kill $SERVER_PID
# Output results
echo "Benchmark completed"