Announcement: Velocity Update for Meteor 1.2


#1

I’ve use finished upgrading almost all the Velocity packages to support Meteor 1.2. The versions that work with Meteor 1.2 are:

  • velocity:core@0.10.0
  • velocity:html-reporter@0.9.0
  • velocity:helpers@0.4.0
  • velocity-cli@0.4.0 (npm package)
  • sanjo:jasmine@0.19.0
  • velocity:METEOR@1.2.0.1_1 (The new velocity-cli and velocity:core use this version by default)
  • xolvio:cucumber@0.14.1

The first start of the mirrors after the update will take several minutes, because it downloads the new dependencies.


#2

I’m using sanjo:jasmine and velocity:html-reporter in a new app I started on 1.2, and both now work flawlessly. Thank you!


#3

Updated Velocity. It took a while (few minutes) to actually start showing the first passing tests. It’s painfully slow. Granted the app has a fairly large codebase but with 1.0 it took about half the time to finish all of the tests…


#4

@rhoxus Are you using Windows? So far I couldn’t see any slow downs with our app. I use Ubuntu.


#5

Nope, Fedora and OSX. Timing the starting process from running meteor run it seems to take a solid 2 minutes(!) to show the testing results in the HTML reporter. Whilst the reporter says it took 12 seconds to run 21 tests.

Running Velocity in CI mode also results in a ~2 minute run.

