Skip to content

Test benchmarks

Test benchmarks #838

Workflow file for this run

name: Test benchmarks
on:
push:
branches:
- main
pull_request:
schedule:
- cron: "00 15 * * *"
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- ruby: ruby
- ruby: head
- ruby: truffleruby
skip: protoboeuf-encode
if: ${{ github.event_name != 'schedule' || github.repository == 'Shopify/yjit-bench' }}
steps:
- uses: actions/checkout@v3
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
- name: Run tests
run: ruby test/benchmarks_test.rb
- name: Test run_benchmarks.rb
run: |
for benchmark in $SKIP_BENCHMARKS; do
rm -rf "benchmarks/${benchmark}.rb" "benchmarks/${benchmark}/"
done
./run_benchmarks.rb
env:
WARMUP_ITRS: '1'
MIN_BENCH_ITRS: '1'
MIN_BENCH_TIME: '0'
SKIP_BENCHMARKS: ${{ matrix.skip }}
- name: Test run_benchmarks.rb --graph
run: ./run_benchmarks.rb --graph fib
if: matrix.ruby == 'ruby'
env:
WARMUP_ITRS: '1'
MIN_BENCH_ITRS: '1'
MIN_BENCH_TIME: '0'
- name: Test run_once.sh
run: ./run_once.sh --yjit-stats benchmarks/railsbench/benchmark.rb
if: matrix.ruby == 'head'