Page MenuHomePhabricator

Jenkins: Set up linting for php, js, py etc.
Closed, ResolvedPublic

Description

We need a Jenkins job able to lint the various languages and formats in use:

  • PHP
  • JavaScript
  • CSS

And then optionally extended to, for usage outside of MediaWiki:

  • python
  • java

Could be named the universal linting job.


Version: unspecified
Severity: normal

Details

Reference
bz35585

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 12:12 AM
bzimport set Reference to bz35585.

Per bug 34617 comment 3, we should also make this available for other repositories. I propose the following:

  • Set up a Jenkins child-project of "MediaWiki core GIT" that runs the linter as part of the larger workflow
  • Set up a Jenkins project that does the same, but is triggered on all gerrit-hosted git repos (including extensions, and operations etc., except for mediawiki/core which has its own dedicated job in Jenkins).

Adding two dependencies:

Bug 38233 - Jenkins: fail on BOM in submitted files
Bug 42628 - fail on whitespace error in submitted files

(In reply to comment #2)

Adding two dependencies:

Bug 38233 - Jenkins: fail on BOM in submitted files

Removing as it isn't really linting of a programming language. We can implement it in a linting job, but not blocking the universal linter.

And on that subject, we no longer have the model of universal linter, we have separate jobs. Though there are still somethings not covered, we cover pretty much everything now:

  • php -l
  • jshint
  • pep8
  • puppet validate
  • ..

I'm marking this fixed. For other linters, we can just open op individual issues.

Aklapper subscribed.

[adding the Tracking-Neverending project to tasks blocking (now deprecated) T4007 as part of T93366]

Phabricator_maintenance renamed this task from Jenkins: Set up linting for php, js, py etc. (tracking) to Jenkins: Set up linting for php, js, py etc..Aug 13 2016, 9:47 PM