Restructuring Benchmarks #15
Workflow file for this run
This file contains 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: benchmarks | |
on: | |
push: | |
tags: | |
- v* | |
branches: | |
- actions | |
- main | |
pull_request: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
cassandra: | |
runs-on: ubuntu-latest | |
container: madflojo/ubuntu-build | |
services: | |
cassandra-primary: | |
image: madflojo/cassandra:latest | |
env: | |
CASSANDRA_KEYSPACE: hord | |
ports: | |
- 7000 | |
- 7001 | |
- 7199 | |
- 9042 | |
- 9160 | |
cassandra: | |
image: madflojo/cassandra:latest | |
env: | |
CASSANDRA_SEEDS: cassandra-primary | |
CASSANDRA_KEYSPACE: hord | |
SLEEP_TIMER: 15 | |
ports: | |
- 7000 | |
- 7001 | |
- 7199 | |
- 9042 | |
- 9160 | |
steps: | |
- uses: actions/checkout@v3 | |
# Using this instead of actions/setup-go to get around an issue with act | |
- name: Install Go | |
run: | | |
curl -L https://go.dev/dl/go1.22.0.linux-amd64.tar.gz | tar -C /usr/local -xzf - | |
- name: Execute Benchmarks | |
run: | | |
sleep 120 | |
cd ./drivers/cassandra | |
/usr/local/go/bin/go test -run=Benchmark -bench ./... | tee output.txt | |
redis: | |
runs-on: ubuntu-latest | |
container: madflojo/ubuntu-build | |
services: | |
redis: | |
image: bitnami/redis:latest | |
env: | |
ALLOW_EMPTY_PASSWORD: yes | |
redis-sentinel: | |
image: bitnami/redis-sentinel:latest | |
env: | |
REDIS_URL: redis://redis:6379 | |
steps: | |
- uses: actions/checkout@v3 | |
# Using this instead of actions/setup-go to get around an issue with act | |
- name: Install Go | |
run: | | |
curl -L https://go.dev/dl/go1.22.0.linux-amd64.tar.gz | tar -C /usr/local -xzf - | |
- name: Execute Benchmarks | |
run: | | |
sleep 60 | |
cd ./drivers/redis | |
/usr/local/go/bin/go test -run=Benchmark -bench "BenchmarkDrivers/Bench_Redis" ./... | |
keydb: | |
runs-on: ubuntu-latest | |
container: madflojo/ubuntu-build | |
services: | |
keydb: | |
image: eqalpha/keydb | |
steps: | |
- uses: actions/checkout@v3 | |
# Using this instead of actions/setup-go to get around an issue with act | |
- name: Install Go | |
run: | | |
curl -L https://go.dev/dl/go1.22.0.linux-amd64.tar.gz | tar -C /usr/local -xzf - | |
- name: Execute Benchmarks | |
run: | | |
sleep 60 | |
cd ./drivers/redis | |
/usr/local/go/bin/go test -run=Benchmark -bench "BenchmarkDrivers/Bench_KeyDB" ./... | |
nats: | |
runs-on: ubuntu-latest | |
container: madflojo/ubuntu-build | |
services: | |
nats: | |
image: madflojo/nats | |
ports: | |
- 8222 | |
env: | |
NATS_EXTRA_FLAGS: -js | |
steps: | |
- uses: actions/checkout@v3 | |
# Using this instead of actions/setup-go to get around an issue with act | |
- name: Install Go | |
run: | | |
curl -L https://go.dev/dl/go1.22.0.linux-amd64.tar.gz | tar -C /usr/local -xzf - | |
- name: Execute Benchmarks | |
run: | | |
sleep 60 | |
cd ./drivers/nats | |
/usr/local/go/bin/go test -run=Benchmark -bench "BenchmarkDrivers/Bench_NATS" ./... | |
hashmap: | |
runs-on: ubuntu-latest | |
container: madflojo/ubuntu-build | |
steps: | |
- uses: actions/checkout@v3 | |
# Using this instead of actions/setup-go to get around an issue with act | |
- name: Install Go | |
run: | | |
curl -L https://go.dev/dl/go1.22.0.linux-amd64.tar.gz | tar -C /usr/local -xzf - | |
- name: Execute Benchmarks | |
run: | | |
cd ./drivers/hashmap | |
/usr/local/go/bin/go test -run=Benchmark -bench "BenchmarkDrivers/Bench_Hashmap" ./... | tee output.txt | |
- name: Download previous benchmark data | |
uses: actions/cache@v4 | |
with: | |
path: ./cache | |
key: hashmap-benchmark | |
- name: Store benchmark result | |
uses: benchmark-action/github-action-benchmark@v1 | |
with: | |
tool: 'go' | |
output-file-path: ./drivers/hashmap/output.txt | |
external-data-json-path: ./cache/hashmap-benchmark-data.json | |
fail-on-alert: true | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
comment-on-alert: true | |
summary-always: true | |
boltdb: | |
runs-on: ubuntu-latest | |
container: madflojo/ubuntu-build | |
steps: | |
- uses: actions/checkout@v3 | |
# Using this instead of actions/setup-go to get around an issue with act | |
- name: Install Go | |
run: | | |
curl -L https://go.dev/dl/go1.22.0.linux-amd64.tar.gz | tar -C /usr/local -xzf - | |
- name: Execute Benchmarks | |
run: | | |
cd ./drivers/bbolt | |
/usr/local/go/bin/go test -run=Benchmark -bench "BenchmarkDrivers/Bench_BoltDB" ./... |