tl;dr

Adicione isto para no seu .drone.yml:

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

Eu nunca usei uma ferramenta como rubocop/eslint por que você tem que rodar em toda o código. Eu realmente aprecio código bem escrito, mas eu não quero perder meu tempo limpando código que eu nem mesmo sei se ainda é usado.

Isso aconteceu numa empresa que trabalhei. Um cara veio e rodou rubocop em todo o projeto como autofixer. Foi um caos. rubocop não corrigiu alguns problemas de syntax corretamente e, como rodou em todo o projeto, corrigiu muito controller que deveria ter sido removido.

Pronto é uma gem que verifica a qualidade do código no commit/PR. A melhor opção é melhorar o seu código gradualmente.

Você pode ter comentários tanto no PR ou a build pode quebrar se algo estiver errado.

Por que estou usando drone e pronto apenas para projetos pessoais eu vou usar a segunda opção.

Adicione estas linhas no seu .drone.yml:

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

Por que eu também estou usando uma máquina pequena na digital ocean a minha build roda primeiro e depois o pronto verifica o código. Mas é possível rodar ambos em paralelo.

Screenshots

Em caso de sucesso

Drone pass

Em caso de falha

Drone pass