Skip to content
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

Test out node 0.12.x with our project locally #581

Closed
Martii opened this issue Feb 10, 2015 · 5 comments
Closed

Test out node 0.12.x with our project locally #581

Martii opened this issue Feb 10, 2015 · 5 comments
Labels
CODE Some other Code related issue and it should clearly describe what it is affecting in a comment. migration Use this to indicate that it may apply to an existing or announced migration.

Comments

@Martii
Copy link
Member

Martii commented Feb 10, 2015

If anything fails on x64 and/or ia32, Sass (node-sass) excluded but dev should still be functional otherwise, use semver to hopefully prevent usage on our node host provider by setting a more restrictive range at /package.json#L80.

e.g. >=0.10.32 <0.11.0 or the like... v0.11.x seems to have been skipped for release.

Whether or not nodejitsu respects this npm standard has yet to be determined and we won't know this until they migrate.

@Martii Martii added migration Use this to indicate that it may apply to an existing or announced migration. CODE Some other Code related issue and it should clearly describe what it is affecting in a comment. labels Feb 10, 2015
@Martii Martii self-assigned this Feb 10, 2015
@Martii Martii added sooner Sooner would be appreciated. needs testing Anyone can add this but it is primarily there for the Assignee indicating that Testers are wanted. labels Feb 10, 2015
@Martii
Copy link
Member Author

Martii commented Feb 10, 2015

Just a few things for nodejitsu... currently our server there is ~sunos-x64 e.g. Solaris 64 bit with the node 0.10.x line (Moderators Admins and above should see exactly which version here). I don't know if it's a VM or just a plain server.

Also I have been keeping up to date on the following:

$ npm -v
2.5.0

$ node -v
v0.10.36

See also:


Intel x64

  • Compiles okay
  • Installs okay
$ npm -v
2.5.1

$ node -v
v0.12.0

$ npm install
...
npm WARN engine [email protected]: wanted: {"node":"~0.10.1"} (current: {"node":"0.12.0","npm":"2.5.1"})
...
> [email protected] install /home/user/repo/git/oujs/martii/OpenUserJS.org/node_modules/express-minify/node_modules/node-sass
> node scripts/install.js

Binary downloaded and installed at /home/user/repo/git/oujs/martii/OpenUserJS.org/node_modules/express-minify/node_modules/node-sass/vendor/linux-x64/binding.node

> [email protected] postinstall /home/user/repo/git/oujs/martii/OpenUserJS.org/node_modules/express-minify/node_modules/node-sass
> node scripts/build.js

`linux-x64` exists; testing
module.js:355
  Module._extensions[extension](this, filename);
                               ^
Error: Module did not self-register.
    at Error (native)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/home/user/repo/git/oujs/martii/OpenUserJS.org/node_modules/express-minify/node_modules/node-sass/lib/index.js:181:15)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
npm ERR! Linux 3.14.25-nrj-desktop-1rosa
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install"
npm ERR! node v0.12.0
npm ERR! npm  v2.5.1
npm ERR! code ELIFECYCLE

npm ERR! [email protected] postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script 'node scripts/build.js'.
npm ERR! This is most likely a problem with the node-sass package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node scripts/build.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls node-sass
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/user/repo/git/oujs/martii/OpenUserJS.org/npm-debug.log
...

$ node app.js
GitHub client authenticated

Local Dev Testing

  • 👍 Launch
  • 👍 Discussion
  • 👍 Comment
  • 👎 Minification of .../common.css (expected)
  • 👎 Delete owned script (unexpected and no console messages)
  • 👎 GH import script (unexpected and partial)
GET /users/Marti/github/repo?user=Martii&repo=UserScriptsTesting 200 838.569 ms - -
Marti - Marti/Hello_World_8.user.js
{"message":"Protocol \"https:\" not supported. Expected \"http:\".","code":"NetworkingError","region":"us-east-1","hostname":"s3.amazonaws.com","retryable":true,"time":"2015-02-10T20:28:06.318Z"}
{... clipped ...}
Error while uploading script.
Martii UserScriptsTesting sub folder/Hello%20World 8.user.js
POST /users/Marti/github/import 400 1171.292 ms - -
  • 👎 Upload script (unexpected and partial)
  • 👎 Write script online (unexpected and partial)
  • 👎 Edit script (unexpected)
  • 👍 Edit script info
  • Too many test failures on dev to continue
$ ruby -v
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]

$ sudo gem update
[sudo] password for user: 
Updating installed gems
Updating bigdecimal
Fetching: bigdecimal-1.2.7.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing bigdecimal:
        ERROR: Failed to build gem native extension.

    /usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /usr/lib/ruby/gems/2.1.0/gems/bigdecimal-1.2.7 for inspection.
