name: CI on: [push, pull_request] jobs: test: runs-on: ubuntu-latest # We want to run on external PRs, but not on our own internal PRs as they'll be run on push event if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != 'umbrellio/table_sync' services: postgres: image: postgres env: POSTGRES_USER: root POSTGRES_HOST_AUTH_METHOD: trust options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 ports: - 5432:5432 env: PGHOST: localhost PGUSER: root strategy: fail-fast: false matrix: ruby: ["3.0", "3.1", "3.2", "3.3"] name: ${{ matrix.ruby }} steps: - uses: actions/checkout@v2 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true - run: psql -c 'CREATE DATABASE table_sync_test' - run: bundle exec rake bundle:audit - run: bundle exec rubocop - run: bundle exec rspec - uses: coverallsapp/github-action@master with: github-token: ${{ secrets.GITHUB_TOKEN }}