.github/workflows/test.yaml
---
name: Test
on:
push:
branches:
- "master"
pull_request:
branches:
- "master"
jobs:
test:
name: Test
timeout-minutes: 5
strategy:
fail-fast: false
matrix:
os:
- "ubuntu-latest"
ruby:
- "3.3"
- "3.2"
- "3.1"
- "3.0"
- "2.7"
runs-on: ${{ matrix.os }}
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- name: Run test
run: bundle exec rake test
lint:
name: Lint
timeout-minutes: 5
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: "3.3"
bundler-cache: true
- name: Run rubocop
run: bundle exec rake rubocop
benchmark:
name: Benchmark
timeout-minutes: 5
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: "3.3"
bundler-cache: true
- name: Print cpu info
run: grep 'model name' /proc/cpuinfo
- name: Print memory info
run: free
- name: Print disk info
run: df -h
- name: Run benchmark
run: bundle exec rake bench
profile:
name: Profile
timeout-minutes: 5
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: "3.3"
bundler-cache: true
- name: Run profile
run: bundle exec rake prof