Skip to content

Workflow file for this run

name: CI
on: [push, pull_request]
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
ruby: ["3.0", "3.1", "3.2", "head"]
include:
- ruby: "head"
experimental: true
runs-on: ${{ matrix.os }}
continue-on-error: ${{ !!matrix.experimental }}
name: Ruby ${{ matrix.ruby }} on ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
with:
submodules: "recursive"
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
cache-version: 1
- name: Check if documentation is up to date
run: bundle exec rake ruby_lsp:check_docs
- name: Check if all requests are using valid visits
run: bundle exec rake check_visit_overrides
- name: Typecheck
if: matrix.os != 'windows-latest'
run: bundle exec srb tc
- name: Lint Ruby files
run: bundle exec rubocop
- name: Run tests
run: bundle exec rake