.github/workflows/build-workflow.yml
name: Build
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: "3.3"
bundler-cache: true
- name: Lint Ruby code
run: bundle exec rubocop
linux:
name: Linux
runs-on: ubuntu-latest
strategy:
matrix:
ruby: ['3.1', '3.2', '3.3', 'head']
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- run: bundle exec rake spec
macos:
name: macOS
runs-on: macos-latest
strategy:
matrix:
ruby: ['3.1', '3.2', '3.3', 'head']
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- run: bundle exec rake spec
windows:
name: Windows
runs-on: windows-latest
strategy:
matrix:
ruby: ['3.1', '3.2', '3.3', 'head']
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- run: bundle exec rake spec