Skip to content

refactor: disconnector_queue locks and backlog size #72

refactor: disconnector_queue locks and backlog size

refactor: disconnector_queue locks and backlog size #72

Workflow file for this run

name: Benchmark
on:
push:
branches:
- master
paths:
- "**/*.go"
- "go.sum"
workflow_dispatch:
jobs:
benchmark:
timeout-minutes: 10
strategy:
matrix:
go-version: [1.20.x]
runs-on: ubuntu-latest
env:
GO111MODULE: on
BUNDLE_GEMFILE: .circleci/Gemfile
DEBUG: true
services:
redis:
image: redis:6.0-alpine
ports: ["6379:6379"]
options: --health-cmd="redis-cli ping" --health-interval 1s --health-timeout 3s --health-retries 30
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
with:
go-version: ${{ matrix.go-version }}
- name: Install system deps
run: |
sudo apt-get update
sudo apt-get install bison
- uses: ruby/setup-ruby@v1
with:
# Use <3.0 since go-mruby's Rakefile has some problems with keyword arguments compatibility
ruby-version: 2.7
bundler-cache: true
- uses: actions/cache@v3
with:
path: vendor
key: vendor-${{ hashFiles('**/go.sum') }}
restore-keys: |
vendor-
- run: go mod vendor
- name: Build mruby
run: bash -c '(cd vendor/github.com/mitchellh/go-mruby && MRUBY_CONFIG=../../../../../../etc/build_config.rb make libmruby.a)'
- name: Install websocket-bench & gops
env:
GO111MODULE: off
run: |
go get -u github.com/anycable/websocket-bench
go get -u github.com/google/gops
- name: Build test binary
env:
BUILD_ARGS: "-race"
run: |
make build
- name: Run benchmarks
run: |
bundle install
make benchmarks