Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 34.2k
tools: remove lint-js.js#30955
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tools: remove lint-js.js #30955
Uh oh!
There was an error while loading. Please reload this page.
Conversation
nodejs-github-bot commented Dec 13, 2019
richardlau left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We will need to check the removed lines from vcbuild.bat are not used anywhere in the CI.
Uh oh!
There was an error while loading. Please reload this page.
Trott commented Dec 13, 2019
Yeah, running full CI to check, although obviously that won't necessarily catch things in other jobs. Kinda doubt it would be in other jobs and not in the main one, though. |
nodejs-github-bot commented Dec 14, 2019
mscdex commented Dec 14, 2019 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
Before removing, it would be a good idea to see the performance impact on all of the CI machines (especially the ARM-based ones). |
Trott commented Dec 14, 2019
We only run lint on one machine these days. |
richardlau commented Dec 14, 2019
Looks like the linter job failed to parse the tap file with tap2junit: 02:42:08 + tap2junit -i test-eslint.tap -o out/test.xml02:42:09 Traceback (most recent call last):02:42:09 File "/usr/local/bin/tap2junit", line 11, in <module>02:42:09 sys.exit(main())02:42:09 File "/usr/local/lib/python2.7/dist-packages/tap2junit/__main__.py", line 44, in main02:42:09 result = parse(os.path.splitext(args.input.name)[0], data)02:42:09 File "/usr/local/lib/python2.7/dist-packages/tap2junit/__main__.py", line 15, in parse02:42:09 t = TestCase(test.description, None, test.yaml['duration_ms'])02:42:09 TypeError: 'NoneType' object has no attribute '__getitem__'02:42:09 POST BUILD TASK : FAILURE |
Trott commented Dec 14, 2019
That's alarming. It parses just fine when I do it locally.... |
Trott commented Dec 14, 2019
Argh, the version of |
Trott commented Dec 14, 2019 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
|
Trott commented Dec 14, 2019 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
Oh, interesting. So I managed to replicate the bug that I mention above where I surmise that its interleaved output or something, but actually it's a bug in Input file: TAP version 131..1ok 1 - /Users/trott/io.js/.eslintrc.jsTAP version 131..2ok 1 - /Users/trott/io.js/benchmark/net/tcp-raw-pipe.jsok 2 - /Users/trott/io.js/benchmark/net/tcp-raw-s2c.jsWith $ tap2junit -i test.tap -o fooTraceback (most recent call last): File "/usr/local/bin/tap2junit", line 11, in <module> sys.exit(main()) File "/usr/local/lib/python2.7/site-packages/tap2junit/__main__.py", line 44, in main result = parse(os.path.splitext(args.input.name)[0], data) File "/usr/local/lib/python2.7/site-packages/tap2junit/__main__.py", line 11, in parse tap_parser.parse(data) File "/usr/local/lib/python2.7/site-packages/tap2junit/tap13.py", line 124, in parse self._parse(StringIO.StringIO(source)) File "/usr/local/lib/python2.7/site-packages/tap2junit/tap13.py", line 102, in _parse raise ValueError("Descending test id on line: %r" % line)ValueError: Descending test id on line: 'ok 1 - /Users/trott/io.js/benchmark/net/tcp-raw-pipe.js' $0.1.5 processes it normally. Any chance we want to update to 0.1.5, at least on the linter boxes? It contains the changes for Python 3 compatibility, if that's any encouragement. /ping @nodejs/python |
Trott commented Dec 14, 2019
(And, naturally, it seems exceedingly likely that the other problem we're seeing now with the tap file from this PR is also a bug in |
Trott commented Dec 14, 2019
@nodejs/build ^^^^^^ |
cclauss commented Dec 14, 2019 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
StringIO.StringIO(source) in Python2 would be io.StringIO(source) in Python 3 so I would strongly encourage the use of the latest version of tap2junit. https://github.com/nodejs/tap2junit/search?q=stringio&unscoped_q=stringio |
mscdex commented Dec 14, 2019
So we should just upgrade tap2junit instead of making the changes in this PR? |
Trott commented Dec 14, 2019
Perhaps. There's still the issue of cost/benefit ratio where cost is code complexity and extra time spent troubleshooting issues like this. But yeah, this PR suddenly becomes less compelling for sure. |
apapirovski left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Whether or not this fixes the issue, given the minimal improvements in run time and extra incurred complexity, I think removing this is actually still a good thing.
rvagg commented Dec 20, 2019
test-softlayer-ubuntu1604-x64-1 too, it's just offline for now cause it's wonky and needs some of my time https://ci.nodejs.org/label/jenkins-workspace/ are the machines. |
BridgeAR commented Dec 24, 2019
Ref: eslint/eslint#3565 I suggest to remove this as soon as the feature landed in eslint itself but not before? It should hopefully not take much more time to be implemented. |
Trott commented Jan 27, 2020
Going the other way, the |
Trott commented Jan 27, 2020
tap2junit updated for Python 2 on test-packetnet-ubuntu1604-x64-2. It was already on the correct version on test-packetnet-ubuntu1604-x64-1. Removing |
nodejs-github-bot commented Jan 27, 2020
Trott commented Jan 27, 2020
test-softlayer-ubuntu1604-x64-1 too. |
nodejs-github-bot commented Feb 1, 2020 • edited by Trott
Loading Uh oh!
There was an error while loading. Please reload this page.
edited by Trott
Uh oh!
There was an error while loading. Please reload this page.
8ae28ff to 2935f72Comparejasnell commented Jun 25, 2020
Ping @Trott |
lint-js.js was implemented before ESLint had a caching feature. It is now only used in CI. Let's remove it on the following grounds: * It results in occasional (and puzzling) yellow CI runs for node-test-linter because the tap file is corrupted somehow. Interleaved maybe? I don't know, but a simple solution is removing it and running ESLint directly. * On my local laptop, it reduces the linting from about 75 seconds to about 55 seconds. This kind of savings is not worth the added complexity and the instability noted above.
nodejs-github-bot commented Jun 26, 2020 • edited by Trott
Loading Uh oh!
There was an error while loading. Please reload this page.
edited by Trott
Uh oh!
There was an error while loading. Please reload this page.
mhdawson left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
lint-js.js was implemented before ESLint had a caching feature. It is now only used in CI. Let's remove it on the following grounds: * It results in occasional (and puzzling) yellow CI runs for node-test-linter because the tap file is corrupted somehow. Interleaved maybe? I don't know, but a simple solution is removing it and running ESLint directly. * On my local laptop, it reduces the linting from about 75 seconds to about 55 seconds. This kind of savings is not worth the added complexity and the instability noted above. PR-URL: #30955 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Jiawen Geng <[email protected]> Reviewed-By: Daijiro Wachi <[email protected]> Reviewed-By: Anatoli Papirovski <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: James M Snell <[email protected]>
jasnell commented Jul 3, 2020
Landed in 92f8781 |
lint-js.js was implemented before ESLint had a caching feature. It is now only used in CI. Let's remove it on the following grounds: * It results in occasional (and puzzling) yellow CI runs for node-test-linter because the tap file is corrupted somehow. Interleaved maybe? I don't know, but a simple solution is removing it and running ESLint directly. * On my local laptop, it reduces the linting from about 75 seconds to about 55 seconds. This kind of savings is not worth the added complexity and the instability noted above. PR-URL: #30955 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Jiawen Geng <[email protected]> Reviewed-By: Daijiro Wachi <[email protected]> Reviewed-By: Anatoli Papirovski <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: James M Snell <[email protected]>
lint-js.js was implemented before ESLint had a caching feature. It is now only used in CI. Let's remove it on the following grounds: * It results in occasional (and puzzling) yellow CI runs for node-test-linter because the tap file is corrupted somehow. Interleaved maybe? I don't know, but a simple solution is removing it and running ESLint directly. * On my local laptop, it reduces the linting from about 75 seconds to about 55 seconds. This kind of savings is not worth the added complexity and the instability noted above. PR-URL: #30955 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Jiawen Geng <[email protected]> Reviewed-By: Daijiro Wachi <[email protected]> Reviewed-By: Anatoli Papirovski <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: James M Snell <[email protected]>
lint-js.js was implemented before ESLint had a caching feature. It is now only used in CI. Let's remove it on the following grounds: * It results in occasional (and puzzling) yellow CI runs for node-test-linter because the tap file is corrupted somehow. Interleaved maybe? I don't know, but a simple solution is removing it and running ESLint directly. * On my local laptop, it reduces the linting from about 75 seconds to about 55 seconds. This kind of savings is not worth the added complexity and the instability noted above. PR-URL: #30955 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Jiawen Geng <[email protected]> Reviewed-By: Daijiro Wachi <[email protected]> Reviewed-By: Anatoli Papirovski <[email protected]> Reviewed-By: Michael Dawson <[email protected]> Reviewed-By: James M Snell <[email protected]>
lint-js.js was implemented before ESLint had a caching feature. It is
now only used in CI. Let's remove it on the following grounds:
It results in occasional (and puzzling) yellow CI runs for
node-test-linter because the tap file is corrupted somehow.
Interleaved maybe? I don't know, but a simple solution is removing it
and running ESLint directly.
On my local laptop, it reduces the linting from about 75 seconds to
about 55 seconds. This kind of savings is not worth the added
complexity and the instability noted above.
Checklist
make -j4 test(UNIX), orvcbuild test(Windows) passes