Refactor dispatcher #1820
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: 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 |