Page MenuHomePhabricator

All repositories should pass jshint test
Closed, ResolvedPublic

Description

When we started with jshint, we made the jslint jobs non voting by default. The reason was to enable reporting while developers are busy fixing their jshint errors. We eventually came out with a lot of exceptions to whitelist passing repositories.

I believe it is time to reverse the logic and enforce jshint by default on all repositories.

Quick script to open Jenkins page of mwext*-jslint jobs that are non voting:

#!/usr/bin/env python2

import os

import yaml

with open('zuul/layout.yaml', 'r') as f:
    zuul_layout = yaml.load(f)

jslint_jobs = sorted([
    j['name'] for j in zuul_layout['jobs']
    if j['name'].endswith('-jslint')
    and j.get('voting', None) is False
], reverse=True)

batch_size = 5
it = 0

while True:
    try:
        cmd = "/usr/bin/open https://integration.wikimedia.org/ci/job/%s" % (
            jslint_jobs.pop())
        print cmd
        os.system(cmd)
        it += 1
        if it == batch_size:
            raw_input("Next...")
            it = 0
    except IndexError:
        break

Related Objects

StatusSubtypeAssignedTask
ResolvedPaladox
ResolvedMarkTraceur
Resolvedhashar
ResolvedRjain
ResolvedTheDJ
ResolvedKrenair
DeclinedNone
DeclinedNone
ResolvedFomafix
ResolvedKrenair
ResolvedNone
DeclinedLegoktm
ResolvedNone
ResolvedNone
ResolvedNone
ResolvedKrinkle
ResolvedPaladox
ResolvedPaladox
ResolvedPaladox
Resolvedhashar
DeclinedNone
Invalid adrianheine
DuplicateNone
ResolvedPaladox
ResolvedPaladox
ResolvedJanZerebecki
ResolvedNone
ResolvedPaladox
Resolvedhashar
DeclinedPaladox
ResolvedPaladox
ResolvedNone
Resolvedhashar
ResolvedNone
ResolvedPaladox
Resolvedhashar
Resolvedhashar
Resolvedhashar
ResolvedGrunny
ResolvedTpt
ResolvedJdforrester-WMF
Resolvedhashar
ResolvedWikinaut
Resolvedhashar
DeclinedNone
ResolvedPaladox
Resolvedhashar
ResolvedPaladox
ResolvedPaladox
DeclinedNone
ResolvedYaron_Koren
DuplicateYaron_Koren
DeclinedNone
DeclinedNone
ResolvedFoxtrott
DeclinedNone
DeclinedNone
ResolvedPaladox
ResolvedPaladox
ResolvedPiRSquared17
Resolved Gilles
ResolvedSn1per
Resolvedhashar
ResolvedNone
ResolvedTgr
DeclinedNone
Resolved Mattflaschen-WMF
ResolvedNone
InvalidNone
ResolvedNone
Resolvedhashar
ResolvedNone
ResolvedPaladox
DeclinedNone
DeclinedNone
ResolvedNone
ResolvedNone
ResolvedNone
ResolvedNone
Resolvedhashar
ResolvedNone
Resolvedashley
DeclinedNone
ResolvedPaladox
Declinedhashar
ResolvedKrinkle
ResolvedPastakhov
ResolvedPaladox

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Change 262700 had a related patch set uploaded (by Hashar):
Make bunch of mwext jslint jobs voting

https://gerrit.wikimedia.org/r/262700

Change 262700 merged by jenkins-bot:
Make bunch of mwext jslint jobs voting

https://gerrit.wikimedia.org/r/262700

Change 271722 had a related patch set uploaded (by Paladox):
Add new non voting jshint test

https://gerrit.wikimedia.org/r/271722

Change 271723 had a related patch set uploaded (by Paladox):
[MediaWikiAuth] Replace jslint test with jsonlint and jshint tests

https://gerrit.wikimedia.org/r/271723

Change 271724 had a related patch set uploaded (by Paladox):
[HSTS] Replace jslint test with jsonlint and jshint tests

https://gerrit.wikimedia.org/r/271724

Change 271725 had a related patch set uploaded (by Paladox):
Migrate apps tests from apps-jslint to apps-jshint and apps-jsonlint

https://gerrit.wikimedia.org/r/271725

Change 271726 had a related patch set uploaded (by Paladox):
[ThrottleOverride] Replace jslint test with jsonlint and jshint tests

https://gerrit.wikimedia.org/r/271726

Change 271729 had a related patch set uploaded (by Paladox):
[examples] Replace jslint test with jshint and jsonlint tests

https://gerrit.wikimedia.org/r/271729

Change 271730 had a related patch set uploaded (by Paladox):
[WikidataEntitySuggester] Replaces jslint test with jshint and jsonlint tests

https://gerrit.wikimedia.org/r/271730

Change 271731 had a related patch set uploaded (by Paladox):
[Oversight] Replace jslint with jshint and jsonlint tests

https://gerrit.wikimedia.org/r/271731

Change 271731 abandoned by Paladox:
[Oversight] Replace jslint with jshint and jsonlint tests

Reason:
I'm going to archive the repo instead which is done at https://gerrit.wikimedia.org/r/#/c/271732/

https://gerrit.wikimedia.org/r/271731

Change 271730 merged by Hashar:
[WikidataEntitySuggester] Replaces jslint test with jshint and jsonlint tests

https://gerrit.wikimedia.org/r/271730

Change 271726 merged by Hashar:
[ThrottleOverride] Replace jslint test with jsonlint and jshint tests

https://gerrit.wikimedia.org/r/271726

Change 271723 merged by Hashar:
[MediaWikiAuth] Replace jslint test with jsonlint and jshint tests

https://gerrit.wikimedia.org/r/271723

Change 271724 merged by Hashar:
[HSTS] Replace jslint test with jsonlint and jshint tests

https://gerrit.wikimedia.org/r/271724

Change 271729 merged by Hashar:
[examples] Replace jslint test with jshint and jsonlint tests

https://gerrit.wikimedia.org/r/271729

Change 271725 abandoned by Paladox:
Migrate apps tests from apps-jslint to apps-jshint and apps-jsonlint

Reason:
https://gerrit.wikimedia.org/r/#/c/272954/

https://gerrit.wikimedia.org/r/271725

Change 272766 had a related patch set uploaded (by Paladox):
Move npm to base folder

https://gerrit.wikimedia.org/r/272766

Change 272766 abandoned by Paladox:
Move npm to base folder

Reason:
This repo should be blanketed instead.

https://gerrit.wikimedia.org/r/272766

Change 272766 restored by Paladox:
Move npm to base folder

https://gerrit.wikimedia.org/r/272766

All except 6 tests have now been converted. The blocked jobs have been converted but they added jsonlint not jshint since there tests were failing.

Change 271722 abandoned by Hashar:
Add new non voting jshint test

https://gerrit.wikimedia.org/r/271722

Only one left is https://phabricator.wikimedia.org/T63607 I'm not sure weather to close it since the extension is not actively developed any more.

hashar assigned this task to Paladox.
hashar added a subscriber: Legoktm.

The reason I have filled all those tasks was to get rid of the myriad of non voting jslint jobs and improve the javascript style on all repositories. Since then we have:

We could potentially keep this task open forever, but I don't think this task is needed anymore. Kudos!

Phabricator_maintenance renamed this task from All repositories should pass jshint test (tracking) to All repositories should pass jshint test.Aug 13 2016, 9:45 PM