cerebris/jsonapi-resources

View on GitHub
.github/workflows/ruby.yml

Summary

Maintainability
Test Coverage
name: CI

on:
  push:
    branches: [ 'master', 'release-0-8', 'release-0-9', 'release-0-10' ]
  pull_request:
    branches: ['**']

jobs:
  tests:
    runs-on: ubuntu-latest
    services:
      postgres:
        image: postgres
        env:
          POSTGRES_PASSWORD: password
          POSTGRES_DB: test
        options: >-
          --health-cmd pg_isready
          --health-interval 10s
          --health-timeout 5s
          --health-retries 5
        ports:
          - 5432:5432
    strategy:
      fail-fast: false
      matrix:
        ruby:
          - 2.6
          - 2.7
          - '3.0'
          - 3.1
          - 3.2
        rails:
          - 7.0.4
          - 6.1.7
          - 6.0.6
          - 5.2.8.1
          - 5.1.7
        database_url:
          - postgresql://postgres:password@localhost:5432/test
          - sqlite3:test_db
        exclude:
          - ruby: 3.2
            rails: 6.0.6
          - ruby: 3.2
            rails: 5.2.8.1
          - ruby: 3.2
            rails: 5.1.7
          - ruby: 3.1
            rails: 6.0.6
          - ruby: 3.1
            rails: 5.2.8.1
          - ruby: 3.1
            rails: 5.1.7
          - ruby: '3.0'
            rails: 6.0.6
          - ruby: '3.0'
            rails: 5.2.8.1
          - ruby: '3.0'
            rails: 5.1.7
          - ruby: 2.6
            rails: 7.0.4
          - database_url: postgresql://postgres:password@localhost:5432/test
            rails: 5.1.7
    env:
      RAILS_VERSION: ${{ matrix.rails }}
      DATABASE_URL: ${{ matrix.database_url }}
    name: Ruby ${{ matrix.ruby }} Rails ${{ matrix.rails }} DB ${{ matrix.database_url }}
    steps:
      - uses: actions/checkout@v3
      - name: Set up Ruby
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: ${{ matrix.ruby }}
      - name: Install dependencies
        run: bundle install --jobs 4 --retry 3
      - name: Run tests
        run: bundle exec rake test