Page MenuHomePhabricator

jsduck custom tags error when trying to run docs for a skin
Closed, ResolvedPublic

Description

I've been trying to setup jsduck on the MinervaNeue skin ( T170639) but have hit a snag.

It complains with the following error:

00:01:40 > @ doc /home/jenkins/workspace/mwgate-npm-node-6-jessie
00:01:40 > jsduck
00:01:40 
00:01:40 /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- /home/jenkins/workspace/mwgate-npm-node-6-jessie/.docs/jsduckCustomTags.rb (LoadError)
00:01:40 	from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
00:01:40 	from /var/lib/gems/2.1.0/gems/jsduck-5.3.4/lib/jsduck/tag_loader.rb:36:in `load'
00:01:40 	from /var/lib/gems/2.1.0/gems/jsduck-5.3.4/lib/jsduck/tag_loader.rb:18:in `block in load_all'
00:01:40 	from /var/lib/gems/2.1.0/gems/jsduck-5.3.4/lib/jsduck/tag_loader.rb:18:in `each'
00:01:40 	from /var/lib/gems/2.1.0/gems/jsduck-5.3.4/lib/jsduck/tag_loader.rb:18:in `load_all'
00:01:40 	from /var/lib/gems/2.1.0/gems/jsduck-5.3.4/lib/jsduck/tag_registry.rb:36:in `initialize'
00:01:40 	from /var/lib/gems/2.1.0/gems/jsduck-5.3.4/lib/jsduck/tag_registry.rb:16:in `new'
00:01:40 	from /var/lib/gems/2.1.0/gems/jsduck-5.3.4/lib/jsduck/tag_registry.rb:16:in `reconfigure'
00:01:40 	from /var/lib/gems/2.1.0/gems/jsduck-5.3.4/lib/jsduck/options.rb:177:in `parse!'
00:01:40 	from /var/lib/gems/2.1.0/gems/jsduck-5.3.4/bin/jsduck:24:in `<top (required)>'
00:01:40 	from /usr/local/bin/jsduck:23:in `load'
00:01:40 	from /usr/local/bin/jsduck:23:in `<main>'
00:01:40 
00:01:40 npm ERR! @ doc: `jsduck`
00:01:40 npm ERR! Exit status 1
00:01:40 npm ERR! 
00:01:40 npm ERR! Failed at the @ doc script.
00:01:40 npm ERR! This is most likely a problem with the  package,
00:01:40 npm ERR! not with npm itself.
00:01:40 npm ERR! Tell the author that this fails on your system:
00:01:40 npm ERR!     jsduck
00:01:40 npm ERR! You can get their info via:
00:01:40 npm ERR!     npm owner ls 
00:01:40 npm ERR! There is likely additional logging output above.
00:01:40 npm ERR! System Linux 3.16.0-4-amd64
00:01:40 npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "run" "doc"
00:01:40 npm ERR! cwd /home/jenkins/workspace/mwgate-npm-node-6-jessie
00:01:40 npm ERR! node -v v6.9.1
00:01:40 npm ERR! npm -v 1.4.21
00:01:40 npm ERR! code ELIFECYCLE
00:01:40 npm WARN This failure might be due to the use of legacy binary "node"
00:01:40 npm WARN For further explanations, please read
00:01:40 /usr/share/doc/nodejs/README.Debian

Any ideas?

Event Timeline

This is not a CI problem. The draft commit at https://gerrit.wikimedia.org/r/#/c/365046/5/jsduck.json is creating a configuration file that specifies to load a file .docs/jsduckCustomTags.rb which doesn't exist in the repo, hence it fails.

Some extensions register a JSDuck Ruby plugin for additional annotation tags like @todo. Either commit an actual file, or remove the "--tags": ".docs/jsduckCustomTags.rb", option.

Krinkle claimed this task.

Resolved in Code-Review.

Yup you are right. This is my bad. In migrating from MobileFrontend the new repo inherited a .docs folder which was not checked in. The custom tag in question was a @see tag which is not used by Minerva so not needed.

Thanks for working this out @Krinkle <3 mystery solved