isprambiente/bulmacomp

View on GitHub
.github/workflows/rubyonrails.yml

Summary

Maintainability
Test Coverage
# This workflow uses actions that are not certified by GitHub.  They are
# provided by a third-party and are governed by separate terms of service,
# privacy policy, and support documentation.
#
# This workflow will install a prebuilt Ruby version, install dependencies, and
# run tests and linters.
name: "Ruby on Rails CI"
on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]
jobs:
  test:
    runs-on: ubuntu-latest
    env:
      RAILS_ENV: test
    steps:
      - name: Checkout code
        uses: actions/checkout@v3
      # Add or replace dependency steps here
      - name: Install Ruby and gems
        uses: ruby/setup-ruby@ee2113536afb7f793eed4ce60e8d3b26db912da4 # v1.127.0
        with:
          bundler-cache: true
          ruby-version: '3.1'
      # Add or replace database setup steps here

      # Add or replace test runners here
      - name: Run tests
        run: bundle exec rails test

  lint:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v3
      - name: Install Ruby and gems
        uses: ruby/setup-ruby@ee2113536afb7f793eed4ce60e8d3b26db912da4 # v1.127.0
        with:
          bundler-cache: true
          ruby-version: '3.1'
      # Add or replace any other lints here
      - name: Security audit dependencies
        run: bundle exec bundler-audit
      - name: Security audit application code
        run: bundle exec brakeman -q -w2
      - name: Lint Ruby files
        run: bundle exec rubocop --parallel