# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json
---
name: ci

on:
  push:
    branches: [master]
  pull_request:
    branches: [master]
  workflow_dispatch:
  schedule:
  - cron: '35 4 * * 4'  # weekly on thursday morning

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        ruby-version:
        - '3.0'
        - '3.1'
        - '3.2'
    steps:
    - uses: actions/checkout@v3
    - name: Set up Ruby ${{ matrix.ruby-version }}
      uses: ruby/setup-ruby@v1
      with:
        ruby-version: ${{ matrix.ruby-version }}
        bundler-cache: true  # runs 'bundle install' and caches installed gems automatically

    - name: Lint and Test
      run: |
        bundle exec rake ci

  actionlint:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - name: Check workflow files
      run: |
        echo "::add-matcher::.github/actionlint-matcher.json"
        bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash)
        ./actionlint