name: Next-rails on: pull_request: branches: - master workflow_dispatch: jobs: next-rails: if: contains(github.head_ref, 'next-rails') runs-on: ubuntu-latest name: next-rails env: OSEM_DB_HOST: localhost RAILS_ENV: test strategy: matrix: suite: [models, features, controllers, ability, leftovers] fail-fast: false steps: - uses: actions/checkout@v2 - name: Sets env vars for next-rails run: | echo "BUNDLE_GEMFILE=Gemfile.next" >> $GITHUB_ENV echo "BUNDLE_CACHE_PATH=vendor/cache.next" >> $GITHUB_ENV - uses: ruby/setup-ruby@v1 with: ruby-version: 3.3.2 bundler-cache: true - name: Prepare spec run: | bundle exec rake db:setup --trace bundle exec bin/rails webdrivers:chromedriver:update - name: spec/${{ matrix.suite }} run: bundle exec rake spec:${{ matrix.suite }} - name: coverage upload ${{ matrix.suite }} uses: codacy/codacy-coverage-reporter-action@master if: github.ref == 'refs/heads/master' with: project-token: ${{ secrets.CODACY_PROJECT_TOKEN }} coverage-reports: coverage/coverage.xml services: postgres: image: postgres:16-alpine env: POSTGRES_PASSWORD: mysecretpassword options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 ports: - 5432:5432