$ NODE_ENV=test JASMINE_BROWSER=PhantomJS DEBUG=1 JASMINE_DEBUG=1 VELOCITY_DEBUG=1 VELOCITY_DEBUG_MIRROR=1 meteor run --test --verbose --settings ../config/development/settings.json
stream error Network error: ws://localhost:3000/websocket: connect ECONNREFUSED
Local package version is up-to-date: accounts-base@1.2.1
Local package version is up-to-date: accounts-password@1.1.3
Local package version is up-to-date: aldeed:template-extension@3.4.3
Local package version is up-to-date: amplify@1.0.0
Local package version is up-to-date: audit-argument-checks@1.0.4
Local package version is up-to-date: autoupdate@1.2.3
Local package version is up-to-date: babel-compiler@5.8.24_1
Local package version is up-to-date: babel-runtime@0.1.4
Local package version is up-to-date: babrahams:editable-json@0.6.0
Local package version is up-to-date: base64@1.0.4
Local package version is up-to-date: binary-heap@1.0.4
Local package version is up-to-date: blaze@2.1.3
Local package version is up-to-date: blaze-html-templates@1.0.1
Local package version is up-to-date: blaze-tools@1.0.4
Local package version is up-to-date: boilerplate-generator@1.0.4
Local package version is up-to-date: caching-compiler@1.0.0
Local package version is up-to-date: caching-html-compiler@1.0.1
Local package version is up-to-date: callback-hook@1.0.4
Local package version is up-to-date: check@1.0.6
Local package version is up-to-date: clinical:barcode@2.0.2
Local package version is up-to-date: cmather:handlebars-server@2.0.0
Local package version is up-to-date: coffeescript@1.0.9
Local package version is up-to-date: crosswalk@1.2.0
Local package version is up-to-date: d3js:d3@3.5.5
Local package version is up-to-date: dburles:collection-helpers@1.0.3
Local package version is up-to-date: dburles:mongo-collection-instances@0.3.4
Local package version is up-to-date: ddp@1.2.2
Local package version is up-to-date: ddp-client@1.2.1
Local package version is up-to-date: ddp-common@1.2.1
Local package version is up-to-date: ddp-rate-limiter@1.0.0
Local package version is up-to-date: ddp-server@1.2.1
Local package version is up-to-date: deps@1.0.9
Local package version is up-to-date: diff-sequence@1.0.1
Local package version is up-to-date: ecmascript@0.1.4
Local package version is up-to-date: ecmascript-collections@0.1.6
Local package version is up-to-date: ejson@1.0.7
Local package version is up-to-date: email@1.0.7
Local package version is up-to-date: fastclick@1.0.7
Local package version is up-to-date: geojson-utils@1.0.4
Local package version is up-to-date: handlebars@1.0.4
Local package version is up-to-date: hitchcott:platform@0.0.1
Local package version is up-to-date: hot-code-push@1.0.0
Local package version is up-to-date: html-tools@1.0.5
Local package version is up-to-date: htmljs@1.0.5
Local package version is up-to-date: http@1.1.1
Local package version is up-to-date: id-map@1.0.4
Local package version is up-to-date: iron:controller@1.0.8
Local package version is up-to-date: iron:core@1.0.8
Local package version is up-to-date: iron:dynamic-template@1.0.8
Local package version is up-to-date: iron:layout@1.0.8
Local package version is up-to-date: iron:location@1.0.9
Local package version is up-to-date: iron:middleware-stack@1.0.9
Local package version is up-to-date: iron:router@1.0.9
Local package version is up-to-date: iron:url@1.0.9
Local package version is up-to-date: jquery@1.11.4
Local package version is up-to-date: lai:collection-extensions@0.1.4
Local package version is up-to-date: launch-screen@1.0.4
Local package version is up-to-date: less@2.5.0_2
Local package version is up-to-date: livedata@1.0.15
Local package version is up-to-date: localstorage@1.0.5
Local package version is up-to-date: logging@1.0.8
Local package version is up-to-date: meteor@1.1.7
Local package version is up-to-date: meteor-base@1.0.1
Local package version is up-to-date: meteorhacks:kadira@2.23.4
Local package version is up-to-date: meteorhacks:kadira-debug@1.3.3
Local package version is up-to-date: meteorhacks:meteorx@1.3.1
Local package version is up-to-date: minifiers@1.1.7
Local package version is up-to-date: minimongo@1.0.9
Local package version is up-to-date: miro:mailchimp@1.1.0
Local package version is up-to-date: mobile-experience@1.0.1
Local package version is up-to-date: mobile-status-bar@1.0.6
Local package version is up-to-date: momentjs:moment@2.10.6
Local package version is up-to-date: mongo@1.1.1
Local package version is up-to-date: mongo-id@1.0.1
Local package version is up-to-date: mongo-livedata@1.0.9
Local package version is up-to-date: msavin:mongol@0.7.2
Local package version is up-to-date: npm-bcrypt@0.7.8_2
Local package version is up-to-date: npm-mongo@1.4.39_1
Local package version is up-to-date: npm-node-aes-gcm@0.1.3_6
Local package version is up-to-date: oauth-encryption@1.0.6
Local package version is up-to-date: observe-sequence@1.0.7
Local package version is up-to-date: okgrow:analytics@0.3.0
Local package version is up-to-date: ordered-dict@1.0.4
Local package version is up-to-date: package-version-parser@3.0.4
Local package version is up-to-date: practicalmeteor:chai@2.1.0_1
Local package version is up-to-date: practicalmeteor:loglevel@1.2.0_2
Local package version is up-to-date: promise@0.4.8
Local package version is up-to-date: raix:eventemitter@0.1.3
Local package version is up-to-date: raix:eventstate@0.0.4
Local package version is up-to-date: raix:push@2.6.12
Local package version is up-to-date: random@1.0.4
Local package version is up-to-date: rate-limit@1.0.0
Local package version is up-to-date: reactive-dict@1.1.1
Local package version is up-to-date: reactive-var@1.0.6
Local package version is up-to-date: reload@1.1.4
Local package version is up-to-date: retry@1.0.4
Local package version is up-to-date: risul:accounting@1.0.1
Local package version is up-to-date: routepolicy@1.0.6
Local package version is up-to-date: sanjo:jasmine@0.19.0
Local package version is up-to-date: sanjo:karma@1.7.0
Local package version is up-to-date: sanjo:long-running-child-process@1.1.3
Local package version is up-to-date: sanjo:meteor-files-helpers@1.1.0_7
Local package version is up-to-date: sanjo:meteor-version@1.0.0
Local package version is up-to-date: service-configuration@1.0.5
Local package version is up-to-date: session@1.1.1
Local package version is up-to-date: sha@1.0.4
Local package version is up-to-date: spacebars@1.0.7
Local package version is up-to-date: spacebars-compiler@1.0.7
Local package version is up-to-date: srp@1.0.4
Local package version is up-to-date: standard-minifiers@1.0.0
Local package version is up-to-date: templating@1.1.3
Local package version is up-to-date: templating-tools@1.0.0
Local package version is up-to-date: tracker@1.0.8
Local package version is up-to-date: ui@1.0.8 
Local package version is up-to-date: underscore@1.0.4
Local package version is up-to-date: underscorestring:underscore.string@3.2.2
Local package version is up-to-date: url@1.0.5
Local package version is up-to-date: velocity:chokidar@1.0.3_1
Local package version is up-to-date: velocity:core@0.10.0
Local package version is up-to-date: velocity:html-reporter@0.9.0
Local package version is up-to-date: velocity:meteor-internals@1.1.0_7
Local package version is up-to-date: velocity:meteor-stubs@1.1.0
Local package version is up-to-date: velocity:shim@0.1.0
Local package version is up-to-date: velocity:source-map-support@0.3.2_1
Local package version is up-to-date: webapp@1.2.2
Local package version is up-to-date: webapp-hashing@1.0.5
Local package version is up-to-date: zimme:iron-router-active@1.0.4
I20150926-04:17:29.459(2)? [velocity] adding velocity core
I20150926-04:17:29.460(2)? [velocity] Register framework jasmine-server-integration with regex ^tests/jasmine/server/integration/.+\.(js|es6|jsx|coffee|litcoffee|coffee\.md)$
I20150926-04:17:29.460(2)? Kadira: successfully authenticated
I20150926-04:17:29.460(2)? [velocity] Velocity not started. Queueing func
I20150926-04:17:29.460(2)? [velocity] Register framework jasmine-client-integration with regex ^tests/jasmine/client/integration/.+\.(js|es6|jsx|coffee|litcoffee|coffee\.md)$
I20150926-04:17:29.460(2)? [velocity] Velocity not started. Queueing func
I20150926-04:17:29.460(2)? [velocity] Register framework jasmine-client-unit with regex ^tests/jasmine/client/unit/.+\.(js|coffee|litcoffee|coffee\.md)$
I20150926-04:17:29.460(2)? [velocity] Velocity not started. Queueing func
I20150926-04:17:29.460(2)? [velocity] Register framework jasmine-server-unit with regex ^tests/jasmine/server/unit/.+\.(js|coffee|litcoffee|coffee\.md)$
I20150926-04:17:29.460(2)? [velocity] Velocity not started. Queueing func
I20150926-04:17:29.461(2)? [velocity] Server startup
I20150926-04:17:29.461(2)? [velocity] app dir /home/jaimie/Projects/Greeniant/slimmemeterlezer/app
I20150926-04:17:29.461(2)? [velocity] config = {
I20150926-04:17:29.461(2)?   "jasmine-server-integration": {
I20150926-04:17:29.461(2)?     "regex": "^tests/jasmine/server/integration/.+\\.(js|es6|jsx|coffee|litcoffee|coffee\\.md)$",
I20150926-04:17:29.461(2)?     "name": "jasmine-server-integration",
I20150926-04:17:29.461(2)?     "_regexp": {}
I20150926-04:17:29.461(2)?   },
I20150926-04:17:29.461(2)?   "jasmine-client-integration": {
I20150926-04:17:29.461(2)?     "regex": "^tests/jasmine/client/integration/.+\\.(js|es6|jsx|coffee|litcoffee|coffee\\.md)$",
I20150926-04:17:29.461(2)?     "name": "jasmine-client-integration",
I20150926-04:17:29.462(2)?     "_regexp": {}
I20150926-04:17:29.462(2)?   },
I20150926-04:17:29.462(2)?   "jasmine-client-unit": {
I20150926-04:17:29.462(2)?     "regex": "^tests/jasmine/client/unit/.+\\.(js|coffee|litcoffee|coffee\\.md)$",
I20150926-04:17:29.462(2)?     "name": "jasmine-client-unit",
I20150926-04:17:29.462(2)?     "_regexp": {}
I20150926-04:17:29.462(2)?   },
I20150926-04:17:29.462(2)?   "jasmine-server-unit": {
I20150926-04:17:29.462(2)?     "regex": "^tests/jasmine/server/unit/.+\\.(js|coffee|litcoffee|coffee\\.md)$",
I20150926-04:17:29.462(2)?     "name": "jasmine-server-unit",
I20150926-04:17:29.463(2)?     "_regexp": {}
I20150926-04:17:29.463(2)?   }
I20150926-04:17:29.465(2)? }
I20150926-04:17:29.465(2)? [velocity] resetting the world
I20150926-04:17:29.465(2)? [velocity] frameworks with disable auto reset: []
I20150926-04:17:29.465(2)? Kadira: completed instrumenting the app
I20150926-04:17:29.521(2)? [velocity] Add paths to watcher [ '/home/jaimie/Projects/Greeniant/slimmemeterlezer/app/tests' ]
I20150926-04:17:29.521(2)? ### Setting up Push configuration ###
W20150926-04:17:29.521(2)? (STDERR) WARNING: Push APN is in development mode
I20150926-04:17:29.575(2)? Notice: 'debug' module is not available. This should be installed with `npm install debug` to enable debug messages { [Error: Cannot find module 'debug'] code: 'MODULE_NOT_FOUND' }
I20150926-04:17:29.580(2)? Notice: 'debug' module is not available. This should be installed with `npm install debug` to enable debug messages { [Error: Cannot find module 'debug'] code: 'MODULE_NOT_FOUND' }
I20150926-04:17:29.633(2)? [velocity] Search framework for path tests/jasmine/server/integration/sample/spec/SampleSpec.js
I20150926-04:17:29.633(2)? [velocity] Target framework for tests/jasmine/server/integration/sample/spec/SampleSpec.js is jasmine-server-integration
I20150926-04:17:29.634(2)? [velocity] Search framework for path tests/jasmine/client/integration/sample/spec/SampleSpec.js
I20150926-04:17:29.634(2)? [velocity] Target framework for tests/jasmine/client/integration/sample/spec/SampleSpec.js is jasmine-client-integration
I20150926-04:17:29.636(2)? [velocity] File scan complete, now watching /tests
I20150926-04:17:29.636(2)? [velocity] Triggering queued startup functions
I20150926-04:17:29.641(2)? [sanjo:jasmine]: No tests for jasmine-client-unit found. Reporting completed.
I20150926-04:17:29.652(2)? [sanjo:jasmine]: Starting mirror for jasmine-client-integration
I20150926-04:17:29.652(2)? [sanjo:jasmine]: Starting mirror for jasmine-server-integration
I20150926-04:17:29.752(2)? [velocity] 1 mirror(s) requested
I20150926-04:17:29.753(2)? [velocity] 1 mirror(s) requested
I20150926-04:17:29.765(2)? [velocity] Mirror process forked with pid 8654
I20150926-04:17:29.765(2)? [velocity] jasmine-client-integration is starting a mirror at http://localhost:37721/.
I20150926-04:17:29.773(2)? [velocity] Mirror process forked with pid 8656
I20150926-04:17:29.773(2)? [velocity] jasmine-server-integration is starting a mirror at http://localhost:55625/.
I20150926-04:17:29.777(2)? [velocity] You can see the mirror logs at: tail -f /home/jaimie/Projects/Greeniant/slimmemeterlezer/app/.meteor/local/log/jasmine-client-integration.log
I20150926-04:17:29.779(2)? [velocity] You can see the mirror logs at: tail -f /home/jaimie/Projects/Greeniant/slimmemeterlezer/app/.meteor/local/log/jasmine-server-integration.log
I20150926-04:18:49.493(2)? [velocity] Mirror registered. Handshaking with mirror...
I20150926-04:18:49.532(2)? [velocity] Connected to mirror, setting state to ready { framework: 'jasmine-server-integration',
I20150926-04:18:49.533(2)?   host: 'http://localhost:55625/',
I20150926-04:18:49.533(2)?   port: '55625' }
PASSED jasmine-server-integration : Server initialization => Server should know about Meteor.settings
PASSED jasmine-server-integration : Mailchimp initialization => MailChimpOptions should exists
PASSED jasmine-server-integration : Mailchimp initialization => MailChimpOptions has apiKey
PASSED jasmine-server-integration : Mailchimp initialization => MailChimpOptions has listId
I20150926-04:18:52.466(2)? [velocity] Mirror registered. Handshaking with mirror...
I20150926-04:18:52.479(2)? [velocity] Connected to mirror, setting state to ready { framework: 'jasmine-client-integration',
I20150926-04:18:52.479(2)?   host: 'http://localhost:37721/',
I20150926-04:18:52.479(2)?   port: '37721' }
PASSED jasmine-client-integration : MomentJS:3rd party library:  => should be a defined
PASSED jasmine-client-integration : MomentJS:3rd party library:  => should return an instance
PASSED jasmine-client-integration : MomentJS:3rd party library:  => should have nl as locale when app starts up
PASSED jasmine-client-integration : AccountingJS:3rd party library:  => should be a defined
PASSED jasmine-client-integration : AccountingJS:3rd party library:  => should return an instance
PASSED jasmine-client-integration : AccountingJS:3rd party library:  => should have the formatMoney() method
PASSED jasmine-client-integration : AccountingJS:3rd party library:  => should have the correct currency formatting on startup
PASSED jasmine-client-integration : AccountingJS:3rd party library:  => should properly format 10 to €10,00
PASSED jasmine-client-integration : AccountingJS:3rd party library:  => should properly remove formatting €10,00 to 10
PASSED jasmine-client-integration : HammerJS:3rd party library:  => should be a defined
PASSED jasmine-client-integration : HammerJS:3rd party library:  => should return instance
PASSED jasmine-client-integration : Barcoder:3rd party library:  => should be a defined
PASSED jasmine-client-integration : Barcoder:3rd party library:  => should return instance
PASSED jasmine-client-integration : Barcoder:3rd party library:  => should have validate() method
PASSED jasmine-client-integration : Barcoder:3rd party library:  => should validate smartmeter barcode as EAN
PASSED jasmine-client-integration : Barcoder:3rd party library:  => should validate correct barcode succesfully
PASSED jasmine-client-integration : Barcoder:3rd party library:  => should validate wrong barcode succesfully
TESTS RAN SUCCESSFULLY

#6

Ok. You can cache the build on CI to make it a bit faster. Meteor 1.2 builds seems to be a bit slower in general. I have some ideas of how to optimize the building for the mirrors, but currently we don’t have resources at Xolv.io to do it. So we need to wait until we get the necessary resources to do this work (= money or development effort from others).


Proposal: Line item, community-based funding for Meteor core development