Sha256: 8e07862e6988c9254c5a14c1e8d346c31fb8afdad184e09c63a7b22e3c046f48

Contents?: true

Size: 1.63 KB

Versions: 1

Compression:

Stored size: 1.63 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: Markdown Lint
        run: bin/toys mdl
      -
        name: Run Tests (Using Cassettes)
        if: ${{ ! endsWith(matrix.ruby-version, '3.3') }}
        run: bin/toys test
      -
        name: Run Tests (With Remote Calls & Coverage Report)
        if: ${{ endsWith(matrix.ruby-version, '3.3') }}
        uses: paambaati/codeclimate-action@v8.0.0
        env:
          CC_TEST_REPORTER_ID: ${{ secrets.CC_TEST_REPORTER_ID }}
          REMOTE_TESTS_ENABLED: ${{ vars.REMOTE_TESTS_ENABLED }}
          LUNCHMONEY_TOKEN: ${{ secrets.LUNCHMONEY_TOKEN }}
        with:
          coverageCommand: bin/toys test
          coverageLocations: |
            ${{ github.workspace }}/coverage/coverage.json:simplecov

Version data entries

1 entries across 1 versions & 1 rubygems

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