name: Ruby on: push: branches: [ main ] pull_request: branches: [ main ] jobs: linters: runs-on: ubuntu-latest env: DISABLE_BOOTSNAP: true DISABLE_BOOTSNAP_LOAD_PATH_CACHE: true steps: - uses: actions/checkout@v2.4.0 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: bundler-cache: true - name: Run linters run: bundle exec rubocop --parallel - name: Ruby security checks run: | bundle exec bundler-audit --update bundle exec brakeman -q -w2 test: runs-on: ubuntu-latest env: RAILS_ENV: test DATABASE_URL: postgres://postgres:postgres@localhost:5432 DISABLE_BOOTSNAP: true DISABLE_BOOTSNAP_LOAD_PATH_CACHE: true services: postgres: image: postgres:12 env: POSTGRES_PASSWORD: postgres options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 ports: - 5432:5432 steps: - uses: actions/checkout@v2.4.0 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: bundler-cache: true - name: Create database run: | bundle exec rails db:create bundle exec rails db:schema:load - name: Run tests run: bundle exec rake