[Bug 52456] Jenkins: jshint jobs fallback to /srv/.jshinrc from integration/docroot.git
https://bugzilla.wikimedia.org/show_bug.cgi?id=52456 --- Comment #8 from Krinkle krinklem...@gmail.com --- OK. I agree. An empty file as default in our infrastructure is useful. That way default behaviour in Jenkins will match default behaviour for developers using jshint locally. However we should not create empty files in regular code repositories, and I suppose we won't have to with this puppet change. Thanks. -- You are receiving this mail because: You are the assignee for the bug. You are on the CC list for the bug. ___ Wikibugs-l mailing list Wikibugs-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikibugs-l
[Bug 52456] Jenkins: jshint jobs fallback to /srv/.jshinrc from integration/docroot.git
https://bugzilla.wikimedia.org/show_bug.cgi?id=52456 Antoine hashar Musso has...@free.fr changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|INVALID |--- --- Comment #6 from Antoine hashar Musso has...@free.fr --- Sorry Timo but I am reopening this bug. A typical use case is: * someone write some js code in a repository not having a .jshintrc * he runs jshint (i.e. with defaults) and iterate until the code pass * change is pushed to Gerrit, a job is run on one of the slaves which is not gallium * someone vote +2 which trigger the job on gallium = gating fail with unexpected jshint errors that user can not figure out I will just add some default jshintrc to the docroot to fix that -- You are receiving this mail because: You are the assignee for the bug. You are on the CC list for the bug. ___ Wikibugs-l mailing list Wikibugs-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikibugs-l
[Bug 52456] Jenkins: jshint jobs fallback to /srv/.jshinrc from integration/docroot.git
https://bugzilla.wikimedia.org/show_bug.cgi?id=52456 Gerrit Notification Bot gerritad...@wikimedia.org changed: What|Removed |Added Status|REOPENED|PATCH_TO_REVIEW -- You are receiving this mail because: You are the assignee for the bug. You are on the CC list for the bug. ___ Wikibugs-l mailing list Wikibugs-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikibugs-l
[Bug 52456] Jenkins: jshint jobs fallback to /srv/.jshinrc from integration/docroot.git
https://bugzilla.wikimedia.org/show_bug.cgi?id=52456 --- Comment #7 from Gerrit Notification Bot gerritad...@wikimedia.org --- Change 119750 had a related patch set uploaded by Hashar: contint: override .jshintrc file on gallium https://gerrit.wikimedia.org/r/119750 -- You are receiving this mail because: You are the assignee for the bug. You are on the CC list for the bug. ___ Wikibugs-l mailing list Wikibugs-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikibugs-l
[Bug 52456] Jenkins: jshint jobs fallback to /srv/.jshinrc from integration/docroot.git
https://bugzilla.wikimedia.org/show_bug.cgi?id=52456 Krinkle krinklem...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #5 from Krinkle krinklem...@gmail.com --- The job should not be enabled (especially not voting) on repositories without a jshintrc file. This isn't a question of providing a sensible default. Enabling it without a jshintrc file will always fail, and if not, it will be a false positive. Stop enabling (or honouring requests to do so) for repositories without such a file in place. I've said it before but I'll say it again, creating an empty .jshintrc file is also not a solution and I'll hereby declare it an anti-pattern. Stop doing it please. Repositories may (not must) inherit the Wikimedia coding conventions[1]. However projects usually require some additional configuration specific to their poject. Providing a default file in the directory chain with the Wikimedia code conventions is not a solution either for the same reason using other defaults is not a solution. The settings must ship with the repository. 1) The repository is not dependent on our infrastructure (running jshint or grunt locally should have the same effect, and linting plugins for code editors need access to the settings in the expected location in order to give the right feedback). 2) Builds don't unexpectedly start breaking. When the defaults change (either the one in docroot, the jshint default or ours), this will break peoples tests for no reason and with no obvious source of the problem. When our conventions are adjusted, these changes should propagate to all the projects. However having these settings propagate automatically is not productive because projects need to actually update their code to account for the new settings, and until they do so, it's not very productive to break their build because of a minor coding style change. Instead they can update it whenever (and if) they want to. And again, reason #1. Closing as INVALID. If changes in your repository produce broken builds because of missing or invalid jshint settings, please blame whoever enabled it without ensuring a jshintrc file is in place for enabling a useless job that is bound to fail, and then add a jshintrc file[2] to the repository so the build will start working :) [1] https://www.mediawiki.org/wiki/Manual:Coding_conventions/JavaScript [2] https://www.mediawiki.org/wiki/Manual:Coding_conventions/JavaScript#Linting PS: How about we wrap bin/jshint in a script that returns early if .jshintrc is missing? -- You are receiving this mail because: You are the assignee for the bug. You are on the CC list for the bug. ___ Wikibugs-l mailing list Wikibugs-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikibugs-l
[Bug 52456] Jenkins: jshint jobs fallback to /srv/.jshinrc from integration/docroot.git
https://bugzilla.wikimedia.org/show_bug.cgi?id=52456 --- Comment #4 from Antoine hashar Musso has...@free.fr --- So I would much prefer we move the .jshintrc somewhere else or provide a default .jshintrc in the workspace repository. I just came across a case in which jslint job yields two different results depending on the slave it ran on: Job https://gerrit.wikimedia.org/r/#/c/115214/ modify some javascript lanthanum pass https://integration.wikimedia.org/ci/job/mwext-CirrusSearch-jslint/2/console gallium fails https://integration.wikimedia.org/ci/job/mwext-CirrusSearch-jslint/3/console -- You are receiving this mail because: You are the assignee for the bug. You are on the CC list for the bug. ___ Wikibugs-l mailing list Wikibugs-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikibugs-l
[Bug 52456] Jenkins: jshint jobs fallback to /srv/.jshinrc from integration/docroot.git
https://bugzilla.wikimedia.org/show_bug.cgi?id=52456 --- Comment #2 from Krinkle krinklem...@gmail.com --- No need for workaround, projects are expected to have their jshintrc settings in their own repository. Changing then in any other place will cause disruption as: * When the defaults change, repositories need to update their code to conform to the new settings. If it inherits from something (e.g. our own defaults, or the jshint defaults or whatever else) this will inevitably cause jenkins jobs to fail unexpectedly for existing repositories after an upgrade eventhough nothing changed on their part. This will eg. cause patches that were passing to suddenly now fail. * Makes it hard or impossible to apply settings locally in development environment (e.g. using your editor's jshint plugin, or when using grunt or node-jshint from the command line, it wouldn't have the same settings). If we're going to make an effort to do anything about the false positives for jobs that someone has incorrectly enabled a jshint job for without there being a proper jshintrc file, then I'd recommend spending that effort on making the job fail if the repo doesn't have a jshintrc file. -- You are receiving this mail because: You are the assignee for the bug. You are on the CC list for the bug. ___ Wikibugs-l mailing list Wikibugs-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikibugs-l
[Bug 52456] Jenkins: jshint jobs fallback to /srv/.jshinrc from integration/docroot.git
https://bugzilla.wikimedia.org/show_bug.cgi?id=52456 --- Comment #3 from Krinkle krinklem...@gmail.com --- See also https://www.mediawiki.org/wiki/CC/JS#Linting -- You are receiving this mail because: You are the assignee for the bug. You are on the CC list for the bug. ___ Wikibugs-l mailing list Wikibugs-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikibugs-l
[Bug 52456] Jenkins: jshint jobs fallback to /srv/.jshinrc from integration/docroot.git
https://bugzilla.wikimedia.org/show_bug.cgi?id=52456 --- Comment #1 from Antoine hashar Musso has...@free.fr --- The fix would be to add a dummy .jshintrc in integration/docroot.git at /srv/ssd/jenkins-slave/workspace/.jshintrc . That should reset the parameters Jenkins jobs. -- You are receiving this mail because: You are the assignee for the bug. You are on the CC list for the bug. ___ Wikibugs-l mailing list Wikibugs-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikibugs-l
[Bug 52456] Jenkins: jshint jobs fallback to /srv/.jshinrc from integration/docroot.git
https://bugzilla.wikimedia.org/show_bug.cgi?id=52456 Antoine hashar Musso has...@free.fr changed: What|Removed |Added See Also||https://bugzilla.wikimedia. ||org/show_bug.cgi?id=47260 -- You are receiving this mail because: You are the assignee for the bug. You are on the CC list for the bug. ___ Wikibugs-l mailing list Wikibugs-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikibugs-l
[Bug 52456] Jenkins: jshint jobs fallback to /srv/.jshinrc from integration/docroot.git
https://bugzilla.wikimedia.org/show_bug.cgi?id=52456 Antoine hashar Musso has...@free.fr changed: What|Removed |Added Priority|Unprioritized |Normal -- You are receiving this mail because: You are the assignee for the bug. You are on the CC list for the bug. ___ Wikibugs-l mailing list Wikibugs-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikibugs-l