Review checklist (wiki)

Pull Request review template. Feel free to edit (this is a wiki)

  • Does it fix the problem described in the issue?
  • Not fixing additional problems not described in the issue.
  • No use of .to_sym, .send or other reflection on untrusted inputs.
  • Not missing string extractions (use :mark_translated: true).
  • All string extractions follows our rules.
  • Added appropriate permissions for non-admin users?
  • New code hasn’t been copy-pasted from elsewhere.
  • Do new fields have appropriate validators?
  • Do validators use Rails 3 syntax? (validates <field>, <conditions>)
  • No exceptions are squashed.
  • Are raised exceptions type of Foreman::Exception?
  • Unit tests present?
  • Functional tests present?
  • New view templates have .html.erb extensions, not just .erb
  • New view templates use %> instead of -%>
  • Mixins use ActiveSupport::Concern fully, with no class_eval, InstanceMethods etc.
  • Concerns and new classes are added to app/ and not lib/
  • All new APIs, or additional model attributes have apipie documentation and are in API views
  • Apipie documentation is correct: HTTP methods, names of parameters, required true/false
  • Commit message follows the [[Reviewing_patches-commit_message_format]]
  • scoped_search definitions are added for new model attributes where appropriate
  • scoped_search definitions for virtual fields (:ext_method) use :only_explicit
  • API functional tests have a valid test first, followed by invalid tests
  • Pass block to logger.debug to lazily evaluate expensive debug statements
  • New Javascript files are added to config/environments/production.rb if not in app.js
  • No new “stylesheet” tags are added to views, they’re already in app.css
  • Deprecations use Foreman::Deprecation with a deadline of latest stable + three
  • Update license file when vendoring 3rd party code/assets etc

Feels like we can automate this.

Yeah.

To give the context, we are cleaning our old wiki, I felt like this could be useful so moved it here.

We’ve that also here: https://github.com/theforeman/foreman/blob/develop/developer_docs/pr_review.asciidoc

1 Like

Good to know, I deleted this from the wiki. :slight_smile:

1 Like