tl;dr

Add this to your .drone.yml:

pipeline:
  pronto:
    image: dmitryrck/ruby:ready
    commands:
      - git fetch
      - pronto run --exit-code -c origin/master

I never used a tool like rubocop/eslint because you have to run it in your whole code base. I really appreciate a good looking code, but I won't waste my time cleaning code that I don't even know it is still used.

It happens in the last company I worked at. I guy came and run rubocop with that code fixer in the whole code base. It was chaos. There were bad fixes from rubocop, there were fixes to controllers that we should remove.

Pronto is a rubygem to check the quality of commits/PR. It helps you to gradually increase the code quality of your project.

It can both comment in your PR or break the build if something went wrong.

Because I'm using pronto and drone for my personal projects I will use the last case.

Add these lines to your .drone.yml:

pipeline:
  pronto:
    image: dmitryrck/ruby:ready
    commands:
      - git fetch
      - pronto run --exit-code -c origin/master

Because I'm using a small machine my pronto build run after my main build instead of running in parallel. But it is possible to make it run parallel.

Screenshots

In case of success

Drone pass

And in case of failure

Drone pass