Last modified: 2013-06-17 14:33:19 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T46033, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 44033 - [upstream] Jenkins: pep8 linter should show violations by file
[upstream] Jenkins: pep8 linter should show violations by file
Status: RESOLVED FIXED
Product: Wikimedia
Classification: Unclassified
Continuous integration (Other open bugs)
unspecified
All All
: Normal normal (vote)
: ---
Assigned To: Nobody - You can work on this!
: upstream
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-01-16 15:46 UTC by Antoine "hashar" Musso (WMF)
Modified: 2013-06-17 14:33 UTC (History)
3 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Antoine "hashar" Musso (WMF) 2013-01-16 15:46:50 UTC
The Violation plugin interprets the checkstyle XLM or pep8 output and generate a report out of it. As an example, we run pep8 on operations/puppet.git using the operations-puppet-pep8 job.  The build report is properly generated and show the list of files having errors:

https://integration.mediawiki.org/ci/job/operations-puppet-pep8/541/violations/?

Each file has its own detailed report but it show an empty list:

https://integration.mediawiki.org/ci/job/operations-puppet-pep8/541/violations/file/files/ganglia/plugins/mysql.py/?
 /!\  files/ganglia/plugins/mysql.py
 No violations found


While accessing the per file report, I have ran strace to log Jenkins stat() calls :

[pid  4220] stat("/run/jenkins/war/job/operations-puppet-pep8/541/violations/file/files/ganglia/plugins/mysql.py", 0x7f4b3044edb0) = -1 ENOENT (No such file or directory)
[pid  4220] stat("/run/jenkins/war/job/operations-puppet-pep8/541/violations/file/files/ganglia/plugins/mysql.py", 0x7f4b3044edb0) = -1 ENOENT (No such file or directory)


The XML output is in the build directory at:

/var/lib/jenkins/jobs/operations-puppet-pep8/builds/541/violations/file/files/ganglia/plugins/mysql.py.xml
Comment 1 Antoine "hashar" Musso (WMF) 2013-01-16 15:50:06 UTC
Ccing Timo who reported the issue yesterday.
Comment 2 Antoine "hashar" Musso (WMF) 2013-01-16 15:52:46 UTC
Possible issue # at upstream:
https://github.com/jenkinsci/violations-plugin/issues/17
Comment 4 Antoine "hashar" Musso (WMF) 2013-01-16 18:17:31 UTC
Possible fix somewhere under https://github.com/alxndrsn/jenkins-violations-plugin/commits/master
Comment 5 Antoine "hashar" Musso (WMF) 2013-01-22 09:49:56 UTC
Interestingly, when setting up a checkstyle type publisher for CodeSniffer, the report are showing just fine:

https://integration.mediawiki.org/ci/job/mediawiki-core-phpcs-HEAD/3/violations/file/maintenance/eval.php/

(or look at https://integration.mediawiki.org/ci/job/mediawiki-core-phpcs-HEAD/violations/? )


The upstream bug https://github.com/plone/buildout.jenkins/issues/11 mentionned:

 It works for cpd and pep8, but not for csslint or jshint/jslint.

And https://github.com/jenkinsci/violations-plugin/issues/17#issuecomment-10413902 shows up that each type as different ways to find out the filename.

I guess checkstyle is fine for now and this bug is all about pep8 reports.


Slightly rephrased this bug subject to mentions this apply to pep8

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links