Results logged to /usr/lib/ruby/gems/2.1.0/extensions/x86_64-linux/2.1.0/bigdecimal-1.2.7/gem_make.out
Updating fakes3
Fetching: fakes3-0.1.7.gem (100%)
Successfully installed fakes3-0.1.7
Parsing documentation for fakes3-0.1.7
Installing ri documentation for fakes3-0.1.7
Installing darkfish documentation for fakes3-0.1.7
Done installing documentation for fakes3 after 0 seconds
Updating json
Fetching: json-1.8.2.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing json:
        ERROR: Failed to build gem native extension.

    /usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /usr/lib/ruby/gems/2.1.0/gems/json-1.8.2 for inspection.
Results logged to /usr/lib/ruby/gems/2.1.0/extensions/x86_64-linux/2.1.0/json-1.8.2/gem_make.out
Updating minitest
Fetching: minitest-5.5.1.gem (100%)
Successfully installed minitest-5.5.1
Parsing documentation for minitest-5.5.1
Installing ri documentation for minitest-5.5.1
Installing darkfish documentation for minitest-5.5.1
Done installing documentation for minitest after 1 seconds
Updating psych
Fetching: psych-2.0.12.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing psych:
        ERROR: Failed to build gem native extension.

    /usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /usr/lib/ruby/gems/2.1.0/gems/psych-2.0.12 for inspection.
Results logged to /usr/lib/ruby/gems/2.1.0/extensions/x86_64-linux/2.1.0/psych-2.0.12/gem_make.out
Gems updated: bigdecimal fakes3 json minitest psych

Retested above with similar results... general failure

Local Pro Testing

$ node app.js
GitHub client authenticated
.write(string, encoding, offset, length) is deprecated. Use write(string[, offset[, length]][, encoding]) instead.
createCredentials() is deprecated, use tls.createSecureContext instead
  • 👍 Delete owned script (unexpected and points to possible fakes3 incompatibility)
  • 👍 GH import script (unexpected)
  • 👍 Upload script (unexpected)
  • 👍 Write script online (unexpected)
  • 👍 Edit script (unexpected)

Second retest with some OS updates and recheckout of https://github.com/joyent/node/tree/v0.12.0-release

$ node app.js
[Error: Module did not self-register.]
js-bson: Failed to load c++ bson extension, using pure JS version
[Error: Module did not self-register.]
js-bson: Failed to load c++ bson extension, using pure JS version
GitHub client authenticated

Same results on dev with fakes3 appearing to not work.

Martii pushed a commit to Martii/OpenUserJS.org that referenced this issue Feb 11, 2015
* Add in a simple, native, patterned, platform independent, check and install for dev/dbg environments. Applies to OpenUserJS#249. Alternative is a shell script which can be platform-independent if using Git Bash for Win systems. Node and their dependencies have most recently proven than any build system is vulnerable to extreme failures... so these two proven, tried and true, methodologies are left.
* Advise restricting node engine to 0.10.x for dev/dbg... See OpenUserJS#581
* Add *bundler* gem to handle fakes3 installation and corresponding `Gemfile`... Don't sync the `Gemfile.lock` e.g place in .gitignore ... *bundler* prompts if sudo is needed to install... static version like package.json
* Set our project to private so npm usage won't ever publish it accidentally... this of course can be discussed later if we want to publish to npmjs.com
* Update README.md for this dep
@Martii Martii removed their assignment Feb 12, 2015
Martii pushed a commit to Martii/OpenUserJS.org that referenced this issue Mar 13, 2015
* *bundler* appears to no longer be able to update itself... so removing
* *fakes3* updated and tested okay on dev... need to retry OpenUserJS#581
* *mongoose* and *compression* updated
* Possible breaking changes in *passport-google* so leaving to sizzle... same with *passport-facebook*
@Martii
Copy link
Member Author

Martii commented Apr 11, 2015

Retested dev in node.js 0.12.2 (OS clean reinstall)

...

> [email protected] postinstall /home/user/repo/git/oujs/martii/OpenUserJS.org
> node dev/init.js

>> node -v
v0.12.2

>> npm -v
2.7.6

>> ruby -v
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]

>> bundler -v
Bundler version 1.9.2

>> bundler outdated

>> bundler install
Fetching gem metadata from https://rubygems.org/..
Fetching version metadata from https://rubygems.org/..
Installing builder 3.2.2
Installing thor 0.19.1
Installing fakes3 0.2.1
Using bundler 1.9.2
Bundle complete! 1 Gemfile dependency, 4 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.

