name: Verify # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions permissions: actions: none checks: none contents: none deployments: none id-token: none issues: none discussions: none packages: none pages: none pull-requests: none repository-projects: none security-events: none statuses: none on: push: branches: - '*' pull_request: branches: - '*' jobs: test: runs-on: ${{ matrix.os }} 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.7' - '3.0' - '3.1' - '3.2' os: - ubuntu-18.04 - ubuntu-22.04 exclude: - { os: ubuntu-22.04, ruby: '2.7' } - { os: ubuntu-22.04, ruby: '3.0' } env: RAILS_ENV: test name: ${{ matrix.os }} - Ruby ${{ matrix.ruby }} steps: - name: Install system dependencies run: sudo apt-get install graphviz - name: Checkout code uses: actions/checkout@v2 - name: Setup Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true - name: Test run: | cp spec/dummy/config/database.yml.github_actions spec/dummy/config/database.yml 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