Merge pull request #32 from IceFireDB/dependabot/go_modules/github.co… #14
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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" |