>> npm --depth 0 outdated
Package          Current  Wanted  Latest  Location
ace-builds         1.1.8     git     git  ace-builds
octicons           2.2.0     git     git  octicons
express-session   1.10.4  1.10.4  1.11.1  express-session
jwt-simple         0.2.0   0.2.0   0.3.0  jwt-simple
aws-sdk           2.0.21  2.0.21  2.1.23  aws-sdk
highlight.js       8.4.0   8.4.0   8.5.0  highlight.js
moment             2.9.0   2.9.0  2.10.2  moment
underscore         1.8.2   1.8.2   1.8.3  underscore
request           2.54.0  2.54.0  2.55.0  request

...

400 status code received with message "Error while uploading script." (related to #583)... with GH import with current deps as of package.json and Gemfile ...

...

GET /users/Marti/github/repo?user=Martii&repo=UserScriptsTesting 200 828.948 ms - -
Marti - Marti/Hello_World_5.user.js
{"message":"Protocol \"https:\" not supported. Expected \"http:\".","code":"NetworkingError","region":"us-east-1","hostname":"s3.amazonaws.com","retryable":true,"time":"2015-04-11T02:05:14.246Z"}
{"__v":0,"name":"Hello World 5","author":"Marti","rating":0,"about":"","updated":"2015-04-11T02:05:13.930Z","votes":0,"flags":0,"installName":"Marti/Hello_World_5.user.js","meta":{"include":["http://www.example.com/*","http://www.example.net/*","http://www.example.org/*"],"icon":"https://s3.amazonaws.com/uso_ss/icon/13701/large.png","version":"0.0.2","license":["GPL version 3 or any later version; http://www.gnu.org/copyleft/gpl.html","(CC); http://creativecommons.org/licenses/by-nc-sa/3.0/"],"copyright":"2007+, Marti Martz (http://userscripts.org/users/37004)","description":"JavaScript alert box saying Hello, World!","namespace":"http://localhost.localdomain","name":"Hello World 5"},"isLib":false,"_authorId":"clipped","_id":"clipped","uses":[],"fork":null,"installsSinceUpdate":0,"installs":0}
Error while uploading script.
Martii UserScriptsTesting sub folder/Hello World 5.user.js
POST /users/Marti/github/import 400 1123.799 ms - -

...

Downgrading to most recent 0.10.x again.


Success on 0.10.38 with this dev console log snippet:

...

POST /users/Marti/github/import 302 1785.260 ms - -
GET /scripts/Marti/Hello_World_5 200 335.488 ms - -
GET /scripts/Marti/Hello_World_5/source 200 341.617 ms - -

...

Martii pushed a commit to Martii/OpenUserJS.org that referenced this issue May 1, 2015
* Removes the previous exception found with *fakeS3* and all importing/creation of scripts.
* Bump `./package.json` to reflect tested nodejs major versions... **do not use 0.12.0 on nodejitsu due to previous deploy failures during 0.10.33 static testing

**NOTE** Regression tested on 0.10.xx and appears okay... retested on local pro. There are some deprecation warnings that may not be able to be addressed until node host is upgraded in OpenUserJS#425

Applies to OpenUserJS#581
@Martii
Copy link
Member Author

Martii commented May 1, 2015

This is just what I ran into regarding console deprecation warnings in 0.12.2 so far:

.write(string, encoding, offset, length) is deprecated. Use write(string[, offset[, length]][, encoding]) instead.

... doesn't appear to be in our source but may be in deps.

createCredentials() is deprecated, use tls.createSecureContext instead

... doesn't appear to be in our source but may be in deps.

@Martii
Copy link
Member Author

Martii commented May 26, 2015

0.12.3 appears okay on dev... will bump ./package.json hopefully later this week after a few more trials.


0.12.4 out as well... will test against that too.

@Martii Martii removed the sooner Sooner would be appreciated. label May 31, 2015
@Martii
Copy link
Member Author

Martii commented May 31, 2015

Closing from #635 and #425 as this is obsolete now as we are running 0.12.x

@Martii Martii closed this as completed May 31, 2015
@Martii Martii removed the needs testing Anyone can add this but it is primarily there for the Assignee indicating that Testers are wanted. label Aug 26, 2015
@OpenUserJS OpenUserJS locked as resolved and limited conversation to collaborators Apr 12, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
CODE Some other Code related issue and it should clearly describe what it is affecting in a comment. migration Use this to indicate that it may apply to an existing or announced migration.
Development

No branches or pull requests

1 participant