1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
name: CI
on:
pull_request:
push:
branches: [ main, 1.x, 0.1x ]
env:
GIT_COMMIT_SHA: ${{ github.sha }}
GIT_BRANCH: ${{ github.ref }}
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
linting:
runs-on: ubuntu-latest
env:
BUNDLE_WITH: lint
BUNDLE_WITHOUT: development:test
steps:
- uses: actions/checkout@v5
- name: Setup Ruby 3.x
uses: ruby/setup-ruby@v1
with:
ruby-version: 3
bundler-cache: true
- name: Rubocop
run: bundle exec rubocop --format progress
- name: Yard-Junk
run: bundle exec yard-junk --path lib
build:
needs: [ linting ]
runs-on: ubuntu-latest
name: build ${{ matrix.ruby }}
strategy:
fail-fast: false
matrix:
ruby: [ '3.0', '3.1', '3.2', '3.3', '3.4' ]
experimental: [false]
include:
- ruby: head
experimental: true
- ruby: truffleruby-head
experimental: true
steps:
- uses: actions/checkout@v5
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- name: RSpec
continue-on-error: ${{ matrix.experimental }}
run: bundle exec rake
- name: Test External Adapters
continue-on-error: ${{ matrix.experimental }}
run: bundle exec bake test:external
|