Skip to content

Refactor dispatcher #1820

Refactor dispatcher

Refactor dispatcher #1820

Workflow file for this run

name: build
on: [push, pull_request]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ruby
bundler-cache: true
- name: Lint
run: bundle exec rake rubocop
spec:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- ubuntu-latest
- windows-latest
ruby-version:
- '3.0'
- '3.1'
- '3.2'
- '3.3'
- jruby
- truffleruby
- truffleruby+graalvm
exclude:
- os: windows-latest
ruby-version: '3.3'
- os: windows-latest
ruby-version: truffleruby
- os: windows-latest
ruby-version: truffleruby+graalvm
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby-version }}
bundler-cache: true
- name: Compile
run: bundle exec rake compile
- name: Install
run: rake -f -r bundler/gem_tasks install
- name: Spec
run: bundle exec rake spec
spec-musl:
name: spec (alpine-latest, ${{ matrix.ruby-version }})
runs-on: ubuntu-latest
container:
image: docker.io/library/ruby:${{ matrix.ruby-version }}-alpine
env:
PROTOC_BIN: /usr/bin/protoc
strategy:
fail-fast: false
matrix:
ruby-version:
- '3.0'
- '3.1'
- '3.2'
- '3.3-rc'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
run: apk add alpine-sdk protoc
- name: Bundle
run: bundle install
- name: Compile
run: bundle exec rake compile
- name: Install
run: rake -f -r bundler/gem_tasks install
- name: Spec
run: bundle exec rake spec
release:
if: github.event.repository.fork == false && github.ref == format('refs/heads/{0}', github.event.repository.default_branch)
needs: [lint, spec, spec-musl]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
ssh-key: ${{ secrets.DEPLOY_KEY }}
- name: Setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ruby
- name: Release
run: |
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
git config user.name github-actions[bot]
rake -f -r bundler/gem_tasks release gem_push=no