name: Verify on: push: branches: - '*' pull_request: branches: - '*' jobs: test: runs-on: ubuntu-16.04 timeout-minutes: 40 services: postgres: image: postgres:9.6 ports: [ "5432:5432" ] env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 strategy: fail-fast: true matrix: ruby: - 2.5 - 2.6 - 2.7 - 3.0 env: RAILS_ENV: test name: Ruby ${{ matrix.ruby }} steps: - name: Install system dependencies run: sudo apt-get install graphviz - name: Checkout code uses: actions/checkout@v2 - uses: actions/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - name: Setup bundler run: | gem install bundler - name: Bundle install run: | bundle config path vendor/bundle bundle install --jobs 4 --retry 3 - name: Test run: | gem install bundler cp spec/dummy/config/database.yml.github_actions spec/dummy/config/database.yml bundle install bundle exec rake --version bundle exec rake db:test:prepare bundle exec rake spec bundle exec rake yard - name: Upload coverage report uses: actions/upload-artifact@v2 with: name: coverage-${{ matrix.ruby }} path: | coverage/ retention-days: 1