Sha256: c22a88f88aae9e06cff0d4f2e0c72969e7be056fbad0f509611485ff1838cc4d

Contents?: true

Size: 1.31 KB

Versions: 1

Compression:

Stored size: 1.31 KB

Contents

name: CI

on:
  workflow_dispatch:
  workflow_call:
  schedule:
    # Every day at 9pm
    - cron: '0 21 * * *'

jobs:
  validate:
    name: Validate code
    runs-on: ubuntu-latest

    strategy:
      matrix:
        ruby-version: [3.1, 3.2, 3.3, head]
    continue-on-error: ${{ endsWith(matrix.ruby-version, 'head') }}

    steps:
      -
        name: Checkout
        uses: actions/checkout@v4
      -
        name: Setup Ruby
        uses: ruby/setup-ruby@v1
        with:
          bundler-cache: true
          ruby-version: ${{ matrix.ruby-version }}
      -
        name: RuboCop
        run: bin/rubocop
      -
        name: Typecheck
        run: bin/srb tc
      -
        name: Check for Updatable Sigils
        run: |
            bin/spoom bump --from false --to true --dry
            bin/spoom bump --from true --to strict --dry
      -
        name: Check for DSL rbi updates
        run: bin/tapioca dsl --verify
      -
        name: Run Tests (Using Cassettes)
        if: ${{ ! endsWith(matrix.ruby-version, '3.3') }}
        run: bin/toys test
      -
        name: Run Tests (With Remote Calls)
        if: ${{ endsWith(matrix.ruby-version, '3.3') }}
        run: bin/toys test
        env:
          REMOTE_TESTS_ENABLED: ${{ vars.REMOTE_TESTS_ENABLED }}
          LUNCHMONEY_TOKEN: ${{ secrets.LUNCHMONEY_TOKEN }}

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
lunchmoney-1.1.1 .github/workflows/ci.yml