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

Build App step takes 20 minutes on Circle CI #10218

Open
Floriferous opened this Issue Sep 13, 2018 · 34 comments

Comments

Projects
None yet
9 participants
@Floriferous
Copy link

Floriferous commented Sep 13, 2018

Build times on Circle CI are taking upwards of 20 minutes on a fresh start, which is pretty much crippling our entire CI/CD process. Here's a local circleCI build with their CLI tool. The Build App part took a total of 20 minutes, spending the majority of its time in Babel.compile, and several other minutes doing stuff like linking...

I'd really like to get this sorted out! :)

I left the commands I run at the top so its clear what's being done. I need chromedriver and selenium-webdriver to run the tests, and I've noticed in the past that adding these packages tends to massively increase build times. EDIT: They don't, see below.

The test-CI command I run is the following:

"test-CI": "SERVER_TEST_REPORTER=xunit XUNIT_FILE=~/app/results/unit.xml TEST_BROWSER_DRIVER=chrome meteor test --once --driver-package meteortesting:mocha --settings settings-dev.json",

Also, I run these tests on my machine, with a fast SSD, 16GB of RAM, and the following docker image and env variables:

    docker:
      - image: circleci/openjdk:8-jdk-browsers
        environment:
          # lang settings required for Meteor's Mongo
          LANG: C.UTF-8
          LANGUAGE: C.UTF-8
          LC_ALL: C.UTF-8
          LC_NUMERIC: en_US.UTF-8
          METEOR_VERSION: 1.7
          NODE_ENV: development
          TOOL_NODE_FLAGS: "--max_old_space_size=8192 --optimize_for_size --gc-interval=100" # if builds run out of memory
          METEOR_PROFILE: 1000 # If you need to debug meteor, turn this on
          CIRCLE_CI: 1 # Used to to know in our scripts if we're on CircleCI environment or not
      - image: cypress/browsers:chrome65-ff57
        environment:
          ## this enables colors in the output
          TERM: xterm
circleCI log

meteor npm i selenium-webdriver@3.6.0 chromedriver@2.37.0 --no-save
meteor npm run test-CI


> chromedriver@2.37.0 install /home/circleci/app/microservices/app/node_modules/chromedriver
> node install.js

Downloading https://chromedriver.storage.googleapis.com/2.37/chromedriver_linux64.zip
Saving to /tmp/chromedriver/chromedriver_linux64.zip
Received 781K...
Received 1568K...
Received 2352K...
Received 3136K...
Received 3632K total.
Extracting zip contents
Copying to target path /home/circleci/app/microservices/app/node_modules/chromedriver/lib/chromedriver
Fixing file permissions
Done. ChromeDriver binary available at /home/circleci/app/microservices/app/node_modules/chromedriver/lib/chromedriver/chromedriver
npm WARN react-intl@2.3.0 requires a peer of react@^0.14.9 || ^15.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN uniforms@1.25.0 requires a peer of graphql@>=0.8.2 <1.0.0 but none is installed. You must install peer dependencies yourself.

+ selenium-webdriver@3.6.0
+ chromedriver@2.37.0
added 26 packages from 27 contributors and audited 5082 packages in 12.586s
found 1 low severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details

> epotek-app@ test-CI /home/circleci/app/microservices/app
> SERVER_TEST_REPORTER=xunit XUNIT_FILE=~/app/results/unit.xml TEST_BROWSER_DRIVER=chrome meteor test --once --driver-package meteortesting:mocha --settings settings-dev.json

| (#1) Profiling: ProjectContext initializeCatalog
| (  Preparing project                         ... )
| ProjectContext initializeCatalog                                 43 ms (1)
|
| Top leaves:
|
| (#1) Total: 43 ms (ProjectContext initializeCatalog)
|
| (#2) Profiling: ProjectContext resolveConstraints
| (  Selecting package versions                ... )
| ProjectContext resolveConstraints............................12,364 ms (1)
| └─ _resolveConstraints.......................................12,364 ms (1)
|    ├─ JsImage#load                                            1,002 ms (1)
|    └─ Select Package Versions................................11,226 ms (1)
|       ├─ Input#loadFromCatalog................................7,086 ms (1)
|       │  ├─ sqlite query                                      4,698 ms (290)
|       │  └─ other Input#loadFromCatalog                       2,388 ms
|       └─ Solver#getAnswer.....................................3,786 ms (1)
|          └─ generate constraints                              1,913 ms (1)
|
| Top leaves:
| sqlite query.............................................4,822 ms (439)
| other Input#loadFromCatalog..............................2,388 ms (1)
| generate constraints.....................................1,913 ms (1)
| minimize conflicts.........................................725 ms (1)
| new Logic.Solver (MiniSat start-up)........................251 ms (1)
| require("./security.js")...................................203 ms (1)
| generate dependency requirements...........................166 ms (1)
| pre-solve..................................................160 ms (1)
| generate package variables.................................156 ms (1)
| analyze allowed versions...................................127 ms (1)
| minimize unanticipated_prereleases.........................100 ms (1)
|
| (#2) Total: 12,364 ms (ProjectContext resolveConstraints)
|
[[[[[ Tests ]]]]]

=> Started proxy.
| (#3) Profiling: ProjectContext prepareProjectForBuild
=> Started MongoDB.
| (  Building local packages                   ... )
| files.stat                                                        0 ms (1)
| files.readFile                                                    0 ms (1)
| files.readdir                                                     0 ms (1)
| files.writeFile                                                   0 ms (1)
| ProjectContext prepareProjectForBuild.......................146,570 ms (1)
| ├─ _downloadMissingPackages.................................118,711 ms (1)
| │  ├─ meteorNpm.rebuildIfNonPortable..........................5,929 ms (29)
| │  │  └─ meteorNpm.isPortable.................................5,582 ms (1011)
| │  │     └─ meteorNpm.isPortable..............................4,752 ms (5739)
| │  │        └─ meteorNpm.isPortable...........................3,880 ms (6762)
| │  │           └─ meteorNpm.isPortable                        2,224 ms (7242)
| │  ├─ Isopack#saveToPath.....................................59,369 ms (91)
| │  │  ├─ Builder#copyNodeModulesDirectory....................20,551 ms (29)
| │  │  │  ├─ Builder#_ensureDirectory                          2,194 ms (4790)
| │  │  │  ├─ optimistic lstatOrNull............................5,005 ms (42196)
| │  │  │  │  ├─ optimistic lstat                               1,895 ms (42196)
| │  │  │  │  └─ other optimistic lstatOrNull                   3,094 ms
| │  │  │  ├─ optimistic statOrNull                             3,127 ms (37339)
| │  │  │  ├─ optimistic readFile...............................3,369 ms (37339)
| │  │  │  │  ├─ files.readFile                                 1,375 ms (37339)
| │  │  │  │  └─ other optimistic readFile                      1,995 ms
| │  │  │  ├─ files.writeFile                                   2,818 ms (37339)
| │  │  │  └─ other Builder#copyNodeModulesDirectory            3,685 ms
| │  │  ├─ linker.prelink.......................................1,568 ms (69)
| │  │  │  └─ linker Module#computeAssignedVariables............1,381 ms (69)
| │  │  │     └─ linker File#computeAssignedVariables           1,377 ms (333)
| │  │  └─ JsImage#write.......................................35,823 ms (7)
| │  │     └─ Builder#copyNodeModulesDirectory.................35,323 ms (52)
| │  │        ├─ Builder#_ensureDirectory.......................3,119 ms (4134)
| │  │        │  ├─ files.stat                                  1,268 ms (12612)
| │  │        │  └─ other Builder#_ensureDirectory              1,478 ms
| │  │        ├─ optimistic lstatOrNull........................10,531 ms (46047)
| │  │        │  ├─ optimistic lstat                            4,206 ms (46047)
| │  │        │  └─ other optimistic lstatOrNull                6,322 ms
| │  │        ├─ optimistic statOrNull                          4,812 ms (41863)
| │  │        ├─ optimistic readFile............................6,714 ms (41863)
| │  │        │  ├─ files.readFile                              2,216 ms (41863)
| │  │        │  └─ other optimistic readFile                   4,498 ms
| │  │        ├─ files.writeFile                                3,846 ms (41863)
| │  │        └─ other Builder#copyNodeModulesDirectory         5,638 ms
| │  ├─ bundler.readJsImage....................................21,320 ms (7)
| │  │  └─ meteorNpm.rebuildIfNonPortable......................21,194 ms (52)
| │  │     ├─ meteorNpm.isPortable..............................7,128 ms (1061)
| │  │     │  └─ meteorNpm.isPortable...........................6,082 ms (2773)
| │  │     │     └─ meteorNpm.isPortable........................5,434 ms (3573)
| │  │     │        └─ meteorNpm.isPortable.....................4,716 ms (3170)
| │  │     │           └─ meteorNpm.isPortable..................4,120 ms (1858)
| │  │     │              └─ meteorNpm.isPortable...............3,421 ms (1536)
| │  │     │                 └─ meteorNpm.isPortable............2,820 ms (1947)
| │  │     │                    └─ meteorNpm.isPortable.........2,174 ms (1238)
| │  │     │                       └─ meteorNpm.isPortable......1,694 ms (1499)
| │  │     │                          └─ meteorNpm.isPortable   1,171 ms (1438)
| │  │     └─ other meteorNpm.rebuildIfNonPortable             12,507 ms
| │  └─ other _downloadMissingPackages                         31,682 ms
| └─ _buildLocalPackages.......................................27,858 ms (1)
|    ├─ _ensurePackageLoaded(accounts-base)                     1,177 ms (1)
|    ├─ _ensurePackageLoaded(coffeescript)......................8,788 ms (1)
|    │  └─ IsopackCache Load local isopack......................8,788 ms (1)
|    │     └─ Isopack#initFromPath..............................8,787 ms (1)
|    │        └─ bundler.readJsImage............................8,787 ms (1)
|    │           └─ meteorNpm.rebuildIfNonPortable..............8,690 ms (8)
|    │              └─ meteorNpm.isPortable.....................8,636 ms (11)
|    │                 └─ meteorNpm.isPortable..................8,572 ms (77)
|    │                    └─ meteorNpm.isPortable...............8,532 ms (54)
|    │                       └─ meteorNpm.isPortable............8,413 ms (143)
|    │                          └─ meteorNpm.isPortable.........8,135 ms (697)
|    │                             └─ meteorNpm.isPortable......7,328 ms (1284)
|    │                                └─ meteorNpm.isPortable...6,033 ms (1947)
|    │                                   └─ meteorNpm.isPortable.4,559 ms (1238)
|    │                                      └─ meteorNpm.isPortable.3,644 ms (1499)
|    │                                         └─ meteorNpm.isPortable.2,350 ms (1438)
|    │                                            └─ meteorNpm.isPortable 1,318 ms (1024)
|    ├─ _ensurePackageLoaded(cultofcoders:grapher)..............3,236 ms (1)
|    │  └─ _ensurePackageLoaded(matb33:collection-hooks)........2,941 ms (1)
|    │     └─ IsopackCache Load local isopack...................2,941 ms (1)
|    │        └─ Isopack#initFromPath...........................2,941 ms (1)
|    │           └─ meteorNpm.rebuildIfNonPortable..............2,939 ms (1)
|    │              └─ meteorNpm.isPortable.....................2,381 ms (129)
|    │                 └─ meteorNpm.isPortable..................2,115 ms (1298)
|    │                    └─ meteorNpm.isPortable...............1,639 ms (983)
|    │                       └─ meteorNpm.isPortable            1,151 ms (826)
|    ├─ _ensurePackageLoaded(cultofcoders:mocha)................1,993 ms (1)
|    │  └─ _ensurePackageLoaded(templating).....................1,777 ms (1)
|    │     └─ _ensurePackageLoaded(templating-runtime)..........1,777 ms (1)
|    │        └─ _ensurePackageLoaded(templating-compiler)......1,775 ms (1)
|    │           └─ IsopackCache Load local isopack.............1,775 ms (1)
|    │              └─ Isopack#initFromPath.....................1,774 ms (1)
|    │                 └─ bundler.readJsImage...................1,773 ms (1)
|    │                    └─ meteorNpm.rebuildIfNonPortable.....1,735 ms (9)
|    │                       └─ meteorNpm.isPortable............1,707 ms (178)
|    │                          └─ meteorNpm.isPortable         1,421 ms (1402)
|    ├─ _ensurePackageLoaded(fortawesome:fontawesome)...........1,033 ms (1)
|    │  └─ IsopackCache Load local isopack......................1,033 ms (1)
|    │     └─ Isopack#initFromPath..............................1,032 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable                 1,030 ms (1)
|    ├─ _ensurePackageLoaded(lmieulet:meteor-coverage)..........1,516 ms (1)
|    │  └─ IsopackCache Load local isopack......................1,516 ms (1)
|    │     └─ Isopack#initFromPath..............................1,516 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................1,514 ms (1)
|    │           └─ meteorNpm.isPortable........................1,440 ms (206)
|    │              └─ meteorNpm.isPortable                     1,106 ms (1615)
|    ├─ _ensurePackageLoaded(okgrow:analytics)..................5,090 ms (1)
|    │  └─ IsopackCache Load local isopack......................5,090 ms (1)
|    │     └─ Isopack#initFromPath..............................5,089 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................5,088 ms (4)
|    │           └─ meteorNpm.isPortable........................5,062 ms (49)
|    │              └─ meteorNpm.isPortable.....................4,911 ms (347)
|    │                 └─ meteorNpm.isPortable..................4,623 ms (2674)
|    │                    └─ meteorNpm.isPortable...............3,185 ms (3796)
|    │                       ├─ optimistic lstat                1,593 ms (3796)
|    │                       └─ meteorNpm.isPortable            1,072 ms (1824)
|    └─ _ensurePackageLoaded(static-html).......................1,962 ms (1)
|       └─ IsopackCache Load local isopack......................1,962 ms (1)
|          └─ Isopack#initFromPath..............................1,961 ms (1)
|             └─ bundler.readJsImage............................1,961 ms (1)
|                └─ meteorNpm.rebuildIfNonPortable..............1,935 ms (9)
|                   └─ meteorNpm.isPortable.....................1,861 ms (142)
|                      └─ meteorNpm.isPortable..................1,583 ms (1294)
|                         └─ meteorNpm.isPortable               1,075 ms (1776)
|
| Top leaves:
| other _downloadMissingPackages..........................31,682 ms (1)
| other meteorNpm.rebuildIfNonPortable....................12,572 ms (113)
| other optimistic lstatOrNull.............................9,416 ms (88243)
| other Builder#copyNodeModulesDirectory...................9,324 ms (81)
| files.writeFile..........................................6,993 ms (82443)
| files.stat...............................................6,743 ms (135288)
| other optimistic readFile................................6,493 ms (79202)
| files.readFile...........................................5,993 ms (90506)
| other meteorNpm.isPortable...............................4,888 ms (51651)
| files.lstat..............................................3,146 ms (138570)
| other Builder#_ensureDirectory...........................1,478 ms (4134)
| linker File#computeAssignedVariables.....................1,377 ms (333)
| files.readdir............................................1,301 ms (14031)
| meteorNpm.runNpmCommand....................................933 ms (1)
| files.mkdir................................................922 ms (10869)
| other Isopack#saveToPath...................................440 ms (91)
| files.rm_recursive.........................................273 ms (186)
| files.read.................................................236 ms (5013)
| files.rename...............................................218 ms (3608)
| other JsImage#write........................................148 ms (7)
| getPrelinkedFiles toStringWithSourceMap....................114 ms (69)
| sha1.......................................................109 ms (2713)
| files.realpath.............................................106 ms (628)
|
| (#3) Total: 146,571 ms (ProjectContext prepareProjectForBuild)
|
| (#4) Profiling: Build App                    ... )
| (  Starting your app                         ... )
| wrapped.fs.statSync                                               0 ms (2)
| Build App.................................................1,181,261 ms (1)
| └─ files.withCache........................................1,181,260 ms (1)
|    ├─ compiler.compile(the app)..............................26,110 ms (1)
|    │  └─ files.withCache.....................................26,110 ms (3)
|    │     └─ compileUnibuild (the app)........................26,109 ms (3)
|    │        ├─ Isopack#ensurePluginsInitialized...............8,916 ms (42)
|    │        │  └─ JsImage#load................................8,892 ms (4)
|    │        │     ├─ runJavaScript packages/http.js...........1,068 ms (2)
|    │        │     │  └─ require("/node_modules/meteor/http/httpcall_server.js").1,059 ms (2)
|    │        │     │     └─ require("request")                 1,056 ms (2)
|    │        │     └─ runJavaScript packages/minifier-css.js...4,131 ms (1)
|    │        │        └─ require("/node_modules/meteor/minifier-css/minifier.js").4,052 ms (1)
|    │        │           └─ require("cssnano")                 3,913 ms (1)
|    │        ├─ PackageSource#_findSources....................12,808 ms (3)
|    │        │  └─ files.withCache............................12,808 ms (3)
|    │        │     ├─ files.realpath                           1,031 ms (9706)
|    │        │     ├─ files.readdir                            1,645 ms (19412)
|    │        │     └─ other files.withCache                    9,133 ms
|    │        └─ other compileUnibuild (the app)                3,124 ms
|    ├─ bundler.bundle..makeClientTarget......................823,154 ms (2)
|    │  └─ Target#make........................................823,154 ms (2)
|    │     ├─ Target#_runCompilerPlugins.......................12,719 ms (2)
|    │     │  ├─ Isopack#ensurePluginsInitialized...............1,415 ms (664)
|    │     │  │  └─ JsImage#load                                1,402 ms (2)
|    │     │  ├─ plugin templating-compiler                     1,086 ms (2)
|    │     │  ├─ plugin coffeescript                            1,161 ms (2)
|    │     │  ├─ plugin fourseven:scss                          6,656 ms (2)
|    │     │  └─ plugin static-html.............................1,369 ms (2)
|    │     │     └─ wrapped.fs.readFileSync                     1,197 ms (497)
|    │     ├─ Target#_emitResources...........................802,818 ms (2)
|    │     │  ├─ PackageSourceBatch.computeJsOutputFilesMap...692,148 ms (2)
|    │     │  │  ├─ ImportScanner#_realPath.....................3,260 ms (3560)
|    │     │  │  │  ├─ optimistic lstatOrNull                   1,527 ms (14446)
|    │     │  │  │  └─ other ImportScanner#_realPath            1,386 ms
|    │     │  │  ├─ ImportScanner#scanImports for base64........1,726 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,392 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for ejson.........2,574 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,414 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for diff-sequence 1,011 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for ordered-dict..1,217 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,167 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for tracker.......1,054 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,016 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for minimongo....15,141 ms (2)
|    │     │  │  │  └─ Babel.compile                           14,388 ms (16)
|    │     │  │  ├─ ImportScanner#scanImports for check.........1,815 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,709 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for ddp-common....1,499 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,442 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for socket-stream-client.3,401 ms (2)
|    │     │  │  │  └─ Babel.compile                            3,075 ms (1)
|    │     │  │  ├─ ImportScanner#scanImports for ddp-client....8,939 ms (2)
|    │     │  │  │  └─ Babel.compile                            8,317 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for mongo.........1,752 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,546 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for aldeed:collection2.2,428 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,011 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for reactive-dict.1,377 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,329 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for accounts-base.3,376 ms (2)
|    │     │  │  │  └─ Babel.compile                            3,200 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for aldeed:collection2-core.2,573 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,240 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for practicalmeteor:mocha-core.2,587 ms (2)
|    │     │  │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 1,154 ms (156)
|    │     │  │  │  └─ ImportScanner#_resolve                   1,012 ms (556)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:mocha.7,503 ms (2)
|    │     │  │  │  ├─ Babel.compile                            5,628 ms (18)
|    │     │  │  │  └─ ImportScanner#_resolve                   1,234 ms (216)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:grapher.31,234 ms (2)
|    │     │  │  │  ├─ Babel.compile                           28,272 ms (112)
|    │     │  │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 1,000 ms (120)
|    │     │  │  │  └─ ImportScanner#_resolve...................1,594 ms (313)
|    │     │  │  │     └─ optimistic statOrNull                 1,353 ms (1908)
|    │     │  │  ├─ ImportScanner#scanImports for react-meteor-data.1,624 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,468 ms (6)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:grapher-react.4,072 ms (2)
|    │     │  │  │  └─ Babel.compile                            3,760 ms (20)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:mutations.2,345 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,278 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for std:accounts-ui.14,984 ms (2)
|    │     │  │  │  └─ Babel.compile                           13,966 ms (32)
|    │     │  │  ├─ ImportScanner#scanImports for okgrow:analytics.2,546 ms (2)
|    │     │  │  │  └─ ImportScanner#_resolve                   1,288 ms (266)
|    │     │  │  ├─ ImportScanner#scanImports for the app.....547,555 ms (2)
|    │     │  │  │  ├─ Babel.compile                          425,402 ms (1346)
|    │     │  │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 23,312 ms (7536)
|    │     │  │  │  ├─ ImportScanner#_resolve..................80,079 ms (20620)
|    │     │  │  │  │  ├─ optimistic statOrNull................59,393 ms (196911)
|    │     │  │  │  │  │  ├─ safeWatcher.watch..................7,921 ms (11894)
|    │     │  │  │  │  │  │  ├─ files.stat                      5,459 ms (10517)
|    │     │  │  │  │  │  │  └─ other safeWatcher.watch         2,461 ms
|    │     │  │  │  │  │  ├─ files.stat                        22,279 ms (44784)
|    │     │  │  │  │  │  ├─ files.lstat                        3,289 ms (7200)
|    │     │  │  │  │  │  └─ other optimistic statOrNull       25,904 ms
|    │     │  │  │  │  ├─ optimistic readJsonOrNull             1,518 ms (2041)
|    │     │  │  │  │  └─ other ImportScanner#_resolve         18,074 ms
|    │     │  │  │  ├─ ImportScanner#_realPath..................5,754 ms (6190)
|    │     │  │  │  │  ├─ optimistic lstatOrNull                2,600 ms (32254)
|    │     │  │  │  │  └─ other ImportScanner#_realPath         3,154 ms
|    │     │  │  │  ├─ ImportScanner#_readFile..................5,775 ms (6192)
|    │     │  │  │  │  ├─ optimistic readFile...................3,489 ms (6192)
|    │     │  │  │  │  │  └─ files.readFile                     2,894 ms (3099)
|    │     │  │  │  │  ├─ optimistic hashOrNull                 1,016 ms (6192)
|    │     │  │  │  │  └─ other ImportScanner#_readFile         1,271 ms
|    │     │  │  │  └─ other ImportScanner#scanImports for the app 5,802 ms
|    │     │  │  ├─ ImportScanner#scanMissingModules for the app.4,709 ms (4)
|    │     │  │  │  └─ ImportScanner#_resolve...................3,002 ms (1185)
|    │     │  │  │     └─ optimistic statOrNull                 2,466 ms (5135)
|    │     │  │  ├─ ImportScanner#scanMissingModules for socket-stream-client.6,235 ms (2)
|    │     │  │  │  └─ Babel.compile                            5,879 ms (7)
|    │     │  │  └─ other PackageSourceBatch.computeJsOutputFilesMap 1,036 ms
|    │     │  ├─ PackageSourceBatch#getResources..............109,324 ms (256)
|    │     │  │  └─ PackageSourceBatch#_linkJS................109,250 ms (256)
|    │     │  │     ├─ linker.fullLink.........................97,875 ms (256)
|    │     │  │     │  ├─ linker Module#getPrelinkedFiles......70,248 ms (256)
|    │     │  │     │  │  ├─ linker File#getPrelinkedOutput    36,179 ms (9513)
|    │     │  │     │  │  ├─ getPrelinkedFiles toStringWithSourceMap 31,182 ms (256)
|    │     │  │     │  │  └─ other linker Module#getPrelinkedFiles 2,886 ms
|    │     │  │     │  ├─ linker Module#computeAssignedVariables.24,461 ms (254)
|    │     │  │     │  │  └─ linker File#computeAssignedVariables 24,287 ms (8200)
|    │     │  │     │  └─ other linker.fullLink                 3,163 ms
|    │     │  │     ├─ files.rm_recursive                       1,204 ms (256)
|    │     │  │     └─ other PackageSourceBatch#_linkJS         8,924 ms
|    │     │  └─ other Target#_emitResources                    1,338 ms
|    │     ├─ Target#minifyJs                                   4,953 ms (2)
|    │     └─ ClientTarget#minifyCss............................2,228 ms (2)
|    │        └─ minifyCssFiles.................................2,226 ms (2)
|    │           └─ mergeCss                                    2,167 ms (2)
|    ├─ bundler.bundle..makeServerTarget......................301,644 ms (1)
|    │  └─ Target#make........................................301,643 ms (1)
|    │     └─ Target#_emitResources...........................300,695 ms (1)
|    │        ├─ PackageSourceBatch.computeJsOutputFilesMap...243,141 ms (1)
|    │        │  ├─ ImportScanner#_realPath.....................2,137 ms (1420)
|    │        │  │  └─ optimistic lstatOrNull                   1,329 ms (5118)
|    │        │  ├─ ImportScanner#scanImports for ejson.........1,493 ms (1)
|    │        │  │  └─ Babel.compile                            1,383 ms (2)
|    │        │  ├─ ImportScanner#scanImports for minimongo....10,325 ms (1)
|    │        │  │  └─ Babel.compile                            9,578 ms (8)
|    │        │  ├─ ImportScanner#scanImports for check.........2,866 ms (1)
|    │        │  │  └─ Babel.compile                            2,659 ms (2)
|    │        │  ├─ ImportScanner#scanImports for ddp-client....3,146 ms (1)
|    │        │  │  └─ Babel.compile                            2,905 ms (4)
|    │        │  ├─ ImportScanner#scanImports for webapp........2,325 ms (1)
|    │        │  │  └─ Babel.compile                            2,028 ms (3)
|    │        │  ├─ ImportScanner#scanImports for ddp-server....2,763 ms (1)
|    │        │  │  └─ Babel.compile                            2,585 ms (5)
|    │        │  ├─ ImportScanner#scanImports for mongo.........5,282 ms (1)
|    │        │  │  └─ Babel.compile                            4,926 ms (10)
|    │        │  ├─ ImportScanner#scanImports for shell-server..1,079 ms (1)
|    │        │  │  └─ Babel.compile                            1,032 ms (2)
|    │        │  ├─ ImportScanner#scanImports for aldeed:collection2.1,962 ms (1)
|    │        │  │  └─ Babel.compile                            1,793 ms (1)
|    │        │  ├─ ImportScanner#scanImports for aldeed:collection2-core.1,941 ms (1)
|    │        │  │  └─ Babel.compile                            1,765 ms (1)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:mocha.3,757 ms (1)
|    │        │  │  └─ Babel.compile                            2,723 ms (10)
|    │        │  ├─ ImportScanner#scanImports for accounts-base.3,365 ms (1)
|    │        │  │  └─ Babel.compile                            3,141 ms (5)
|    │        │  ├─ ImportScanner#scanImports for reywood:publish-composite.1,932 ms (1)
|    │        │  │  └─ Babel.compile                            1,704 ms (7)
|    │        │  ├─ ImportScanner#scanImports for herteby:denormalize.2,141 ms (1)
|    │        │  │  └─ Babel.compile                            1,962 ms (4)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:grapher.18,268 ms (1)
|    │        │  │  ├─ Babel.compile                           15,701 ms (76)
|    │        │  │  └─ ImportScanner#_resolve                   1,025 ms (191)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:grapher-react.1,777 ms (1)
|    │        │  │  └─ Babel.compile                            1,379 ms (10)
|    │        │  ├─ ImportScanner#scanImports for accounts-password.1,776 ms (1)
|    │        │  │  └─ Babel.compile                            1,772 ms (2)
|    │        │  ├─ ImportScanner#scanImports for reactive-dict.2,032 ms (1)
|    │        │  │  └─ Babel.compile                            1,888 ms (2)
|    │        │  ├─ ImportScanner#scanImports for std:accounts-ui.5,060 ms (1)
|    │        │  │  └─ Babel.compile                            4,758 ms (17)
|    │        │  ├─ ImportScanner#scanImports for lmieulet:meteor-coverage.4,926 ms (1)
|    │        │  │  └─ Babel.compile                            4,415 ms (20)
|    │        │  ├─ ImportScanner#scanImports for meteortesting:browser-tests 1,031 ms (1)
|    │        │  ├─ ImportScanner#scanImports for the app.....146,068 ms (1)
|    │        │  │  ├─ Babel.compile                          133,668 ms (439)
|    │        │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 4,328 ms (440)
|    │        │  │  ├─ ImportScanner#_resolve...................5,043 ms (1702)
|    │        │  │  │  ├─ optimistic statOrNull                 2,987 ms (14397)
|    │        │  │  │  └─ other ImportScanner#_resolve          1,996 ms
|    │        │  │  └─ other ImportScanner#scanImports for the app 2,717 ms
|    │        │  └─ ImportScanner#scanMissingModules for socket-stream-client.1,510 ms (1)
|    │        │     └─ Babel.compile                            1,439 ms (3)
|    │        └─ PackageSourceBatch#getResources...............57,534 ms (140)
|    │           └─ PackageSourceBatch#_linkJS.................57,531 ms (140)
|    │              ├─ linker.fullLink.........................53,918 ms (140)
|    │              │  ├─ linker Module#getPrelinkedFiles......41,659 ms (140)
|    │              │  │  ├─ linker File#getPrelinkedOutput    21,066 ms (1185)
|    │              │  │  └─ getPrelinkedFiles toStringWithSourceMap 19,945 ms (140)
|    │              │  └─ linker Module#computeAssignedVariables.11,512 ms (139)
|    │              │     └─ linker File#computeAssignedVariables 11,447 ms (746)
|    │              └─ other PackageSourceBatch#_linkJS         3,006 ms
|    └─ bundler writeSiteArchive...............................30,279 ms (1)
|       └─ bundler writeTargetToPath...........................30,169 ms (3)
|          ├─ ClientTarget#write                                3,634 ms (2)
|          └─ ServerTarget#write...............................26,483 ms (1)
|             └─ JsImage#write.................................26,118 ms (1)
|                ├─ meteorNpm.isPortable.......................19,473 ms (39)
|                │  └─ meteorNpm.isPortable....................19,021 ms (1049)
|                │     ├─ optimistic lstat                      1,813 ms (1049)
|                │     └─ meteorNpm.isPortable.................15,255 ms (368)
|                │        └─ meteorNpm.isPortable..............13,954 ms (5970)
|                │           ├─ optimistic lstat                4,458 ms (5970)
|                │           └─ meteorNpm.isPortable............7,755 ms (3213)
|                │              ├─ optimistic lstat             1,723 ms (3213)
|                │              ├─ meteorNpm.isPortable.........4,324 ms (4424)
|                │              │  ├─ optimistic lstat          2,964 ms (4424)
|                │              │  └─ meteorNpm.isPortable      1,009 ms (302)
|                │              └─ other meteorNpm.isPortable   1,020 ms
|                ├─ Builder#copyNodeModulesDirectory............4,997 ms (39)
|                │  ├─ optimistic statOrNull                    1,694 ms (3839)
|                │  └─ other Builder#copyNodeModulesDirectory   1,577 ms
|                └─ other JsImage#write                         1,420 ms
|
| Top leaves:
| Babel.compile..........................................760,534 ms (2367)
| linker File#getPrelinkedOutput..........................57,245 ms (10698)
| getPrelinkedFiles toStringWithSourceMap.................51,127 ms (396)
| ImportScanner#_findImportedModuleIdentifiers............40,455 ms (9035)
| files.stat..............................................37,262 ms (115217)
| linker File#computeAssignedVariables....................35,734 ms (8946)
| other optimistic statOrNull.............................25,904 ms (196911)
| other ImportScanner#_resolve............................20,734 ms (23820)
| other PackageSourceBatch#_linkJS........................11,930 ms (396)
| other files.withCache....................................9,180 ms (7)
| other ImportScanner#scanImports for the app..............8,519 ms (3)
| files.lstat..............................................6,243 ms (33399)
| files.readFile...........................................5,353 ms (8580)
| other ImportScanner#_realPath............................5,208 ms (11170)
| Target#minifyJs..........................................4,953 ms (2)
| other linker.fullLink....................................3,844 ms (396)
| other linker Module#getPrelinkedFiles....................3,535 ms (396)
| other compileUnibuild (the app)..........................3,124 ms (3)
| other meteorNpm.isPortable...............................2,785 ms (15063)
| other safeWatcher.watch..................................2,461 ms (11894)
| ImportScanner#_getAbsModuleId............................2,275 ms (12816)
| files.readdir............................................1,944 ms (20356)
| files.realpath...........................................1,612 ms (12158)
| other Builder#copyNodeModulesDirectory...................1,577 ms (39)
| other PackageSourceBatch.computeJsOutputFilesMap.........1,466 ms (3)
| wrapped.fs.readFileSync..................................1,450 ms (698)
| other JsImage#write......................................1,420 ms (1)
| other Target#_emitResources..............................1,357 ms (3)
| other ImportScanner#_readFile............................1,271 ms (6192)
| files.rm_recursive.......................................1,266 ms (273)
| CssTools.stringifyCss......................................993 ms (1)
| other ImportScanner#scanImports for cultofcoders:grapher...902 ms (3)
| files.writeFile............................................762 ms (1584)
| sha1.......................................................679 ms (8999)
| other optimistic readFile..................................595 ms (6192)
| plugin ecmascript..........................................572 ms (3)
| Isopack#getUnibuildAtArch..................................560 ms (14424)
| composing source maps......................................526 ms (1)
| CssTools.parseCss..........................................385 ms (10)
| other Target#_runCompilerPlugins...........................354 ms (2)
| other ServerTarget#write...................................350 ms (1)
| files.rename...............................................281 ms (1524)
| require("./security.js")...................................281 ms (3)
| safeWatcher.watch..........................................273 ms (2754)
| other ImportScanner#scanMissingModules for the app.........256 ms (4)
| plugin meteor..............................................250 ms (2)
| files.symlink..............................................250 ms (1836)
| other linker Module#computeAssignedVariables...............239 ms (393)
| other ImportScanner#scanImports for cultofcoders:grapher-react.228 ms (3)
| other ImportScanner#scanImports for base64.................226 ms (2)
| CssTools.rewriteCssUrls....................................180 ms (10)
| other plugin static-html...................................173 ms (2)
| other Target#make..........................................168 ms (3)
| other ImportScanner#scanImports for cultofcoders:mocha.....160 ms (3)
| sha512.....................................................136 ms (954)
| other ImportScanner#scanImports for minimongo..............130 ms (3)
| ImportScanner#_realPath....................................105 ms (320)
| other bundler writeSiteArchive.............................102 ms (1)
|
| (#4) Total: 1,181,261 ms (Build App)
|
I20180913-19:01:53.517(0)? | (#1) Profiling: Server startup

@benjamn

This comment has been minimized.

Copy link
Member

benjamn commented Sep 13, 2018

@Floriferous What happens if you build the app in that environment without chromedriver and selenium-webdriver installed? The timings in your profile really don't make much sense, unless the process is completely out of memory and swapping constantly, or accessing the file system is somehow pathologically slow. Just because the host machine has an SSD and 16GB of RAM, the docker container may not be inheriting those benefits.

@Floriferous

This comment has been minimized.

Copy link

Floriferous commented Sep 13, 2018

Yes sorry I forgot to mention I allocated 8 GB of ram to docker as well as all of my cores. Though maybe the circleci CLI reduces that to mimick their own machines? Nevertheless, I added that to make sure this is not a performance allocation issue.

As for chromedriver and selenium, they are required if you choose chrome as the driver for meteortesting:mocha. The tests won’t even start without them.

I could try with another driver?

Also important to note is that on second runs (with circle CI caching), which I can’t simulate with their CLI, this exact same build time is reduced to less than 1 minute. EDIT: I can't replicate this anymore, it's more like 6 minutes

@RobertLowe

This comment has been minimized.

Copy link
Contributor

RobertLowe commented Sep 13, 2018

@Floriferous

| │ │ ├─ ImportScanner#scanImports for the app.....146,068 ms (1)

meteor-node-stubs?

@Floriferous

This comment has been minimized.

Copy link

Floriferous commented Sep 14, 2018

@RobertLowe I am installing meteor-node-stubs indeed, does that have a big impact in your experience?

@Floriferous

This comment has been minimized.

Copy link

Floriferous commented Sep 14, 2018

I just ran a few additional runs with nightmare and chrome. Installed as described here: https://github.com/meteortesting/meteor-mocha#run-client-tests-headless

As you can see it does not seem to have a big effect, so the issue is related to something else.

Other attempts listed below as well..

First, here are my dependencies
{
  "dependencies": {
    "@babel/runtime": "7.0.0-beta.54",
    "@fortawesome/fontawesome-svg-core": "^1.2.0",
    "@fortawesome/pro-light-svg-icons": "^5.1.0-11",
    "@fortawesome/react-fontawesome": "^0.1.1",
    "@material-ui/core": "^1.1.0",
    "@material-ui/icons": "^1.1.0",
    "antd": "^3.8.1",
    "aws-sdk": "^2.244.1",
    "babel-polyfill": "^6.26.0",
    "bcrypt": "2.0.1",
    "btoa": "^1.2.1",
    "classnames": "^2.2.5",
    "core-js": "^2.5.6",
    "faker": "^4.1.0",
    "file-saver": "^1.3.8",
    "indexof": "0.0.1",
    "intl-messageformat": "^2.2.0",
    "intl-relativeformat": "https://github.com/Floriferous/intl-relativeformat/tarball/master",
    "js-search": "^1.4.2",
    "lodash": "^4.17.10",
    "meteor-node-stubs": "^0.4.1",
    "moment": "^2.22.1",
    "moment-duration-format": "^2.2.2",
    "normalize-scss": "^7.0.1",
    "prop-types": "^15.6.1",
    "query-string": "5.1.1",
    "rc-slider": "^8.6.1",
    "react": "^16.3.2",
    "react-autosuggest": "^9.3.4",
    "react-bootstrap": "^0.32.1",
    "react-countup": "^3.0.3",
    "react-dates": "^17.1.1",
    "react-dom": "^16.3.2",
    "react-helmet": "^5.2.0",
    "react-highcharts": "^16.0.2",
    "react-intl": "https://github.com/Floriferous/react-intl/tarball/build",
    "react-loadable": "^5.4.0",
    "react-motion": "^0.5.2",
    "react-places-autocomplete": "^7.1.1",
    "react-redux": "^5.0.7",
    "react-router-dom": "^4.2.2",
    "react-scroll": "^1.7.10",
    "react-scroll-sync": "^0.5.0",
    "react-select": "^1.2.1",
    "react-star-rating-component": "^1.4.1",
    "react-string-replace": "^0.4.1",
    "react-text-mask": "^5.4.1",
    "recompose": "^0.27.1",
    "redux": "^4.0.0",
    "redux-form": "^7.3.0",
    "redux-logger": "^3.0.6",
    "redux-thunk": "^2.3.0",
    "sift": "^6.0.0",
    "simpl-schema": "^1.5.0",
    "text-mask-addons": "^3.7.2",
    "uniforms": "^1.25.0",
    "uniforms-material": "^1.25.0",
    "url-search-params-polyfill": "^4.0.0"
  },
  "devDependencies": {
    "@babel/core": "7.0.0-beta.54",
    "@babel/plugin-proposal-class-properties": "7.0.0-beta.54",
    "@babel/preset-flow": "7.0.0-beta.54",
    "babel-eslint": "^8.2.3",
    "babel-plugin-module-resolver": "^3.1.1",
    "babel-plugin-react-intl": "https://github.com/Floriferous/babel-plugin-react-intl/tarball/master",
    "chai": "^4.1.2",
    "enzyme": "^3.3.0",
    "enzyme-adapter-react-16": "^1.1.1",
    "enzyme-react-adapter-future": "^1.1.3",
    "eslint": "^5.1.0",
    "eslint-config-airbnb": "^17.0.0",
    "eslint-import-resolver-meteor": "^0.4.0",
    "eslint-plugin-flowtype": "^2.49.3",
    "eslint-plugin-import": "^2.12.0",
    "eslint-plugin-jsx-a11y": "^6.0.3",
    "eslint-plugin-meteor": "^5.0.0",
    "eslint-plugin-react": "^7.8.2",
    "flow-bin": "^0.76.0",
    "jsdom": "^11.12.0",
    "mocha": "^5.2.0",
    "mocha-junit-reporter": "^1.17.0",
    "mocha-multi-reporters": "^1.1.7",
    "redux-mock-store": "^1.5.3",
    "sinon": "^6.0.1",
    "start-server-and-test": "^1.7.0"
  },
  "meteor": {
    "mainModule": {
      "client": "client/main.js",
      "server": "server/main.js"
    }
  }
}
With nightmare Total: 1,323,352 ms
meteor npm i nightmare --no-save
meteor npm i
meteor npm run test-CI


> bcrypt@2.0.1 install /home/circleci/app/microservices/app/node_modules/bcrypt
> node-pre-gyp install --fallback-to-build

[bcrypt] Success: "/home/circleci/app/microservices/app/node_modules/bcrypt/lib/binding/bcrypt_lib.node" is installed via remote

> jss@9.8.7 postinstall /home/circleci/app/microservices/app/node_modules/jss
> node -e "console.log('\u001b[35m\u001b[1mLove JSS? You can now support us on open collective:\u001b[22m\u001b[39m\n > \u001b[34mhttps://opencollective.com/jss/donate\u001b[0m')"

Love JSS? You can now support us on open collective:
 > https://opencollective.com/jss/donate

> electron@1.8.8 postinstall /home/circleci/app/microservices/app/node_modules/electron
> node install.js

+ nightmare@3.0.1
added 962 packages from 1556 contributors and audited 5082 packages in 51.65s
found 1 low severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details
npm WARN react-intl@2.3.0 requires a peer of react@^0.14.9 || ^15.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN uniforms@1.25.0 requires a peer of graphql@>=0.8.2 <1.0.0 but none is installed. You must install peer dependencies yourself.

removed 87 packages and audited 5082 packages in 6.441s
found 1 low severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details

> epotek-app@ test-CI /home/circleci/app/microservices/app
> SERVER_TEST_REPORTER=xunit XUNIT_FILE=~/app/results/unit.xml TEST_BROWSER_DRIVER=nightmare meteor test --once --driver-package meteortesting:mocha --settings settings-dev.json

| (#1) Profiling: ProjectContext initializeCatalog
| (  Preparing project                         ... )
| ProjectContext initializeCatalog                                 22 ms (1)
|
| Top leaves:
|
| (#1) Total: 22 ms (ProjectContext initializeCatalog)
|
| (#2) Profiling: ProjectContext resolveConstraints
| (  Selecting package versions                ... )
| ProjectContext resolveConstraints.............................6,471 ms (1)
| └─ _resolveConstraints........................................6,471 ms (1)
|    └─ Select Package Versions.................................5,700 ms (1)
|       ├─ Input#loadFromCatalog                                2,858 ms (1)
|       └─ Solver#getAnswer.....................................2,553 ms (1)
|          └─ generate constraints                              1,189 ms (1)
|
| Top leaves:
| generate constraints.....................................1,189 ms (1)
| sqlite query...............................................836 ms (439)
| minimize conflicts.........................................523 ms (1)
| generate package variables.................................320 ms (1)
| require("./security.js")...................................130 ms (1)
| generate dependency requirements...........................127 ms (1)
| analyze allowed versions...................................116 ms (1)
| pre-solve..................................................103 ms (1)
|
| (#2) Total: 6,471 ms (ProjectContext resolveConstraints)
|
[[[[[ Tests ]]]]]

=> Started proxy.
| (#3) Profiling: ProjectContext prepareProjectForBuild
=> Started MongoDB.
| (  Preparing to build package std:accoun...  ... )
| files.stat                                                        0 ms (1)
| files.readFile                                                    0 ms (1)
| files.readdir                                                     0 ms (1)
| files.writeFile                                                   0 ms (1)
| ProjectContext prepareProjectForBuild.......................101,868 ms (1)
| ├─ _downloadMissingPackages..................................84,026 ms (1)
| │  ├─ Isopack#saveToPath.....................................38,634 ms (91)
| │  │  ├─ linker.prelink.......................................1,174 ms (69)
| │  │  │  └─ linker Module#computeAssignedVariables............1,050 ms (69)
| │  │  │     └─ linker File#computeAssignedVariables           1,047 ms (333)
| │  │  ├─ Builder#copyNodeModulesDirectory....................16,010 ms (29)
| │  │  │  ├─ Builder#_ensureDirectory                          1,778 ms (4790)
| │  │  │  ├─ optimistic lstatOrNull............................3,715 ms (42196)
| │  │  │  │  ├─ optimistic lstat                               1,288 ms (42196)
| │  │  │  │  └─ other optimistic lstatOrNull                   2,415 ms
| │  │  │  ├─ optimistic statOrNull                             2,345 ms (37339)
| │  │  │  ├─ optimistic readFile...............................3,329 ms (37339)
| │  │  │  │  ├─ files.readFile                                 1,145 ms (37339)
| │  │  │  │  └─ other optimistic readFile                      2,184 ms
| │  │  │  ├─ files.writeFile                                   2,215 ms (37339)
| │  │  │  └─ other Builder#copyNodeModulesDirectory            2,384 ms
| │  │  └─ JsImage#write.......................................20,430 ms (7)
| │  │     └─ Builder#copyNodeModulesDirectory.................20,199 ms (52)
| │  │        ├─ Builder#_ensureDirectory                       1,867 ms (4134)
| │  │        ├─ optimistic lstatOrNull.........................5,572 ms (46047)
| │  │        │  ├─ optimistic lstat                            2,018 ms (46047)
| │  │        │  └─ other optimistic lstatOrNull                3,552 ms
| │  │        ├─ optimistic statOrNull                          2,835 ms (41863)
| │  │        ├─ optimistic readFile............................3,787 ms (41863)
| │  │        │  ├─ files.readFile                              1,309 ms (41863)
| │  │        │  └─ other optimistic readFile                   2,478 ms
| │  │        ├─ files.writeFile                                2,624 ms (41863)
| │  │        └─ other Builder#copyNodeModulesDirectory         3,232 ms
| │  ├─ meteorNpm.rebuildIfNonPortable..........................5,406 ms (29)
| │  │  └─ meteorNpm.isPortable.................................5,169 ms (1011)
| │  │     └─ meteorNpm.isPortable..............................4,421 ms (5739)
| │  │        └─ meteorNpm.isPortable...........................3,507 ms (6762)
| │  │           └─ meteorNpm.isPortable                        2,075 ms (7242)
| │  ├─ bundler.readJsImage....................................16,859 ms (7)
| │  │  └─ meteorNpm.rebuildIfNonPortable......................16,731 ms (52)
| │  │     ├─ meteorNpm.isPortable..............................7,378 ms (1061)
| │  │     │  └─ meteorNpm.isPortable...........................6,750 ms (2773)
| │  │     │     └─ meteorNpm.isPortable........................6,309 ms (3573)
| │  │     │        └─ meteorNpm.isPortable.....................5,396 ms (3170)
| │  │     │           └─ meteorNpm.isPortable..................5,027 ms (1858)
| │  │     │              └─ meteorNpm.isPortable...............4,330 ms (1536)
| │  │     │                 └─ meteorNpm.isPortable............3,240 ms (1947)
| │  │     │                    └─ meteorNpm.isPortable.........2,422 ms (1238)
| │  │     │                       └─ meteorNpm.isPortable......1,840 ms (1499)
| │  │     │                          └─ meteorNpm.isPortable   1,210 ms (1438)
| │  │     ├─ meteorNpm.runNpmCommand                           1,485 ms (1)
| │  │     └─ other meteorNpm.rebuildIfNonPortable              7,576 ms
| │  └─ other _downloadMissingPackages                         22,851 ms
| └─ _buildLocalPackages.......................................17,840 ms (1)
|    ├─ _ensurePackageLoaded(coffeescript)......................2,691 ms (1)
|    │  └─ IsopackCache Load local isopack......................2,691 ms (1)
|    │     └─ Isopack#initFromPath..............................2,690 ms (1)
|    │        └─ bundler.readJsImage............................2,689 ms (1)
|    │           └─ meteorNpm.rebuildIfNonPortable..............2,652 ms (8)
|    │              └─ meteorNpm.isPortable.....................2,638 ms (11)
|    │                 └─ meteorNpm.isPortable..................2,615 ms (77)
|    │                    └─ meteorNpm.isPortable...............2,598 ms (54)
|    │                       └─ meteorNpm.isPortable............2,566 ms (143)
|    │                          └─ meteorNpm.isPortable.........2,483 ms (697)
|    │                             └─ meteorNpm.isPortable......2,160 ms (1284)
|    │                                └─ meteorNpm.isPortable...1,798 ms (1947)
|    │                                   └─ meteorNpm.isPortable 1,299 ms (1238)
|    ├─ _ensurePackageLoaded(cultofcoders:grapher)              1,100 ms (1)
|    ├─ _ensurePackageLoaded(cultofcoders:mocha)................2,459 ms (1)
|    │  └─ _ensurePackageLoaded(templating).....................2,302 ms (1)
|    │     └─ _ensurePackageLoaded(templating-runtime)..........2,293 ms (1)
|    │        └─ _ensurePackageLoaded(templating-compiler)......2,291 ms (1)
|    │           └─ IsopackCache Load local isopack.............2,291 ms (1)
|    │              └─ Isopack#initFromPath.....................2,290 ms (1)
|    │                 └─ bundler.readJsImage...................2,290 ms (1)
|    │                    └─ meteorNpm.rebuildIfNonPortable.....2,272 ms (9)
|    │                       └─ meteorNpm.isPortable............2,242 ms (178)
|    │                          └─ meteorNpm.isPortable.........1,992 ms (1402)
|    │                             └─ meteorNpm.isPortable      1,589 ms (1743)
|    ├─ _ensurePackageLoaded(lmieulet:meteor-coverage)..........1,304 ms (1)
|    │  └─ IsopackCache Load local isopack......................1,304 ms (1)
|    │     └─ Isopack#initFromPath..............................1,303 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................1,301 ms (1)
|    │           └─ meteorNpm.isPortable                        1,213 ms (206)
|    ├─ _ensurePackageLoaded(okgrow:analytics)..................3,392 ms (1)
|    │  └─ IsopackCache Load local isopack......................3,392 ms (1)
|    │     └─ Isopack#initFromPath..............................3,391 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................3,390 ms (4)
|    │           └─ meteorNpm.isPortable........................3,370 ms (49)
|    │              └─ meteorNpm.isPortable.....................3,299 ms (347)
|    │                 └─ meteorNpm.isPortable..................3,050 ms (2674)
|    │                    └─ meteorNpm.isPortable               1,900 ms (3796)
|    ├─ _ensurePackageLoaded(static-html).......................2,208 ms (1)
|    │  └─ IsopackCache Load local isopack......................2,208 ms (1)
|    │     └─ Isopack#initFromPath..............................2,207 ms (1)
|    │        └─ bundler.readJsImage............................2,207 ms (1)
|    │           └─ meteorNpm.rebuildIfNonPortable..............2,189 ms (9)
|    │              └─ meteorNpm.isPortable.....................2,159 ms (142)
|    │                 └─ meteorNpm.isPortable..................1,783 ms (1294)
|    │                    └─ meteorNpm.isPortable               1,144 ms (1776)
|    └─ _ensurePackageLoaded(std:accounts-ui)...................1,595 ms (1)
|       └─ IsopackCache Build local isopack.....................1,594 ms (1)
|          └─ compiler.compile(std:accounts-ui).................1,547 ms (1)
|             └─ files.withCache................................1,545 ms (3)
|                └─ compileUnibuild (std:accounts-ui)           1,545 ms (3)
|
| Top leaves:
| other _downloadMissingPackages..........................22,851 ms (1)
| other meteorNpm.rebuildIfNonPortable.....................7,608 ms (112)
| other optimistic lstatOrNull.............................5,968 ms (88243)
| other Builder#copyNodeModulesDirectory...................5,615 ms (81)
| files.writeFile..........................................5,070 ms (82443)
| other optimistic readFile................................4,662 ms (79202)
| files.stat...............................................4,401 ms (135288)
| files.readFile...........................................3,717 ms (90506)
| other meteorNpm.isPortable...............................2,760 ms (42466)
| files.lstat..............................................2,358 ms (138570)
| meteorNpm.runNpmCommand..................................1,485 ms (1)
| linker File#computeAssignedVariables.....................1,047 ms (333)
| files.readdir..............................................903 ms (14031)
| files.mkdir................................................681 ms (10869)
| other Isopack#saveToPath...................................308 ms (91)
| files.rename...............................................143 ms (3608)
| files.rm_recursive.........................................128 ms (186)
|
| (#3) Total: 101,868 ms (ProjectContext prepareProjectForBuild)
|
| (#4) Profiling: Build App                    ... )
| (  Starting your app                         ... )
| wrapped.fs.statSync                                               0 ms (2)
| Build App.................................................1,323,352 ms (1)
| └─ files.withCache........................................1,323,351 ms (1)
|    ├─ compiler.compile(the app)..............................21,237 ms (1)
|    │  └─ files.withCache.....................................21,237 ms (3)
|    │     └─ compileUnibuild (the app)........................21,236 ms (3)
|    │        ├─ Isopack#ensurePluginsInitialized...............6,206 ms (42)
|    │        │  └─ JsImage#load................................6,199 ms (4)
|    │        │     └─ runJavaScript packages/minifier-css.js...4,441 ms (1)
|    │        │        └─ require("/node_modules/meteor/minifier-css/minifier.js").4,409 ms (1)
|    │        │           └─ require("cssnano")                 4,318 ms (1)
|    │        ├─ PackageSource#_findSources....................12,588 ms (3)
|    │        │  └─ files.withCache............................12,587 ms (3)
|    │        │     ├─ files.readdir                            1,077 ms (18844)
|    │        │     └─ other files.withCache                    8,915 ms
|    │        └─ other compileUnibuild (the app)                1,480 ms
|    ├─ bundler.bundle..makeClientTarget......................930,013 ms (2)
|    │  └─ Target#make........................................930,012 ms (2)
|    │     ├─ Target#_runCompilerPlugins.......................18,981 ms (2)
|    │     │  ├─ Isopack#ensurePluginsInitialized...............2,413 ms (664)
|    │     │  │  └─ JsImage#load................................2,409 ms (2)
|    │     │  │     └─ runJavaScript packages/spacebars-compiler.js.1,050 ms (1)
|    │     │  │        └─ Npm.require("uglify-js")              1,029 ms (1)
|    │     │  ├─ plugin coffeescript                            1,020 ms (2)
|    │     │  └─ plugin fourseven:scss                         12,684 ms (2)
|    │     ├─ Target#_emitResources...........................901,261 ms (2)
|    │     │  ├─ PackageSourceBatch.computeJsOutputFilesMap...768,660 ms (2)
|    │     │  │  ├─ ImportScanner#_realPath.....................3,257 ms (3544)
|    │     │  │  │  ├─ optimistic lstatOrNull...................1,814 ms (14316)
|    │     │  │  │  │  └─ optimistic lstat                      1,023 ms (2819)
|    │     │  │  │  └─ other ImportScanner#_realPath            1,059 ms
|    │     │  │  ├─ ImportScanner#scanImports for base64........1,660 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,356 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for ejson.........2,480 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,257 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for ordered-dict..1,154 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,131 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for tracker.......1,125 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,110 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for minimongo....14,616 ms (2)
|    │     │  │  │  └─ Babel.compile                           13,901 ms (16)
|    │     │  │  ├─ ImportScanner#scanImports for check.........1,811 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,704 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for ddp-common....1,417 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,369 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for socket-stream-client.5,043 ms (2)
|    │     │  │  │  └─ Babel.compile                            4,444 ms (1)
|    │     │  │  ├─ ImportScanner#scanImports for ddp-client....7,542 ms (2)
|    │     │  │  │  └─ Babel.compile                            7,008 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for mongo.........1,758 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,640 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for aldeed:collection2.2,508 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,085 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for reactive-dict.1,250 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,195 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for accounts-base.3,530 ms (2)
|    │     │  │  │  └─ Babel.compile                            3,308 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for aldeed:collection2-core.2,543 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,280 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for practicalmeteor:mocha-core.2,773 ms (2)
|    │     │  │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 1,299 ms (156)
|    │     │  │  │  └─ ImportScanner#_resolve                   1,155 ms (556)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:mocha.8,138 ms (2)
|    │     │  │  │  ├─ Babel.compile                            6,077 ms (18)
|    │     │  │  │  └─ ImportScanner#_resolve                   1,409 ms (216)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:grapher.34,386 ms (2)
|    │     │  │  │  ├─ Babel.compile                           30,985 ms (112)
|    │     │  │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 1,117 ms (120)
|    │     │  │  │  └─ ImportScanner#_resolve...................2,000 ms (313)
|    │     │  │  │     └─ optimistic statOrNull                 1,321 ms (1908)
|    │     │  │  ├─ ImportScanner#scanImports for react-meteor-data.1,714 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,516 ms (6)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:grapher-react.3,968 ms (2)
|    │     │  │  │  └─ Babel.compile                            3,615 ms (20)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:mutations.2,400 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,309 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for std:accounts-ui.15,407 ms (2)
|    │     │  │  │  └─ Babel.compile                           14,337 ms (32)
|    │     │  │  ├─ ImportScanner#scanImports for okgrow:analytics.3,354 ms (2)
|    │     │  │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 1,102 ms (10)
|    │     │  │  │  └─ ImportScanner#_resolve...................1,772 ms (266)
|    │     │  │  │     └─ optimistic statOrNull                 1,244 ms (3834)
|    │     │  │  ├─ ImportScanner#scanImports for lmieulet:meteor-coverage.1,203 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,061 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for meteortesting:mocha.1,502 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,384 ms (6)
|    │     │  │  ├─ ImportScanner#scanImports for the app.....617,077 ms (2)
|    │     │  │  │  ├─ Babel.compile                          482,054 ms (1346)
|    │     │  │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 27,437 ms (7534)
|    │     │  │  │  ├─ ImportScanner#_resolve..................87,102 ms (20620)
|    │     │  │  │  │  ├─ optimistic statOrNull................63,338 ms (196919)
|    │     │  │  │  │  │  ├─ safeWatcher.watch..................9,748 ms (11900)
|    │     │  │  │  │  │  │  ├─ files.stat                      6,600 ms (10525)
|    │     │  │  │  │  │  │  └─ other safeWatcher.watch         3,148 ms
|    │     │  │  │  │  │  ├─ files.stat                        23,460 ms (44791)
|    │     │  │  │  │  │  ├─ files.lstat                        4,178 ms (7200)
|    │     │  │  │  │  │  └─ other optimistic statOrNull       25,952 ms
|    │     │  │  │  │  ├─ optimistic readJsonOrNull.............2,291 ms (2039)
|    │     │  │  │  │  │  └─ optimistic readFile................1,567 ms (1014)
|    │     │  │  │  │  │     └─ files.readFile                  1,515 ms (1014)
|    │     │  │  │  │  └─ other ImportScanner#_resolve         20,315 ms
|    │     │  │  │  ├─ ImportScanner#_realPath..................5,889 ms (6188)
|    │     │  │  │  │  ├─ optimistic lstatOrNull                2,276 ms (32250)
|    │     │  │  │  │  └─ other ImportScanner#_realPath         3,613 ms
|    │     │  │  │  ├─ ImportScanner#_readFile..................6,743 ms (6190)
|    │     │  │  │  │  └─ optimistic readFile...................5,004 ms (6190)
|    │     │  │  │  │     └─ files.readFile                     4,360 ms (3098)
|    │     │  │  │  └─ other ImportScanner#scanImports for the app 6,513 ms
|    │     │  │  ├─ ImportScanner#scanMissingModules for the app.4,728 ms (4)
|    │     │  │  │  └─ ImportScanner#_resolve...................2,917 ms (1185)
|    │     │  │  │     └─ optimistic statOrNull                 2,307 ms (5135)
|    │     │  │  ├─ ImportScanner#scanMissingModules for socket-stream-client.6,068 ms (2)
|    │     │  │  │  └─ Babel.compile                            5,701 ms (7)
|    │     │  │  └─ other PackageSourceBatch.computeJsOutputFilesMap 1,303 ms
|    │     │  ├─ PackageSourceBatch#getResources..............128,754 ms (256)
|    │     │  │  └─ PackageSourceBatch#_linkJS................128,547 ms (256)
|    │     │  │     ├─ linker.fullLink........................116,896 ms (256)
|    │     │  │     │  ├─ linker Module#getPrelinkedFiles......85,112 ms (256)
|    │     │  │     │  │  ├─ linker File#getPrelinkedOutput    44,539 ms (9511)
|    │     │  │     │  │  ├─ getPrelinkedFiles toStringWithSourceMap 36,939 ms (256)
|    │     │  │     │  │  └─ other linker Module#getPrelinkedFiles 3,635 ms
|    │     │  │     │  ├─ linker Module#computeAssignedVariables.27,909 ms (254)
|    │     │  │     │  │  └─ linker File#computeAssignedVariables 27,687 ms (8200)
|    │     │  │     │  └─ other linker.fullLink                 3,870 ms
|    │     │  │     ├─ files.rm_recursive                       1,230 ms (256)
|    │     │  │     └─ other PackageSourceBatch#_linkJS         9,065 ms
|    │     │  └─ other Target#_emitResources                    3,809 ms
|    │     ├─ Target#minifyJs                                   5,842 ms (2)
|    │     └─ ClientTarget#minifyCss............................3,362 ms (2)
|    │        └─ minifyCssFiles.................................3,362 ms (2)
|    │           └─ mergeCss....................................3,267 ms (2)
|    │              └─ CssTools.stringifyCss                    1,520 ms (1)
|    ├─ bundler.bundle..makeServerTarget......................337,596 ms (1)
|    │  └─ Target#make........................................337,593 ms (1)
|    │     └─ Target#_emitResources...........................336,492 ms (1)
|    │        ├─ PackageSourceBatch.computeJsOutputFilesMap...284,860 ms (1)
|    │        │  ├─ ImportScanner#_realPath.....................3,323 ms (1420)
|    │        │  │  └─ optimistic lstatOrNull...................2,065 ms (5118)
|    │        │  │     └─ optimistic lstat                      1,280 ms (799)
|    │        │  ├─ ImportScanner#scanImports for ejson.........1,885 ms (1)
|    │        │  │  └─ Babel.compile                            1,804 ms (2)
|    │        │  ├─ ImportScanner#scanImports for minimongo....11,333 ms (1)
|    │        │  │  └─ Babel.compile                           10,681 ms (8)
|    │        │  ├─ ImportScanner#scanImports for check.........1,284 ms (1)
|    │        │  │  └─ Babel.compile                            1,227 ms (2)
|    │        │  ├─ ImportScanner#scanImports for ddp-client....4,693 ms (1)
|    │        │  │  └─ Babel.compile                            4,304 ms (4)
|    │        │  ├─ ImportScanner#scanImports for webapp........2,344 ms (1)
|    │        │  │  └─ Babel.compile                            2,017 ms (3)
|    │        │  ├─ ImportScanner#scanImports for ddp-server....3,351 ms (1)
|    │        │  │  └─ Babel.compile                            3,125 ms (5)
|    │        │  ├─ ImportScanner#scanImports for mongo.........7,672 ms (1)
|    │        │  │  └─ Babel.compile                            7,021 ms (10)
|    │        │  ├─ ImportScanner#scanImports for shell-server..1,350 ms (1)
|    │        │  │  └─ Babel.compile                            1,223 ms (2)
|    │        │  ├─ ImportScanner#scanImports for aldeed:collection2.2,388 ms (1)
|    │        │  │  └─ Babel.compile                            2,097 ms (1)
|    │        │  ├─ ImportScanner#scanImports for aldeed:collection2-core.2,185 ms (1)
|    │        │  │  └─ Babel.compile                            1,944 ms (1)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:mocha.4,765 ms (1)
|    │        │  │  ├─ Babel.compile                            3,308 ms (10)
|    │        │  │  └─ ImportScanner#_resolve                   1,084 ms (69)
|    │        │  ├─ ImportScanner#scanImports for accounts-base.4,028 ms (1)
|    │        │  │  └─ Babel.compile                            3,826 ms (5)
|    │        │  ├─ ImportScanner#scanImports for reywood:publish-composite.2,054 ms (1)
|    │        │  │  └─ Babel.compile                            1,753 ms (7)
|    │        │  ├─ ImportScanner#scanImports for herteby:denormalize.2,619 ms (1)
|    │        │  │  └─ Babel.compile                            2,430 ms (4)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:grapher.21,556 ms (1)
|    │        │  │  ├─ Babel.compile                           19,133 ms (76)
|    │        │  │  └─ ImportScanner#_resolve...................1,266 ms (191)
|    │        │  │     └─ optimistic statOrNull                 1,111 ms (1021)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:grapher-react.2,278 ms (1)
|    │        │  │  └─ Babel.compile                            1,835 ms (10)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:mutations.1,054 ms (1)
|    │        │  │  └─ Babel.compile                            1,034 ms (5)
|    │        │  ├─ ImportScanner#scanImports for accounts-password.2,758 ms (1)
|    │        │  │  └─ Babel.compile                            2,681 ms (2)
|    │        │  ├─ ImportScanner#scanImports for std:accounts-ui.6,017 ms (1)
|    │        │  │  └─ Babel.compile                            5,518 ms (17)
|    │        │  ├─ ImportScanner#scanImports for lmieulet:meteor-coverage.6,440 ms (1)
|    │        │  │  └─ Babel.compile                            5,689 ms (20)
|    │        │  ├─ ImportScanner#scanImports for meteortesting:browser-tests.1,284 ms (1)
|    │        │  │  └─ Babel.compile                            1,102 ms (5)
|    │        │  └─ ImportScanner#scanImports for the app.....171,388 ms (1)
|    │        │     ├─ Babel.compile                          156,558 ms (439)
|    │        │     ├─ ImportScanner#_findImportedModuleIdentifiers 4,687 ms (440)
|    │        │     ├─ ImportScanner#_resolve...................6,599 ms (1702)
|    │        │     │  ├─ optimistic statOrNull.................4,219 ms (14397)
|    │        │     │  │  ├─ files.stat                         1,193 ms (1091)
|    │        │     │  │  └─ other optimistic statOrNull        1,880 ms
|    │        │     │  └─ other ImportScanner#_resolve          2,295 ms
|    │        │     └─ other ImportScanner#scanImports for the app 3,306 ms
|    │        └─ PackageSourceBatch#getResources...............51,611 ms (140)
|    │           └─ PackageSourceBatch#_linkJS.................51,608 ms (140)
|    │              ├─ linker.fullLink.........................48,629 ms (140)
|    │              │  ├─ linker Module#getPrelinkedFiles......38,406 ms (140)
|    │              │  │  ├─ linker File#getPrelinkedOutput    20,846 ms (1180)
|    │              │  │  └─ getPrelinkedFiles toStringWithSourceMap 17,026 ms (140)
|    │              │  └─ linker Module#computeAssignedVariables.9,366 ms (139)
|    │              │     └─ linker File#computeAssignedVariables 9,240 ms (741)
|    │              └─ other PackageSourceBatch#_linkJS         2,407 ms
|    └─ bundler writeSiteArchive...............................34,421 ms (1)
|       └─ bundler writeTargetToPath...........................34,300 ms (3)
|          ├─ ClientTarget#write................................6,325 ms (2)
|          │  ├─ bundler writeFile                              1,516 ms (660)
|          │  └─ other ClientTarget#write                       3,668 ms
|          └─ ServerTarget#write...............................27,956 ms (1)
|             └─ JsImage#write.................................27,592 ms (1)
|                ├─ meteorNpm.isPortable.......................22,181 ms (39)
|                │  └─ meteorNpm.isPortable....................21,614 ms (1049)
|                │     ├─ optimistic lstat......................3,138 ms (1049)
|                │     │  └─ safeWatcher.watch                  2,317 ms (969)
|                │     ├─ optimistic statOrNull                 1,231 ms (1049)
|                │     ├─ optimistic readJsonOrNull             1,070 ms (1085)
|                │     └─ meteorNpm.isPortable.................15,819 ms (368)
|                │        └─ meteorNpm.isPortable..............14,261 ms (5970)
|                │           ├─ optimistic lstat                4,168 ms (5970)
|                │           └─ meteorNpm.isPortable............8,642 ms (3213)
|                │              ├─ optimistic lstat             2,062 ms (3213)
|                │              └─ meteorNpm.isPortable.........4,691 ms (4424)
|                │                 └─ optimistic lstat          3,184 ms (4424)
|                ├─ Builder#copyNodeModulesDirectory............3,599 ms (39)
|                │  ├─ optimistic statOrNull                    1,279 ms (3805)
|                │  └─ other Builder#copyNodeModulesDirectory   1,055 ms
|                └─ other JsImage#write                         1,562 ms
|
| Top leaves:
| Babel.compile..........................................858,807 ms (2367)
| linker File#getPrelinkedOutput..........................65,385 ms (10691)
| getPrelinkedFiles toStringWithSourceMap.................53,964 ms (396)
| ImportScanner#_findImportedModuleIdentifiers............45,958 ms (9033)
| files.stat..............................................42,684 ms (114549)
| linker File#computeAssignedVariables....................36,927 ms (8941)
| other optimistic statOrNull.............................27,833 ms (211316)
| other ImportScanner#_resolve............................24,320 ms (24277)
| other PackageSourceBatch#_linkJS........................11,471 ms (396)
| other ImportScanner#scanImports for the app..............9,819 ms (3)
| files.lstat..............................................9,167 ms (33358)
| other files.withCache....................................8,974 ms (7)
| files.readFile...........................................7,972 ms (8373)
| Target#minifyJs..........................................5,842 ms (2)
| other ImportScanner#_realPath............................5,669 ms (11152)
| other linker.fullLink....................................4,726 ms (396)
| other linker Module#getPrelinkedFiles....................4,169 ms (396)
| other Target#_emitResources..............................3,829 ms (3)
| other ClientTarget#write.................................3,668 ms (2)
| other safeWatcher.watch..................................3,148 ms (11900)
| other meteorNpm.isPortable...............................2,538 ms (15063)
| ImportScanner#_getAbsModuleId............................1,827 ms (12793)
| files.realpath...........................................1,737 ms (11872)
| other PackageSourceBatch.computeJsOutputFilesMap.........1,712 ms (3)
| other JsImage#write......................................1,562 ms (1)
| CssTools.stringifyCss....................................1,520 ms (1)
| other compileUnibuild (the app)..........................1,480 ms (3)
| files.readdir............................................1,349 ms (19788)
| files.rm_recursive.......................................1,274 ms (273)
| other optimistic lstatOrNull.............................1,178 ms (19434)
| other Builder#copyNodeModulesDirectory...................1,055 ms (39)
| files.writeFile............................................984 ms (1582)
| other ImportScanner#_readFile..............................975 ms (6190)
| composing source maps......................................755 ms (1)
| other ImportScanner#scanImports for cultofcoders:grapher...717 ms (3)
| other optimistic readFile..................................695 ms (7204)
| plugin ecmascript..........................................695 ms (3)
| other Target#_runCompilerPlugins...........................679 ms (2)
| Isopack#getUnibuildAtArch..................................647 ms (14424)
| other optimistic lstat.....................................571 ms (1049)
| other optimistic readJsonOrNull............................536 ms (2039)
| sha1.......................................................474 ms (8792)
| plugin meteor..............................................452 ms (2)
| CssTools.parseCss..........................................437 ms (10)
| safeWatcher.watch..........................................388 ms (2802)
| files.rename...............................................376 ms (1522)
| wrapped.fs.readFileSync....................................361 ms (318)
| other linker Module#computeAssignedVariables...............348 ms (393)
| other ServerTarget#write...................................343 ms (1)
| other mergeCss.............................................335 ms (2)
| sha512.....................................................317 ms (952)
| CssTools.rewriteCssUrls....................................217 ms (10)
| other PackageSourceBatch#getResources......................210 ms (396)
| other ImportScanner#scanImports for std:accounts-ui........208 ms (3)
| other ImportScanner#scanImports for base64.................205 ms (2)
| other ImportScanner#scanMissingModules for the app.........204 ms (4)
| other Target#make..........................................184 ms (3)
| other ImportScanner#scanImports for cultofcoders:mocha.....173 ms (3)
| Target#rewriteSourceMaps...................................162 ms (3)
| other ImportScanner#scanImports for cultofcoders:grapher-react.160 ms (3)
| files.symlink..............................................156 ms (1818)
| require("./security.js")...................................144 ms (3)
| runJavaScript packages/html-tools.js.......................133 ms (2)
| other ImportScanner#scanImports for minimongo..............133 ms (3)
| other ImportScanner#scanImports for mongo..................128 ms (3)
| optimistic readFile........................................125 ms (4805)
|
| (#4) Total: 1,323,352 ms (Build App)
With chrome Total: 1,479,926 ms
meteor npm i selenium-webdriver@3.6.0 chromedriver@2.37.0 --no-save
# meteor npm i nightmare --no-save
meteor npm i
meteor npm run test-CI


> bcrypt@2.0.1 install /home/circleci/app/microservices/app/node_modules/bcrypt
> node-pre-gyp install --fallback-to-build

[bcrypt] Success: "/home/circleci/app/microservices/app/node_modules/bcrypt/lib/binding/bcrypt_lib.node" is installed via remote

> chromedriver@2.37.0 install /home/circleci/app/microservices/app/node_modules/chromedriver
> node install.js

Downloading https://chromedriver.storage.googleapis.com/2.37/chromedriver_linux64.zip
Saving to /tmp/chromedriver/chromedriver_linux64.zip
Received 781K...
Received 1568K...
Received 2352K...
Received 3136K...
Received 3632K total.
Extracting zip contents
Copying to target path /home/circleci/app/microservices/app/node_modules/chromedriver/lib/chromedriver
Fixing file permissions
Done. ChromeDriver binary available at /home/circleci/app/microservices/app/node_modules/chromedriver/lib/chromedriver/chromedriver

> jss@9.8.7 postinstall /home/circleci/app/microservices/app/node_modules/jss
> node -e "console.log('\u001b[35m\u001b[1mLove JSS? You can now support us on open collective:\u001b[22m\u001b[39m\n > \u001b[34mhttps://opencollective.com/jss/donate\u001b[0m')"

Love JSS? You can now support us on open collective:
 > https://opencollective.com/jss/donate
+ chromedriver@2.37.0
+ selenium-webdriver@3.6.0
added 901 packages from 1549 contributors and audited 5082 packages in 32.976s
found 1 low severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details
npm WARN react-intl@2.3.0 requires a peer of react@^0.14.9 || ^15.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN uniforms@1.25.0 requires a peer of graphql@>=0.8.2 <1.0.0 but none is installed. You must install peer dependencies yourself.

removed 26 packages and audited 5082 packages in 6.841s
found 1 low severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details

> epotek-app@ test-CI /home/circleci/app/microservices/app
> SERVER_TEST_REPORTER=xunit XUNIT_FILE=~/app/results/unit.xml TEST_BROWSER_DRIVER=chrome meteor test --once --driver-package meteortesting:mocha --settings settings-dev.json

| (#1) Profiling: ProjectContext initializeCatalog
| (  Preparing project                         ... )
| ProjectContext initializeCatalog                                 36 ms (1)
|
| Top leaves:
|
| (#1) Total: 36 ms (ProjectContext initializeCatalog)
|
| (#2) Profiling: ProjectContext resolveConstraints
| (  Selecting package versions                ... )
| ProjectContext resolveConstraints............................13,396 ms (1)
| └─ _resolveConstraints.......................................13,396 ms (1)
|    └─ Select Package Versions................................12,355 ms (1)
|       ├─ Input#loadFromCatalog................................9,388 ms (1)
|       │  ├─ sqlite query                                      7,147 ms (290)
|       │  └─ other Input#loadFromCatalog                       2,242 ms
|       └─ Solver#getAnswer.....................................2,615 ms (1)
|          └─ generate constraints                              1,206 ms (1)
|
| Top leaves:
| sqlite query.............................................7,308 ms (439)
| other Input#loadFromCatalog..............................2,242 ms (1)
| generate constraints.....................................1,206 ms (1)
| minimize conflicts.........................................505 ms (1)
| new Logic.Solver (MiniSat start-up)........................197 ms (1)
| require("./security.js")...................................172 ms (1)
| generate package variables.................................172 ms (1)
| generate dependency requirements...........................118 ms (1)
| pre-solve..................................................115 ms (1)
|
| (#2) Total: 13,396 ms (ProjectContext resolveConstraints)
|
[[[[[ Tests ]]]]]

=> Started proxy.
| (#3) Profiling: ProjectContext prepareProjectForBuild
=> Started MongoDB.
| (  Preparing to build package std:accoun...  ... )
| files.stat                                                        0 ms (1)
| files.readFile                                                    0 ms (1)
| files.readdir                                                     0 ms (1)
| files.writeFile                                                   0 ms (1)
| ProjectContext prepareProjectForBuild.......................143,406 ms (1)
| ├─ _downloadMissingPackages.................................118,222 ms (1)
| │  ├─ Isopack#saveToPath.....................................60,171 ms (91)
| │  │  ├─ linker.prelink.......................................1,578 ms (69)
| │  │  │  └─ linker Module#computeAssignedVariables............1,367 ms (69)
| │  │  │     └─ linker File#computeAssignedVariables           1,362 ms (333)
| │  │  ├─ Builder#copyNodeModulesDirectory....................23,529 ms (29)
| │  │  │  ├─ Builder#_ensureDirectory..........................2,810 ms (4790)
| │  │  │  │  ├─ files.stat                                     1,087 ms (14460)
| │  │  │  │  └─ other Builder#_ensureDirectory                 1,314 ms
| │  │  │  ├─ optimistic lstatOrNull............................6,160 ms (42196)
| │  │  │  │  ├─ optimistic lstat                               2,233 ms (42196)
| │  │  │  │  └─ other optimistic lstatOrNull                   3,911 ms
| │  │  │  ├─ optimistic statOrNull                             3,039 ms (37339)
| │  │  │  ├─ optimistic readFile...............................4,377 ms (37339)
| │  │  │  │  ├─ files.readFile                                 1,747 ms (37339)
| │  │  │  │  └─ other optimistic readFile                      2,630 ms
| │  │  │  ├─ files.writeFile                                   3,044 ms (37339)
| │  │  │  └─ other Builder#copyNodeModulesDirectory            3,683 ms
| │  │  └─ JsImage#write.......................................33,667 ms (7)
| │  │     └─ Builder#copyNodeModulesDirectory.................33,249 ms (52)
| │  │        ├─ Builder#_ensureDirectory.......................2,750 ms (4134)
| │  │        │  ├─ files.stat                                  1,061 ms (12612)
| │  │        │  └─ other Builder#_ensureDirectory              1,291 ms
| │  │        ├─ optimistic lstatOrNull.........................9,762 ms (46047)
| │  │        │  ├─ optimistic lstat                            3,688 ms (46047)
| │  │        │  └─ other optimistic lstatOrNull                6,071 ms
| │  │        ├─ optimistic statOrNull..........................4,987 ms (41863)
| │  │        │  ├─ files.stat                                  1,027 ms (40528)
| │  │        │  └─ other optimistic statOrNull                 3,961 ms
| │  │        ├─ optimistic readFile............................5,982 ms (41863)
| │  │        │  ├─ files.readFile                              2,320 ms (41863)
| │  │        │  └─ other optimistic readFile                   3,662 ms
| │  │        ├─ files.writeFile                                3,786 ms (41863)
| │  │        └─ other Builder#copyNodeModulesDirectory         5,365 ms
| │  ├─ meteorNpm.rebuildIfNonPortable..........................8,704 ms (29)
| │  │  └─ meteorNpm.isPortable.................................8,261 ms (1011)
| │  │     └─ meteorNpm.isPortable..............................7,014 ms (5739)
| │  │        └─ meteorNpm.isPortable...........................5,671 ms (6762)
| │  │           └─ meteorNpm.isPortable........................3,578 ms (7242)
| │  │              ├─ optimistic lstat                         1,422 ms (7242)
| │  │              └─ meteorNpm.isPortable                     1,295 ms (3267)
| │  ├─ bundler.readJsImage....................................20,327 ms (7)
| │  │  └─ meteorNpm.rebuildIfNonPortable......................20,151 ms (52)
| │  │     ├─ meteorNpm.isPortable..............................8,336 ms (1061)
| │  │     │  └─ meteorNpm.isPortable...........................7,548 ms (2773)
| │  │     │     └─ meteorNpm.isPortable........................6,928 ms (3573)
| │  │     │        └─ meteorNpm.isPortable.....................6,409 ms (3170)
| │  │     │           └─ meteorNpm.isPortable..................5,953 ms (1858)
| │  │     │              └─ meteorNpm.isPortable...............5,271 ms (1536)
| │  │     │                 └─ meteorNpm.isPortable............4,451 ms (1947)
| │  │     │                    └─ meteorNpm.isPortable.........3,433 ms (1238)
| │  │     │                       └─ meteorNpm.isPortable......2,320 ms (1499)
| │  │     │                          └─ meteorNpm.isPortable   1,396 ms (1438)
| │  │     ├─ meteorNpm.runNpmCommand                           1,115 ms (1)
| │  │     └─ other meteorNpm.rebuildIfNonPortable             10,274 ms
| │  └─ other _downloadMissingPackages                         28,360 ms
| └─ _buildLocalPackages.......................................25,183 ms (1)
|    ├─ _ensurePackageLoaded(accounts-base)                     1,101 ms (1)
|    ├─ _ensurePackageLoaded(coffeescript)......................3,682 ms (1)
|    │  └─ IsopackCache Load local isopack......................3,682 ms (1)
|    │     └─ Isopack#initFromPath..............................3,681 ms (1)
|    │        └─ bundler.readJsImage............................3,679 ms (1)
|    │           └─ meteorNpm.rebuildIfNonPortable..............3,651 ms (8)
|    │              └─ meteorNpm.isPortable.....................3,648 ms (11)
|    │                 └─ meteorNpm.isPortable..................3,628 ms (77)
|    │                    └─ meteorNpm.isPortable...............3,600 ms (54)
|    │                       └─ meteorNpm.isPortable............3,544 ms (143)
|    │                          └─ meteorNpm.isPortable.........3,447 ms (697)
|    │                             └─ meteorNpm.isPortable......3,134 ms (1284)
|    │                                └─ meteorNpm.isPortable...2,777 ms (1947)
|    │                                   └─ meteorNpm.isPortable.1,958 ms (1238)
|    │                                      └─ meteorNpm.isPortable 1,268 ms (1499)
|    ├─ _ensurePackageLoaded(cultofcoders:grapher)..............1,498 ms (1)
|    │  └─ _ensurePackageLoaded(matb33:collection-hooks)........1,053 ms (1)
|    │     └─ IsopackCache Load local isopack...................1,053 ms (1)
|    │        └─ Isopack#initFromPath...........................1,046 ms (1)
|    │           └─ meteorNpm.rebuildIfNonPortable              1,036 ms (1)
|    ├─ _ensurePackageLoaded(cultofcoders:mocha)................2,088 ms (1)
|    │  └─ _ensurePackageLoaded(templating).....................1,753 ms (1)
|    │     └─ _ensurePackageLoaded(templating-runtime)..........1,750 ms (1)
|    │        └─ _ensurePackageLoaded(templating-compiler)......1,740 ms (1)
|    │           └─ IsopackCache Load local isopack.............1,740 ms (1)
|    │              └─ Isopack#initFromPath.....................1,740 ms (1)
|    │                 └─ bundler.readJsImage...................1,739 ms (1)
|    │                    └─ meteorNpm.rebuildIfNonPortable.....1,700 ms (9)
|    │                       └─ meteorNpm.isPortable............1,636 ms (178)
|    │                          └─ meteorNpm.isPortable         1,274 ms (1402)
|    ├─ _ensurePackageLoaded(fortawesome:fontawesome)...........1,478 ms (1)
|    │  └─ IsopackCache Load local isopack......................1,478 ms (1)
|    │     └─ Isopack#initFromPath..............................1,477 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................1,459 ms (1)
|    │           └─ meteorNpm.isPortable                        1,325 ms (272)
|    ├─ _ensurePackageLoaded(lmieulet:meteor-coverage)..........3,654 ms (1)
|    │  └─ IsopackCache Load local isopack......................3,654 ms (1)
|    │     └─ Isopack#initFromPath..............................3,085 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................3,080 ms (1)
|    │           └─ meteorNpm.isPortable........................2,905 ms (206)
|    │              └─ meteorNpm.isPortable.....................2,064 ms (1615)
|    │                 └─ meteorNpm.isPortable                  1,365 ms (1325)
|    ├─ _ensurePackageLoaded(meteorhacks:kadira)................1,094 ms (1)
|    │  └─ IsopackCache Load local isopack......................1,086 ms (1)
|    │     └─ Isopack#initFromPath..............................1,085 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................1,053 ms (1)
|    │           └─ meteorNpm.isPortable                        1,025 ms (68)
|    ├─ _ensurePackageLoaded(okgrow:analytics)..................4,037 ms (1)
|    │  └─ IsopackCache Load local isopack......................4,037 ms (1)
|    │     └─ Isopack#initFromPath..............................4,036 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................4,034 ms (4)
|    │           └─ meteorNpm.isPortable........................4,006 ms (49)
|    │              └─ meteorNpm.isPortable.....................3,902 ms (347)
|    │                 └─ meteorNpm.isPortable..................3,584 ms (2674)
|    │                    └─ meteorNpm.isPortable               2,227 ms (3796)
|    ├─ _ensurePackageLoaded(static-html).......................2,215 ms (1)
|    │  └─ IsopackCache Load local isopack......................2,215 ms (1)
|    │     └─ Isopack#initFromPath..............................2,214 ms (1)
|    │        └─ bundler.readJsImage............................2,214 ms (1)
|    │           └─ meteorNpm.rebuildIfNonPortable..............2,187 ms (9)
|    │              └─ meteorNpm.isPortable.....................2,121 ms (142)
|    │                 └─ meteorNpm.isPortable..................1,807 ms (1294)
|    │                    └─ meteorNpm.isPortable               1,208 ms (1776)
|    └─ _ensurePackageLoaded(std:accounts-ui)...................1,749 ms (1)
|       └─ IsopackCache Build local isopack.....................1,748 ms (1)
|          └─ compiler.compile(std:accounts-ui).................1,700 ms (1)
|             └─ files.withCache................................1,692 ms (3)
|                └─ compileUnibuild (std:accounts-ui)           1,692 ms (3)
|
| Top leaves:
| other _downloadMissingPackages..........................28,360 ms (1)
| other meteorNpm.rebuildIfNonPortable....................10,375 ms (114)
| other optimistic lstatOrNull.............................9,982 ms (88243)
| other Builder#copyNodeModulesDirectory...................9,048 ms (81)
| files.readFile...........................................7,235 ms (90506)
| files.writeFile..........................................7,128 ms (82443)
| files.stat...............................................6,744 ms (135288)
| other optimistic readFile................................6,292 ms (79202)
| other meteorNpm.isPortable...............................4,306 ms (51365)
| other optimistic statOrNull..............................3,961 ms (41863)
| files.lstat..............................................3,241 ms (138570)
| other Builder#_ensureDirectory...........................2,604 ms (8924)
| files.readdir............................................1,416 ms (14031)
| linker File#computeAssignedVariables.....................1,362 ms (333)
| meteorNpm.runNpmCommand..................................1,115 ms (1)
| files.mkdir..............................................1,053 ms (10869)
| files.read.................................................924 ms (5013)
| other IsopackCache Load local isopack......................571 ms (8)
| other Isopack#saveToPath...................................426 ms (91)
| sqlite query...............................................299 ms (91)
| files.rm_recursive.........................................240 ms (186)
| files.realpath.............................................179 ms (628)
| files.rename...............................................177 ms (3608)
| getPrelinkedFiles toStringWithSourceMap....................156 ms (69)
| files.open.................................................152 ms (5013)
| other JsImage#write........................................142 ms (7)
| sha1.......................................................112 ms (2713)
|
| (#3) Total: 143,407 ms (ProjectContext prepareProjectForBuild)
|
| (#4) Profiling: Build App                    ... )
| (  Starting your app                         ... )
| wrapped.fs.statSync                                               0 ms (2)
| Build App.................................................1,479,926 ms (1)
| └─ files.withCache........................................1,479,926 ms (1)
|    ├─ compiler.compile(the app)..............................27,939 ms (1)
|    │  └─ files.withCache.....................................27,939 ms (3)
|    │     └─ compileUnibuild (the app)........................27,939 ms (3)
|    │        ├─ Isopack#ensurePluginsInitialized...............7,411 ms (42)
|    │        │  └─ JsImage#load................................7,408 ms (4)
|    │        │     └─ runJavaScript packages/minifier-css.js...4,833 ms (1)
|    │        │        └─ require("/node_modules/meteor/minifier-css/minifier.js").4,783 ms (1)
|    │        │           └─ require("cssnano")                 4,586 ms (1)
|    │        ├─ PackageSource#_findSources....................13,722 ms (3)
|    │        │  └─ files.withCache............................13,721 ms (3)
|    │        │     ├─ files.realpath                           1,037 ms (9422)
|    │        │     ├─ files.readdir                            1,848 ms (18844)
|    │        │     ├─ files.stat                               1,173 ms (37598)
|    │        │     └─ other files.withCache                    9,426 ms
|    │        ├─ optimistic readFile                            1,064 ms (3468)
|    │        └─ other compileUnibuild (the app)                5,440 ms
|    ├─ bundler.bundle..makeClientTarget....................1,046,702 ms (2)
|    │  └─ Target#make......................................1,046,701 ms (2)
|    │     ├─ Target#_runCompilerPlugins.......................31,091 ms (2)
|    │     │  ├─ Isopack#ensurePluginsInitialized...............1,962 ms (664)
|    │     │  │  └─ JsImage#load                                1,958 ms (2)
|    │     │  ├─ plugin templating-compiler                     1,290 ms (2)
|    │     │  ├─ plugin coffeescript                            1,419 ms (2)
|    │     │  └─ plugin fourseven:scss                         24,720 ms (2)
|    │     ├─ Target#_emitResources.........................1,006,514 ms (2)
|    │     │  ├─ PackageSourceBatch.computeJsOutputFilesMap...878,843 ms (2)
|    │     │  │  ├─ ImportScanner#_realPath.....................4,160 ms (3544)
|    │     │  │  │  ├─ optimistic lstatOrNull...................2,362 ms (14316)
|    │     │  │  │  │  └─ optimistic lstat                      1,295 ms (3018)
|    │     │  │  │  └─ other ImportScanner#_realPath            1,325 ms
|    │     │  │  ├─ ImportScanner#scanImports for base64........3,543 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,958 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for ejson.........3,730 ms (2)
|    │     │  │  │  └─ Babel.compile                            3,491 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for diff-sequence.1,216 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,169 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for ordered-dict..1,590 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,509 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for tracker.......1,241 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,236 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for minimongo....19,380 ms (2)
|    │     │  │  │  └─ Babel.compile                           18,313 ms (16)
|    │     │  │  ├─ ImportScanner#scanImports for check.........2,519 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,363 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for ddp-common....2,027 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,921 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for socket-stream-client.4,506 ms (2)
|    │     │  │  │  └─ Babel.compile                            4,057 ms (1)
|    │     │  │  ├─ ImportScanner#scanImports for ddp-client...10,308 ms (2)
|    │     │  │  │  └─ Babel.compile                            9,470 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for allow-deny....2,023 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,992 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for mongo.........3,447 ms (2)
|    │     │  │  │  └─ Babel.compile                            3,263 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for aldeed:collection2.3,088 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,498 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for reactive-dict.1,549 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,437 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for accounts-base.3,692 ms (2)
|    │     │  │  │  └─ Babel.compile                            3,486 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for aldeed:collection2-core.2,483 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,086 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for practicalmeteor:mocha-core.5,221 ms (2)
|    │     │  │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 3,184 ms (156)
|    │     │  │  │  └─ ImportScanner#_resolve...................1,648 ms (556)
|    │     │  │  │     └─ optimistic statOrNull                 1,010 ms (2986)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:mocha.6,185 ms (2)
|    │     │  │  │  ├─ Babel.compile                            3,946 ms (18)
|    │     │  │  │  └─ ImportScanner#_resolve...................1,696 ms (216)
|    │     │  │  │     └─ optimistic statOrNull                 1,273 ms (2768)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:grapher.32,937 ms (2)
|    │     │  │  │  ├─ Babel.compile                           29,789 ms (112)
|    │     │  │  │  └─ ImportScanner#_resolve...................2,097 ms (313)
|    │     │  │  │     └─ optimistic statOrNull                 1,723 ms (1908)
|    │     │  │  ├─ ImportScanner#scanImports for react-meteor-data.1,546 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,391 ms (6)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:grapher-react.3,974 ms (2)
|    │     │  │  │  └─ Babel.compile                            3,398 ms (20)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:mutations.2,274 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,132 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for std:accounts-ui.14,163 ms (2)
|    │     │  │  │  └─ Babel.compile                           13,222 ms (32)
|    │     │  │  ├─ ImportScanner#scanImports for okgrow:analytics.6,205 ms (2)
|    │     │  │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 1,391 ms (10)
|    │     │  │  │  └─ ImportScanner#_resolve...................4,113 ms (266)
|    │     │  │  │     └─ optimistic statOrNull                 3,211 ms (3834)
|    │     │  │  ├─ ImportScanner#scanImports for meteortesting:mocha.1,811 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,741 ms (6)
|    │     │  │  ├─ ImportScanner#scanImports for the app.....709,218 ms (2)
|    │     │  │  │  ├─ optimistic statOrNull....................1,525 ms (7537)
|    │     │  │  │  │  └─ files.stat                            1,108 ms (427)
|    │     │  │  │  ├─ Babel.compile                          547,123 ms (1346)
|    │     │  │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 31,692 ms (7534)
|    │     │  │  │  ├─ ImportScanner#_resolve.................106,624 ms (20620)
|    │     │  │  │  │  ├─ optimistic statOrNull................78,696 ms (196919)
|    │     │  │  │  │  │  ├─ safeWatcher.watch.................10,762 ms (13174)
|    │     │  │  │  │  │  │  ├─ files.stat                      5,954 ms (10525)
|    │     │  │  │  │  │  │  └─ other safeWatcher.watch         4,809 ms
|    │     │  │  │  │  │  ├─ files.stat                        32,048 ms (49613)
|    │     │  │  │  │  │  ├─ files.lstat                        4,095 ms (7236)
|    │     │  │  │  │  │  └─ other optimistic statOrNull       31,790 ms
|    │     │  │  │  │  ├─ optimistic readJsonOrNull.............4,097 ms (2039)
|    │     │  │  │  │  │  └─ optimistic readFile................2,971 ms (1553)
|    │     │  │  │  │  │     └─ files.readFile                  2,688 ms (1553)
|    │     │  │  │  │  └─ other ImportScanner#_resolve         22,482 ms
|    │     │  │  │  ├─ ImportScanner#_realPath..................5,849 ms (6188)
|    │     │  │  │  │  ├─ optimistic lstatOrNull                2,621 ms (32250)
|    │     │  │  │  │  └─ other ImportScanner#_realPath         3,224 ms
|    │     │  │  │  ├─ ImportScanner#_readFile..................6,711 ms (6190)
|    │     │  │  │  │  ├─ optimistic readFile...................3,706 ms (6190)
|    │     │  │  │  │  │  └─ files.readFile                     2,942 ms (3098)
|    │     │  │  │  │  ├─ optimistic hashOrNull                 1,265 ms (6190)
|    │     │  │  │  │  └─ other ImportScanner#_readFile         1,740 ms
|    │     │  │  │  └─ other ImportScanner#scanImports for the app 8,940 ms
|    │     │  │  ├─ ImportScanner#scanMissingModules for the app.3,798 ms (4)
|    │     │  │  │  └─ ImportScanner#_resolve...................2,355 ms (1185)
|    │     │  │  │     └─ optimistic statOrNull                 1,669 ms (5135)
|    │     │  │  ├─ ImportScanner#scanMissingModules for socket-stream-client.6,007 ms (2)
|    │     │  │  │  └─ Babel.compile                            5,526 ms (7)
|    │     │  │  └─ other PackageSourceBatch.computeJsOutputFilesMap 1,461 ms
|    │     │  ├─ PackageSourceBatch#getResources..............126,188 ms (256)
|    │     │  │  └─ PackageSourceBatch#_linkJS................126,154 ms (256)
|    │     │  │     ├─ linker.fullLink........................108,193 ms (256)
|    │     │  │     │  ├─ linker Module#getPrelinkedFiles......76,419 ms (256)
|    │     │  │     │  │  ├─ linker File#getPrelinkedOutput    36,736 ms (9511)
|    │     │  │     │  │  ├─ getPrelinkedFiles toStringWithSourceMap 35,662 ms (256)
|    │     │  │     │  │  └─ other linker Module#getPrelinkedFiles 4,022 ms
|    │     │  │     │  ├─ linker Module#computeAssignedVariables.27,796 ms (254)
|    │     │  │     │  │  └─ linker File#computeAssignedVariables 27,217 ms (8200)
|    │     │  │     │  └─ other linker.fullLink                 3,973 ms
|    │     │  │     ├─ files.rm_recursive                       1,135 ms (256)
|    │     │  │     └─ other PackageSourceBatch#_linkJS        15,170 ms
|    │     │  └─ other Target#_emitResources                    1,473 ms
|    │     ├─ Target#minifyJs                                   5,784 ms (2)
|    │     └─ ClientTarget#minifyCss............................2,863 ms (2)
|    │        └─ minifyCssFiles.................................2,861 ms (2)
|    │           └─ mergeCss....................................2,742 ms (2)
|    │              └─ CssTools.stringifyCss                    1,214 ms (1)
|    ├─ bundler.bundle..makeServerTarget......................384,561 ms (1)
|    │  └─ Target#make........................................384,559 ms (1)
|    │     └─ Target#_emitResources...........................383,585 ms (1)
|    │        ├─ PackageSourceBatch.computeJsOutputFilesMap...314,424 ms (1)
|    │        │  ├─ ImportScanner#_realPath.....................3,325 ms (1420)
|    │        │  │  └─ optimistic lstatOrNull...................1,801 ms (5118)
|    │        │  │     └─ optimistic lstat                      1,219 ms (799)
|    │        │  ├─ ImportScanner#scanImports for ejson.........1,406 ms (1)
|    │        │  │  └─ Babel.compile                            1,276 ms (2)
|    │        │  ├─ ImportScanner#scanImports for minimongo.....9,043 ms (1)
|    │        │  │  └─ Babel.compile                            8,430 ms (8)
|    │        │  ├─ ImportScanner#scanImports for check         1,006 ms (1)
|    │        │  ├─ ImportScanner#scanImports for ddp-client....6,681 ms (1)
|    │        │  │  └─ Babel.compile                            6,177 ms (4)
|    │        │  ├─ ImportScanner#scanImports for boilerplate-generator 1,082 ms (1)
|    │        │  ├─ ImportScanner#scanImports for webapp........3,431 ms (1)
|    │        │  │  └─ Babel.compile                            2,961 ms (3)
|    │        │  ├─ ImportScanner#scanImports for ddp-server....3,461 ms (1)
|    │        │  │  └─ Babel.compile                            3,167 ms (5)
|    │        │  ├─ ImportScanner#scanImports for mongo.........9,375 ms (1)
|    │        │  │  └─ Babel.compile                            8,558 ms (10)
|    │        │  ├─ ImportScanner#scanImports for shell-server..2,080 ms (1)
|    │        │  │  └─ Babel.compile                            2,057 ms (2)
|    │        │  ├─ ImportScanner#scanImports for aldeed:collection2.2,112 ms (1)
|    │        │  │  └─ Babel.compile                            1,829 ms (1)
|    │        │  ├─ ImportScanner#scanImports for aldeed:collection2-core.2,000 ms (1)
|    │        │  │  └─ Babel.compile                            1,756 ms (1)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:mocha.4,682 ms (1)
|    │        │  │  └─ Babel.compile                            3,268 ms (10)
|    │        │  ├─ ImportScanner#scanImports for accounts-base.4,030 ms (1)
|    │        │  │  └─ Babel.compile                            3,713 ms (5)
|    │        │  ├─ ImportScanner#scanImports for reywood:publish-composite.1,989 ms (1)
|    │        │  │  └─ Babel.compile                            1,846 ms (7)
|    │        │  ├─ ImportScanner#scanImports for herteby:denormalize.1,849 ms (1)
|    │        │  │  └─ Babel.compile                            1,691 ms (4)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:grapher.20,333 ms (1)
|    │        │  │  ├─ Babel.compile                           18,020 ms (76)
|    │        │  │  └─ ImportScanner#_resolve                   1,012 ms (191)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:grapher-react.3,327 ms (1)
|    │        │  │  └─ Babel.compile                            2,918 ms (10)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:mutations 1,107 ms (1)
|    │        │  ├─ ImportScanner#scanImports for accounts-password.1,877 ms (1)
|    │        │  │  └─ Babel.compile                            1,871 ms (2)
|    │        │  ├─ ImportScanner#scanImports for reactive-dict 1,044 ms (1)
|    │        │  ├─ ImportScanner#scanImports for std:accounts-ui.8,062 ms (1)
|    │        │  │  └─ Babel.compile                            7,485 ms (17)
|    │        │  ├─ ImportScanner#scanImports for lmieulet:meteor-coverage.7,684 ms (1)
|    │        │  │  └─ Babel.compile                            7,146 ms (20)
|    │        │  ├─ ImportScanner#scanImports for meteortesting:browser-tests.1,538 ms (1)
|    │        │  │  └─ Babel.compile                            1,315 ms (5)
|    │        │  ├─ ImportScanner#scanImports for meteortesting:mocha.1,422 ms (1)
|    │        │  │  └─ Babel.compile                            1,277 ms (3)
|    │        │  ├─ ImportScanner#scanImports for the app.....195,590 ms (1)
|    │        │  │  ├─ Babel.compile                          179,209 ms (439)
|    │        │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 5,279 ms (440)
|    │        │  │  ├─ ImportScanner#_resolve...................7,125 ms (1702)
|    │        │  │  │  ├─ optimistic statOrNull.................4,051 ms (14397)
|    │        │  │  │  │  ├─ safeWatcher.watch                  1,150 ms (736)
|    │        │  │  │  │  ├─ files.stat                         1,077 ms (1095)
|    │        │  │  │  │  └─ other optimistic statOrNull        1,571 ms
|    │        │  │  │  └─ other ImportScanner#_resolve          2,911 ms
|    │        │  │  └─ other ImportScanner#scanImports for the app 3,524 ms
|    │        │  └─ ImportScanner#scanMissingModules for socket-stream-client.1,829 ms (1)
|    │        │     └─ Babel.compile                            1,805 ms (3)
|    │        └─ PackageSourceBatch#getResources...............69,077 ms (140)
|    │           └─ PackageSourceBatch#_linkJS.................69,074 ms (140)
|    │              ├─ linker.fullLink.........................64,683 ms (140)
|    │              │  ├─ linker Module#getPrelinkedFiles......50,701 ms (140)
|    │              │  │  ├─ linker File#getPrelinkedOutput    24,742 ms (1180)
|    │              │  │  └─ getPrelinkedFiles toStringWithSourceMap 25,194 ms (140)
|    │              │  ├─ linker Module#computeAssignedVariables.12,872 ms (139)
|    │              │  │  └─ linker File#computeAssignedVariables 12,720 ms (741)
|    │              │  └─ other linker.fullLink                 1,108 ms
|    │              └─ other PackageSourceBatch#_linkJS         3,732 ms
|    └─ bundler writeSiteArchive...............................20,697 ms (1)
|       ├─ files.rm_recursive                                   2,337 ms (2)
|       └─ bundler writeTargetToPath...........................18,207 ms (3)
|          ├─ ClientTarget#write................................5,969 ms (2)
|          │  ├─ bundler writeFile                              2,134 ms (660)
|          │  └─ other ClientTarget#write                       2,972 ms
|          └─ ServerTarget#write...............................12,231 ms (1)
|             └─ JsImage#write.................................11,847 ms (1)
|                ├─ meteorNpm.isPortable........................8,051 ms (38)
|                │  └─ meteorNpm.isPortable.....................7,567 ms (999)
|                │     ├─ optimistic lstat......................4,811 ms (999)
|                │     │  └─ safeWatcher.watch                  4,041 ms (936)
|                │     └─ optimistic statOrNull                 1,463 ms (999)
|                ├─ Builder#copyNodeModulesDirectory            2,124 ms (38)
|                └─ other JsImage#write                         1,472 ms
|
| Top leaves:
| Babel.compile..........................................961,891 ms (2367)
| linker File#getPrelinkedOutput..........................61,478 ms (10691)
| getPrelinkedFiles toStringWithSourceMap.................60,856 ms (396)
| ImportScanner#_findImportedModuleIdentifiers............53,401 ms (9033)
| files.stat..............................................51,400 ms (119729)
| linker File#computeAssignedVariables....................39,937 ms (8941)
| other optimistic statOrNull.............................33,590 ms (218853)
| other ImportScanner#_resolve............................27,670 ms (24858)
| other PackageSourceBatch#_linkJS........................18,902 ms (396)
| other ImportScanner#scanImports for the app.............12,463 ms (3)
| other files.withCache....................................9,430 ms (7)
| files.readFile...........................................8,318 ms (8763)
| files.lstat..............................................7,555 ms (19511)
| Target#minifyJs..........................................5,784 ms (2)
| other compileUnibuild (the app)..........................5,440 ms (3)
| other ImportScanner#_realPath............................5,132 ms (11152)
| other linker.fullLink....................................5,081 ms (396)
| other safeWatcher.watch..................................4,809 ms (13174)
| other linker Module#getPrelinkedFiles....................4,786 ms (396)
| files.rm_recursive.......................................3,561 ms (273)
| other ClientTarget#write.................................2,972 ms (2)
| files.realpath...........................................2,481 ms (11821)
| other PackageSourceBatch.computeJsOutputFilesMap.........2,078 ms (3)
| ImportScanner#_getAbsModuleId............................1,899 ms (12793)
| files.readdir............................................1,874 ms (18917)
| other ImportScanner#_readFile............................1,740 ms (6190)
| other Target#_emitResources..............................1,556 ms (3)
| other JsImage#write......................................1,472 ms (1)
| other optimistic lstatOrNull.............................1,291 ms (19434)
| CssTools.stringifyCss....................................1,214 ms (1)
| other optimistic readFile................................1,048 ms (7743)
| files.writeFile............................................910 ms (1568)
| other optimistic readJsonOrNull............................890 ms (2039)
| other ImportScanner#scanImports for cultofcoders:grapher...857 ms (3)
| other linker Module#computeAssignedVariables...............731 ms (393)
| composing source maps......................................720 ms (1)
| plugin ecmascript..........................................705 ms (3)
| Isopack#getUnibuildAtArch..................................659 ms (14424)
| sha1.......................................................557 ms (8764)
| CssTools.parseCss..........................................456 ms (10)
| sha512.....................................................453 ms (952)
| other optimistic lstat.....................................446 ms (999)
| wrapped.fs.readFileSync....................................408 ms (318)
| other ImportScanner#scanImports for base64.................391 ms (2)
| other ServerTarget#write...................................372 ms (1)
| files.rename...............................................368 ms (1506)
| plugin meteor..............................................325 ms (2)
| other Target#_runCompilerPlugins...........................318 ms (2)
| other meteorNpm.isPortable.................................256 ms (1037)
| CssTools.rewriteCssUrls....................................243 ms (10)
| other Target#make..........................................230 ms (3)
| require("./security.js")...................................220 ms (3)
| safeWatcher.watch..........................................200 ms (2599)
| other ImportScanner#scanImports for cultofcoders:mocha.....195 ms (3)
| other ImportScanner#scanImports for minimongo..............158 ms (3)
| other ImportScanner#scanImports for mongo..................155 ms (3)
| other ImportScanner#scanImports for cultofcoders:grapher-react.140 ms (3)
| other ImportScanner#scanMissingModules for the app.........133 ms (4)
| other ImportScanner#scanImports for std:accounts-ui........124 ms (3)
| Builder#_ensureDirectory...................................113 ms (1231)
| other minifyCssFiles.......................................113 ms (2)
| other mergeCss.............................................106 ms (2)
| other ImportScanner#scanImports for accounts-base..........102 ms (3)
|
| (#4) Total: 1,479,926 ms (Build App)
With chrome, without meteor-node-stubs Total: 1,529,515 ms
meteor npm i selenium-webdriver@3.6.0 chromedriver@2.37.0 --no-save
# meteor npm i nightmare --no-save
meteor npm i
meteor npm run test-CI


> bcrypt@2.0.1 install /home/circleci/app/microservices/app/node_modules/bcrypt
> node-pre-gyp install --fallback-to-build

[bcrypt] Success: "/home/circleci/app/microservices/app/node_modules/bcrypt/lib/binding/bcrypt_lib.node" is installed via remote

> chromedriver@2.37.0 install /home/circleci/app/microservices/app/node_modules/chromedriver
> node install.js

Downloading https://chromedriver.storage.googleapis.com/2.37/chromedriver_linux64.zip
Saving to /tmp/chromedriver/chromedriver_linux64.zip
Received 781K...
Received 1568K...
Received 2352K...
Received 3136K...
Received 3632K total.
Extracting zip contents
Copying to target path /home/circleci/app/microservices/app/node_modules/chromedriver/lib/chromedriver
Fixing file permissions
Done. ChromeDriver binary available at /home/circleci/app/microservices/app/node_modules/chromedriver/lib/chromedriver/chromedriver

> jss@9.8.7 postinstall /home/circleci/app/microservices/app/node_modules/jss
> node -e "console.log('\u001b[35m\u001b[1mLove JSS? You can now support us on open collective:\u001b[22m\u001b[39m\n > \u001b[34mhttps://opencollective.com/jss/donate\u001b[0m')"

Love JSS? You can now support us on open collective:
 > https://opencollective.com/jss/donate
+ chromedriver@2.37.0
+ selenium-webdriver@3.6.0
added 828 packages from 1522 contributors and audited 4483 packages in 39.424s
found 1 low severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details
npm WARN react-intl@2.3.0 requires a peer of react@^0.14.9 || ^15.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN uniforms@1.25.0 requires a peer of graphql@>=0.8.2 <1.0.0 but none is installed. You must install peer dependencies yourself.

removed 26 packages and audited 4483 packages in 6.87s
found 1 low severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details

> epotek-app@ test-CI /home/circleci/app/microservices/app
> SERVER_TEST_REPORTER=xunit XUNIT_FILE=~/app/results/unit.xml TEST_BROWSER_DRIVER=chrome meteor test --once --driver-package meteortesting:mocha --settings settings-dev.json

| (#1) Profiling: ProjectContext initializeCatalog
| (  Preparing project                         ... )
| ProjectContext initializeCatalog                                 31 ms (1)
|
| Top leaves:
|
| (#1) Total: 31 ms (ProjectContext initializeCatalog)
|
| (#2) Profiling: ProjectContext resolveConstraints
| (  Selecting package versions                ... )
| ProjectContext resolveConstraints............................13,519 ms (1)
| └─ _resolveConstraints.......................................13,519 ms (1)
|    └─ Select Package Versions................................12,419 ms (1)
|       ├─ Input#loadFromCatalog................................9,110 ms (1)
|       │  ├─ sqlite query                                      7,168 ms (290)
|       │  └─ other Input#loadFromCatalog                       1,941 ms
|       └─ Solver#getAnswer.....................................2,796 ms (1)
|          └─ generate constraints                              1,293 ms (1)
|
| Top leaves:
| sqlite query.............................................7,443 ms (439)
| other Input#loadFromCatalog..............................1,941 ms (1)
| generate constraints.....................................1,293 ms (1)
| minimize conflicts.........................................558 ms (1)
| new Logic.Solver (MiniSat start-up)........................264 ms (1)
| require("./security.js")...................................178 ms (1)
| generate dependency requirements...........................141 ms (1)
| generate package variables.................................131 ms (1)
| pre-solve..................................................126 ms (1)
| analyze allowed versions...................................124 ms (1)
|
| (#2) Total: 13,519 ms (ProjectContext resolveConstraints)
|
[[[[[ Tests ]]]]]

=> Started proxy.
| (#3) Profiling: ProjectContext prepareProjectForBuild
=> Started MongoDB.
| (  Building local packages                   ... )
| files.stat                                                        0 ms (1)
| files.readFile                                                    0 ms (1)
| files.readdir                                                     0 ms (1)
| files.writeFile                                                   0 ms (1)
| ProjectContext prepareProjectForBuild.......................142,309 ms (1)
| ├─ _downloadMissingPackages.................................113,068 ms (1)
| │  ├─ meteorNpm.rebuildIfNonPortable..........................6,941 ms (29)
| │  │  └─ meteorNpm.isPortable.................................6,605 ms (1011)
| │  │     └─ meteorNpm.isPortable..............................5,653 ms (5739)
| │  │        └─ meteorNpm.isPortable...........................4,648 ms (6762)
| │  │           └─ meteorNpm.isPortable........................2,705 ms (7242)
| │  │              └─ meteorNpm.isPortable                     1,248 ms (3267)
| │  ├─ Isopack#saveToPath.....................................56,457 ms (91)
| │  │  ├─ Builder#copyNodeModulesDirectory....................20,768 ms (29)
| │  │  │  ├─ Builder#_ensureDirectory                          2,365 ms (4790)
| │  │  │  ├─ optimistic lstatOrNull............................4,817 ms (42196)
| │  │  │  │  ├─ optimistic lstat                               1,457 ms (42196)
| │  │  │  │  └─ other optimistic lstatOrNull                   3,349 ms
| │  │  │  ├─ optimistic statOrNull                             3,144 ms (37339)
| │  │  │  ├─ optimistic readFile...............................3,530 ms (37339)
| │  │  │  │  ├─ files.readFile                                 1,443 ms (37339)
| │  │  │  │  └─ other optimistic readFile                      2,087 ms
| │  │  │  ├─ files.writeFile                                   3,549 ms (37339)
| │  │  │  └─ other Builder#copyNodeModulesDirectory            3,064 ms
| │  │  ├─ linker.prelink.......................................1,589 ms (69)
| │  │  │  └─ linker Module#computeAssignedVariables............1,393 ms (69)
| │  │  │     └─ linker File#computeAssignedVariables           1,384 ms (333)
| │  │  └─ JsImage#write.......................................32,601 ms (7)
| │  │     └─ Builder#copyNodeModulesDirectory.................32,181 ms (52)
| │  │        ├─ Builder#_ensureDirectory.......................3,274 ms (4134)
| │  │        │  ├─ files.stat                                  1,288 ms (12612)
| │  │        │  └─ other Builder#_ensureDirectory              1,588 ms
| │  │        ├─ optimistic lstatOrNull.........................8,456 ms (46047)
| │  │        │  ├─ optimistic lstat                            3,226 ms (46047)
| │  │        │  └─ other optimistic lstatOrNull                5,227 ms
| │  │        ├─ optimistic statOrNull                          4,424 ms (41863)
| │  │        ├─ optimistic readFile............................5,779 ms (41863)
| │  │        │  ├─ files.readFile                              2,000 ms (41863)
| │  │        │  └─ other optimistic readFile                   3,779 ms
| │  │        ├─ files.writeFile                                4,027 ms (41863)
| │  │        └─ other Builder#copyNodeModulesDirectory         5,712 ms
| │  ├─ bundler.readJsImage....................................21,063 ms (7)
| │  │  └─ meteorNpm.rebuildIfNonPortable......................20,936 ms (52)
| │  │     ├─ meteorNpm.isPortable.............................10,754 ms (1061)
| │  │     │  └─ meteorNpm.isPortable...........................9,881 ms (2773)
| │  │     │     └─ meteorNpm.isPortable........................8,950 ms (3573)
| │  │     │        └─ meteorNpm.isPortable.....................8,123 ms (3170)
| │  │     │           └─ meteorNpm.isPortable..................7,581 ms (1858)
| │  │     │              └─ meteorNpm.isPortable...............6,667 ms (1536)
| │  │     │                 └─ meteorNpm.isPortable............5,514 ms (1947)
| │  │     │                    └─ meteorNpm.isPortable.........4,473 ms (1238)
| │  │     │                       └─ meteorNpm.isPortable......3,724 ms (1499)
| │  │     │                          └─ meteorNpm.isPortable...2,470 ms (1438)
| │  │     │                             └─ meteorNpm.isPortable 1,347 ms (1024)
| │  │     └─ other meteorNpm.rebuildIfNonPortable              8,937 ms
| │  └─ other _downloadMissingPackages                         28,145 ms
| └─ _buildLocalPackages.......................................29,239 ms (1)
|    ├─ _ensurePackageLoaded(accounts-base)                     1,826 ms (1)
|    ├─ _ensurePackageLoaded(coffeescript)......................5,011 ms (1)
|    │  └─ IsopackCache Load local isopack......................5,011 ms (1)
|    │     └─ Isopack#initFromPath..............................5,011 ms (1)
|    │        └─ bundler.readJsImage............................5,010 ms (1)
|    │           └─ meteorNpm.rebuildIfNonPortable..............4,979 ms (8)
|    │              └─ meteorNpm.isPortable.....................4,975 ms (11)
|    │                 └─ meteorNpm.isPortable..................4,933 ms (77)
|    │                    └─ meteorNpm.isPortable...............4,866 ms (54)
|    │                       └─ meteorNpm.isPortable............4,816 ms (143)
|    │                          └─ meteorNpm.isPortable.........4,671 ms (697)
|    │                             └─ meteorNpm.isPortable......4,102 ms (1284)
|    │                                └─ meteorNpm.isPortable...3,463 ms (1947)
|    │                                   └─ meteorNpm.isPortable.2,546 ms (1238)
|    │                                      └─ meteorNpm.isPortable.1,942 ms (1499)
|    │                                         └─ meteorNpm.isPortable 1,275 ms (1438)
|    ├─ _ensurePackageLoaded(cultofcoders:grapher)..............3,266 ms (1)
|    │  └─ _ensurePackageLoaded(matb33:collection-hooks)........2,680 ms (1)
|    │     └─ IsopackCache Load local isopack...................2,680 ms (1)
|    │        └─ Isopack#initFromPath...........................2,679 ms (1)
|    │           └─ meteorNpm.rebuildIfNonPortable..............2,677 ms (1)
|    │              └─ meteorNpm.isPortable.....................2,542 ms (129)
|    │                 └─ meteorNpm.isPortable..................2,048 ms (1298)
|    │                    └─ meteorNpm.isPortable               1,266 ms (983)
|    ├─ _ensurePackageLoaded(cultofcoders:mocha)................2,785 ms (1)
|    │  └─ _ensurePackageLoaded(templating).....................2,301 ms (1)
|    │     └─ _ensurePackageLoaded(templating-runtime)..........2,291 ms (1)
|    │        └─ _ensurePackageLoaded(templating-compiler)......2,282 ms (1)
|    │           └─ IsopackCache Load local isopack.............2,281 ms (1)
|    │              └─ Isopack#initFromPath.....................2,281 ms (1)
|    │                 └─ bundler.readJsImage...................2,280 ms (1)
|    │                    └─ meteorNpm.rebuildIfNonPortable.....2,252 ms (9)
|    │                       └─ meteorNpm.isPortable............2,226 ms (178)
|    │                          └─ meteorNpm.isPortable.........1,824 ms (1402)
|    │                             └─ meteorNpm.isPortable      1,079 ms (1743)
|    ├─ _ensurePackageLoaded(fortawesome:fontawesome)...........1,616 ms (1)
|    │  └─ IsopackCache Load local isopack......................1,616 ms (1)
|    │     └─ Isopack#initFromPath..............................1,615 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................1,612 ms (1)
|    │           └─ meteorNpm.isPortable........................1,432 ms (272)
|    │              └─ meteorNpm.isPortable                     1,011 ms (1326)
|    ├─ _ensurePackageLoaded(lmieulet:meteor-coverage)..........2,427 ms (1)
|    │  └─ IsopackCache Load local isopack......................2,427 ms (1)
|    │     └─ Isopack#initFromPath..............................2,426 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................2,424 ms (1)
|    │           └─ meteorNpm.isPortable........................2,271 ms (206)
|    │              └─ meteorNpm.isPortable.....................1,800 ms (1615)
|    │                 └─ meteorNpm.isPortable                  1,224 ms (1325)
|    ├─ _ensurePackageLoaded(meteorhacks:kadira)................1,411 ms (1)
|    │  └─ IsopackCache Load local isopack......................1,403 ms (1)
|    │     └─ Isopack#initFromPath..............................1,402 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................1,357 ms (1)
|    │           └─ meteorNpm.isPortable........................1,339 ms (68)
|    │              └─ meteorNpm.isPortable                     1,076 ms (399)
|    ├─ _ensurePackageLoaded(okgrow:analytics)..................4,968 ms (1)
|    │  └─ IsopackCache Load local isopack......................4,968 ms (1)
|    │     └─ Isopack#initFromPath..............................4,968 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................4,966 ms (4)
|    │           └─ meteorNpm.isPortable........................4,942 ms (49)
|    │              └─ meteorNpm.isPortable.....................4,831 ms (347)
|    │                 └─ meteorNpm.isPortable..................4,530 ms (2674)
|    │                    └─ meteorNpm.isPortable...............2,997 ms (3796)
|    │                       └─ meteorNpm.isPortable............1,630 ms (1824)
|    │                          └─ optimistic lstat             1,066 ms (1824)
|    └─ _ensurePackageLoaded(static-html).......................2,487 ms (1)
|       └─ IsopackCache Load local isopack......................2,487 ms (1)
|          └─ Isopack#initFromPath..............................2,486 ms (1)
|             └─ bundler.readJsImage............................2,486 ms (1)
|                └─ meteorNpm.rebuildIfNonPortable..............2,448 ms (9)
|                   └─ meteorNpm.isPortable.....................2,367 ms (142)
|                      └─ meteorNpm.isPortable..................1,989 ms (1294)
|                         └─ meteorNpm.isPortable               1,334 ms (1776)
|
| Top leaves:
| other _downloadMissingPackages..........................28,145 ms (1)
| other meteorNpm.rebuildIfNonPortable.....................9,063 ms (115)
| other Builder#copyNodeModulesDirectory...................8,777 ms (81)
| other optimistic lstatOrNull.............................8,576 ms (88243)
| files.writeFile..........................................7,867 ms (82443)
| files.stat...............................................6,946 ms (135288)
| files.readFile...........................................6,481 ms (90506)
| other optimistic readFile................................5,866 ms (79202)
| other meteorNpm.isPortable...............................5,326 ms (63091)
| files.lstat..............................................3,179 ms (138570)
| other Builder#_ensureDirectory...........................1,588 ms (4134)
| files.readdir............................................1,408 ms (14031)
| linker File#computeAssignedVariables.....................1,384 ms (333)
| files.read...............................................1,259 ms (5013)
| files.mkdir..............................................1,069 ms (10869)
| meteorNpm.runNpmCommand....................................911 ms (1)
| other Isopack#saveToPath...................................553 ms (91)
| files.rename...............................................237 ms (3608)
| files.rm_recursive.........................................174 ms (186)
| other JsImage#write........................................159 ms (7)
| files.open.................................................146 ms (5013)
| sha1.......................................................103 ms (2713)
|
| (#3) Total: 142,309 ms (ProjectContext prepareProjectForBuild)
|
| (#4) Profiling: Build App                    ... )

Unable to resolve some modules:

  "stream" in
/home/circleci/app/microservices/app/node_modules/htmlparser2/lib/WritableStream.js
(web.browser)
  "util" in
/home/circleci/app/microservices/app/node_modules/readable-stream/lib/_stream_readable.js
(web.browser)
  "http" in
/home/circleci/app/microservices/app/node_modules/node-fetch/index.js
(web.browser)
  "https" in
/home/circleci/app/microservices/app/node_modules/node-fetch/index.js
(web.browser)
  "zlib" in
/home/circleci/app/microservices/app/node_modules/node-fetch/index.js
(web.browser)

If you notice problems related to these missing modules, consider running:

  meteor npm install --save meteor-node-stubs


Unable to resolve some modules:

  "stream" in
/home/circleci/app/microservices/app/node_modules/htmlparser2/lib/WritableStream.js
(web.browser.legacy)
  "util" in
/home/circleci/app/microservices/app/node_modules/readable-stream/lib/_stream_readable.js
(web.browser.legacy)
  "http" in
/home/circleci/app/microservices/app/node_modules/node-fetch/index.js
(web.browser.legacy)
  "https" in
/home/circleci/app/microservices/app/node_modules/node-fetch/index.js
(web.browser.legacy)
  "zlib" in
/home/circleci/app/microservices/app/node_modules/node-fetch/index.js
(web.browser.legacy)

If you notice problems related to these missing modules, consider running:

  meteor npm install --save meteor-node-stubs

| (  Starting your app                         ... )
| wrapped.fs.statSync                                               0 ms (2)
| Build App.................................................1,529,515 ms (1)
| └─ files.withCache........................................1,529,515 ms (1)
|    ├─ compiler.compile(the app)..............................29,899 ms (1)
|    │  └─ files.withCache.....................................29,899 ms (3)
|    │     └─ compileUnibuild (the app)........................29,899 ms (3)
|    │        ├─ Isopack#ensurePluginsInitialized...............8,517 ms (42)
|    │        │  └─ JsImage#load................................8,514 ms (4)
|    │        │     └─ runJavaScript packages/minifier-css.js...5,546 ms (1)
|    │        │        └─ require("/node_modules/meteor/minifier-css/minifier.js").5,494 ms (1)
|    │        │           └─ require("cssnano")                 5,302 ms (1)
|    │        ├─ PackageSource#_findSources....................16,281 ms (3)
|    │        │  └─ files.withCache............................16,280 ms (3)
|    │        │     ├─ files.realpath                           1,262 ms (9410)
|    │        │     ├─ files.readdir                            2,163 ms (18820)
|    │        │     ├─ files.stat                               1,351 ms (37547)
|    │        │     └─ other files.withCache                   11,087 ms
|    │        ├─ optimistic readFile                            1,206 ms (3468)
|    │        └─ other compileUnibuild (the app)                3,552 ms
|    ├─ bundler.bundle..makeClientTarget....................1,101,594 ms (2)
|    │  └─ Target#make......................................1,101,593 ms (2)
|    │     ├─ Target#_runCompilerPlugins.......................32,911 ms (2)
|    │     │  ├─ Isopack#ensurePluginsInitialized...............1,771 ms (664)
|    │     │  │  └─ JsImage#load                                1,735 ms (2)
|    │     │  ├─ plugin coffeescript                            1,152 ms (2)
|    │     │  └─ plugin fourseven:scss                         27,626 ms (2)
|    │     ├─ Target#_emitResources.........................1,061,951 ms (2)
|    │     │  ├─ PackageSourceBatch.computeJsOutputFilesMap...937,792 ms (2)
|    │     │  │  ├─ ImportScanner#_realPath.....................5,239 ms (3544)
|    │     │  │  │  ├─ optimistic lstatOrNull...................2,964 ms (14316)
|    │     │  │  │  │  ├─ optimistic lstat                      1,420 ms (3085)
|    │     │  │  │  │  └─ other optimistic lstatOrNull          1,389 ms
|    │     │  │  │  └─ other ImportScanner#_realPath            1,329 ms
|    │     │  │  ├─ ImportScanner#scanImports for base64........1,866 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,517 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for ejson.........2,591 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,393 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for ordered-dict..1,125 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,077 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for minimongo....14,693 ms (2)
|    │     │  │  │  └─ Babel.compile                           13,961 ms (16)
|    │     │  │  ├─ ImportScanner#scanImports for check.........1,875 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,720 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for ddp-common....1,515 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,446 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for socket-stream-client.3,270 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,955 ms (1)
|    │     │  │  ├─ ImportScanner#scanImports for ddp-client....9,893 ms (2)
|    │     │  │  │  └─ Babel.compile                            8,586 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for allow-deny....1,890 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,842 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for mongo.........3,270 ms (2)
|    │     │  │  │  └─ Babel.compile                            3,032 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for aldeed:collection2.2,777 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,264 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for reactive-dict.1,405 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,367 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for accounts-base.3,544 ms (2)
|    │     │  │  │  └─ Babel.compile                            3,347 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for aldeed:collection2-core.2,189 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,860 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for practicalmeteor:mocha-core.3,528 ms (2)
|    │     │  │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 1,209 ms (156)
|    │     │  │  │  └─ ImportScanner#_resolve...................1,846 ms (556)
|    │     │  │  │     └─ optimistic statOrNull                 1,405 ms (2986)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:mocha.8,305 ms (2)
|    │     │  │  │  ├─ Babel.compile                            5,892 ms (18)
|    │     │  │  │  └─ ImportScanner#_resolve...................1,796 ms (216)
|    │     │  │  │     └─ optimistic statOrNull                 1,345 ms (2768)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:grapher.29,475 ms (2)
|    │     │  │  │  ├─ Babel.compile                           26,581 ms (112)
|    │     │  │  │  └─ ImportScanner#_resolve...................1,656 ms (313)
|    │     │  │  │     └─ optimistic statOrNull                 1,157 ms (1908)
|    │     │  │  ├─ ImportScanner#scanImports for react-meteor-data.1,596 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,525 ms (6)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:grapher-react.3,961 ms (2)
|    │     │  │  │  └─ Babel.compile                            3,580 ms (20)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:mutations.2,261 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,034 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for std:accounts-ui.16,802 ms (2)
|    │     │  │  │  └─ Babel.compile                           15,630 ms (32)
|    │     │  │  ├─ ImportScanner#scanImports for okgrow:analytics.4,257 ms (2)
|    │     │  │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 1,261 ms (10)
|    │     │  │  │  └─ ImportScanner#_resolve...................2,426 ms (266)
|    │     │  │  │     └─ optimistic statOrNull                 1,923 ms (3834)
|    │     │  │  ├─ ImportScanner#scanImports for meteortesting:mocha.1,331 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,242 ms (6)
|    │     │  │  ├─ ImportScanner#scanImports for the app.....778,740 ms (2)
|    │     │  │  │  ├─ Babel.compile                          599,426 ms (1346)
|    │     │  │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 30,620 ms (7410)
|    │     │  │  │  ├─ ImportScanner#_resolve.................121,771 ms (20408)
|    │     │  │  │  │  ├─ optimistic statOrNull................91,196 ms (194085)
|    │     │  │  │  │  │  ├─ safeWatcher.watch.................10,678 ms (15857)
|    │     │  │  │  │  │  │  ├─ files.stat                      6,656 ms (10483)
|    │     │  │  │  │  │  │  └─ other safeWatcher.watch         4,023 ms
|    │     │  │  │  │  │  ├─ files.stat                        37,951 ms (52884)
|    │     │  │  │  │  │  ├─ files.lstat                        6,019 ms (8535)
|    │     │  │  │  │  │  └─ other optimistic statOrNull       36,548 ms
|    │     │  │  │  │  ├─ optimistic readJsonOrNull.............4,123 ms (1971)
|    │     │  │  │  │  │  ├─ optimistic readFile................2,701 ms (1702)
|    │     │  │  │  │  │  │  └─ files.readFile                  2,317 ms (1702)
|    │     │  │  │  │  │  └─ other optimistic readJsonOrNull    1,154 ms
|    │     │  │  │  │  └─ other ImportScanner#_resolve         25,484 ms
|    │     │  │  │  ├─ ImportScanner#_realPath..................7,773 ms (6064)
|    │     │  │  │  │  ├─ optimistic lstatOrNull................3,851 ms (31546)
|    │     │  │  │  │  │  ├─ optimistic lstat                   2,163 ms (3879)
|    │     │  │  │  │  │  └─ other optimistic lstatOrNull       1,688 ms
|    │     │  │  │  │  └─ other ImportScanner#_realPath         3,921 ms
|    │     │  │  │  ├─ ImportScanner#_readFile..................7,063 ms (6066)
|    │     │  │  │  │  ├─ optimistic readFile...................3,975 ms (6066)
|    │     │  │  │  │  │  └─ files.readFile                     3,287 ms (3036)
|    │     │  │  │  │  └─ other ImportScanner#_readFile         2,158 ms
|    │     │  │  │  └─ other ImportScanner#scanImports for the app 10,271 ms
|    │     │  │  ├─ ImportScanner#scanMissingModules for the app.9,057 ms (4)
|    │     │  │  │  └─ ImportScanner#_resolve...................7,107 ms (1199)
|    │     │  │  │     └─ optimistic statOrNull.................5,958 ms (5027)
|    │     │  │  │        ├─ files.stat                         1,428 ms (1503)
|    │     │  │  │        ├─ safeWatcher.watch                  1,327 ms (1279)
|    │     │  │  │        ├─ files.lstat                        1,545 ms (1253)
|    │     │  │  │        └─ other optimistic statOrNull        1,658 ms
|    │     │  │  ├─ ImportScanner#scanMissingModules for socket-stream-client.6,722 ms (2)
|    │     │  │  │  └─ Babel.compile                            6,114 ms (7)
|    │     │  │  └─ other PackageSourceBatch.computeJsOutputFilesMap 1,344 ms
|    │     │  ├─ PackageSourceBatch#getResources..............122,781 ms (256)
|    │     │  │  └─ PackageSourceBatch#_linkJS................122,646 ms (256)
|    │     │  │     ├─ linker.fullLink........................110,340 ms (256)
|    │     │  │     │  ├─ linker Module#getPrelinkedFiles......81,935 ms (256)
|    │     │  │     │  │  ├─ linker File#getPrelinkedOutput    38,058 ms (9299)
|    │     │  │     │  │  ├─ getPrelinkedFiles toStringWithSourceMap 40,084 ms (256)
|    │     │  │     │  │  └─ other linker Module#getPrelinkedFiles 3,793 ms
|    │     │  │     │  ├─ linker Module#computeAssignedVariables.24,586 ms (254)
|    │     │  │     │  │  └─ linker File#computeAssignedVariables 24,335 ms (7978)
|    │     │  │     │  └─ other linker.fullLink                 3,815 ms
|    │     │  │     ├─ files.rm_recursive                       1,420 ms (256)
|    │     │  │     └─ other PackageSourceBatch#_linkJS         9,415 ms
|    │     │  └─ other Target#_emitResources                    1,332 ms
|    │     ├─ Target#minifyJs                                   3,835 ms (2)
|    │     └─ ClientTarget#minifyCss............................2,528 ms (2)
|    │        └─ minifyCssFiles.................................2,527 ms (2)
|    │           └─ mergeCss....................................2,468 ms (2)
|    │              └─ CssTools.stringifyCss                    1,247 ms (1)
|    ├─ bundler.bundle..makeServerTarget......................359,819 ms (1)
|    │  └─ Target#make........................................359,818 ms (1)
|    │     ├─ Target#_runCompilerPlugins                        1,044 ms (1)
|    │     └─ Target#_emitResources...........................358,498 ms (1)
|    │        ├─ PackageSourceBatch.computeJsOutputFilesMap...295,662 ms (1)
|    │        │  ├─ ImportScanner#_realPath.....................3,067 ms (1420)
|    │        │  │  └─ optimistic lstatOrNull...................1,979 ms (5118)
|    │        │  │     └─ optimistic lstat                      1,309 ms (799)
|    │        │  ├─ ImportScanner#scanImports for base64        1,047 ms (1)
|    │        │  ├─ ImportScanner#scanImports for ejson.........2,221 ms (1)
|    │        │  │  └─ Babel.compile                            1,937 ms (2)
|    │        │  ├─ ImportScanner#scanImports for diff-sequence 1,051 ms (1)
|    │        │  ├─ ImportScanner#scanImports for minimongo....12,846 ms (1)
|    │        │  │  └─ Babel.compile                           12,117 ms (8)
|    │        │  ├─ ImportScanner#scanImports for check.........1,516 ms (1)
|    │        │  │  └─ Babel.compile                            1,449 ms (2)
|    │        │  ├─ ImportScanner#scanImports for ddp-client....3,739 ms (1)
|    │        │  │  └─ Babel.compile                            3,421 ms (4)
|    │        │  ├─ ImportScanner#scanImports for boilerplate-generator 1,019 ms (1)
|    │        │  ├─ ImportScanner#scanImports for webapp........3,381 ms (1)
|    │        │  │  └─ Babel.compile                            2,860 ms (3)
|    │        │  ├─ ImportScanner#scanImports for ddp-server....3,649 ms (1)
|    │        │  │  └─ Babel.compile                            3,383 ms (5)
|    │        │  ├─ ImportScanner#scanImports for mongo.........6,172 ms (1)
|    │        │  │  └─ Babel.compile                            5,614 ms (10)
|    │        │  ├─ ImportScanner#scanImports for shell-server..1,167 ms (1)
|    │        │  │  └─ Babel.compile                            1,117 ms (2)
|    │        │  ├─ ImportScanner#scanImports for aldeed:collection2.2,275 ms (1)
|    │        │  │  └─ Babel.compile                            2,083 ms (1)
|    │        │  ├─ ImportScanner#scanImports for aldeed:collection2-core.2,023 ms (1)
|    │        │  │  └─ Babel.compile                            1,766 ms (1)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:mocha.5,130 ms (1)
|    │        │  │  └─ Babel.compile                            3,732 ms (10)
|    │        │  ├─ ImportScanner#scanImports for accounts-base.4,438 ms (1)
|    │        │  │  └─ Babel.compile                            3,976 ms (5)
|    │        │  ├─ ImportScanner#scanImports for reywood:publish-composite.1,975 ms (1)
|    │        │  │  └─ Babel.compile                            1,686 ms (7)
|    │        │  ├─ ImportScanner#scanImports for herteby:denormalize.2,418 ms (1)
|    │        │  │  └─ Babel.compile                            2,239 ms (4)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:grapher.20,434 ms (1)
|    │        │  │  ├─ Babel.compile                           17,554 ms (76)
|    │        │  │  └─ ImportScanner#_resolve...................1,310 ms (191)
|    │        │  │     └─ optimistic statOrNull                 1,169 ms (1021)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:grapher-react.2,510 ms (1)
|    │        │  │  └─ Babel.compile                            2,141 ms (10)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:mutations.1,154 ms (1)
|    │        │  │  └─ Babel.compile                            1,036 ms (5)
|    │        │  ├─ ImportScanner#scanImports for accounts-password.1,829 ms (1)
|    │        │  │  └─ Babel.compile                            1,827 ms (2)
|    │        │  ├─ ImportScanner#scanImports for std:accounts-ui.6,963 ms (1)
|    │        │  │  └─ Babel.compile                            6,527 ms (17)
|    │        │  ├─ ImportScanner#scanImports for lmieulet:meteor-coverage.5,057 ms (1)
|    │        │  │  └─ Babel.compile                            4,455 ms (20)
|    │        │  ├─ ImportScanner#scanImports for meteortesting:browser-tests.1,514 ms (1)
|    │        │  │  └─ Babel.compile                            1,207 ms (5)
|    │        │  ├─ ImportScanner#scanImports for meteortesting:mocha.1,275 ms (1)
|    │        │  │  └─ Babel.compile                            1,080 ms (3)
|    │        │  ├─ ImportScanner#scanImports for the app.....180,553 ms (1)
|    │        │  │  ├─ Babel.compile                          166,341 ms (439)
|    │        │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 4,700 ms (440)
|    │        │  │  ├─ ImportScanner#_resolve...................6,089 ms (1702)
|    │        │  │  │  ├─ optimistic statOrNull                 3,450 ms (14397)
|    │        │  │  │  └─ other ImportScanner#_resolve          2,536 ms
|    │        │  │  └─ other ImportScanner#scanImports for the app 3,094 ms
|    │        │  └─ ImportScanner#scanMissingModules for socket-stream-client.1,424 ms (1)
|    │        │     └─ Babel.compile                            1,409 ms (3)
|    │        └─ PackageSourceBatch#getResources...............62,778 ms (140)
|    │           └─ PackageSourceBatch#_linkJS.................62,625 ms (140)
|    │              ├─ linker.fullLink.........................58,539 ms (140)
|    │              │  ├─ linker Module#getPrelinkedFiles......46,267 ms (140)
|    │              │  │  ├─ linker File#getPrelinkedOutput    23,532 ms (1180)
|    │              │  │  └─ getPrelinkedFiles toStringWithSourceMap 22,133 ms (140)
|    │              │  └─ linker Module#computeAssignedVariables.11,846 ms (139)
|    │              │     └─ linker File#computeAssignedVariables 11,825 ms (741)
|    │              └─ other PackageSourceBatch#_linkJS         3,420 ms
|    └─ bundler writeSiteArchive...............................38,059 ms (1)
|       └─ bundler writeTargetToPath...........................37,898 ms (3)
|          ├─ ClientTarget#write................................4,429 ms (2)
|          │  ├─ bundler writeFile                              1,020 ms (660)
|          │  └─ other ClientTarget#write                       2,877 ms
|          └─ ServerTarget#write...............................33,455 ms (1)
|             └─ JsImage#write.................................33,009 ms (1)
|                ├─ meteorNpm.isPortable.......................27,043 ms (39)
|                │  └─ meteorNpm.isPortable....................26,624 ms (1049)
|                │     ├─ optimistic lstat......................6,473 ms (1049)
|                │     │  └─ safeWatcher.watch                  5,613 ms (970)
|                │     ├─ optimistic statOrNull.................1,527 ms (1049)
|                │     │  └─ files.stat                         1,076 ms (1003)
|                │     ├─ optimistic readJsonOrNull.............1,375 ms (1085)
|                │     │  └─ optimistic readFile                1,202 ms (1085)
|                │     └─ meteorNpm.isPortable.................17,068 ms (368)
|                │        └─ meteorNpm.isPortable..............15,323 ms (5970)
|                │           ├─ optimistic lstat                4,646 ms (5970)
|                │           ├─ optimistic statOrNull           1,082 ms (329)
|                │           └─ meteorNpm.isPortable............8,720 ms (3213)
|                │              ├─ optimistic lstat             2,077 ms (3213)
|                │              └─ meteorNpm.isPortable.........4,775 ms (4424)
|                │                 ├─ optimistic lstat          3,270 ms (4424)
|                │                 └─ meteorNpm.isPortable      1,054 ms (302)
|                ├─ Builder#copyNodeModulesDirectory............3,853 ms (39)
|                │  ├─ optimistic statOrNull                    1,138 ms (3803)
|                │  └─ other Builder#copyNodeModulesDirectory   1,098 ms
|                └─ other JsImage#write                         1,813 ms
|
| Top leaves:
| Babel.compile..........................................984,618 ms (2367)
| getPrelinkedFiles toStringWithSourceMap.................62,217 ms (396)
| linker File#getPrelinkedOutput..........................61,591 ms (10479)
| files.stat..............................................59,336 ms (124308)
| ImportScanner#_findImportedModuleIdentifiers............50,452 ms (8879)
| other optimistic statOrNull.............................38,653 ms (200161)
| linker File#computeAssignedVariables....................36,159 ms (8719)
| other ImportScanner#_resolve............................30,381 ms (24851)
| other ImportScanner#scanImports for the app.............13,365 ms (3)
| other PackageSourceBatch#_linkJS........................12,834 ms (396)
| files.lstat.............................................12,748 ms (35485)
| other files.withCache...................................11,198 ms (7)
| files.readFile...........................................9,066 ms (9012)
| other ImportScanner#_realPath............................5,668 ms (11028)
| other linker Module#getPrelinkedFiles....................4,395 ms (396)
| other linker.fullLink....................................4,240 ms (396)
| other safeWatcher.watch..................................4,023 ms (15857)
| Target#minifyJs..........................................3,835 ms (2)
| other optimistic lstatOrNull.............................3,582 ms (50980)
| other compileUnibuild (the app)..........................3,552 ms (3)
| files.realpath...........................................3,045 ms (11860)
| other ClientTarget#write.................................2,877 ms (2)
| other meteorNpm.isPortable...............................2,737 ms (15063)
| files.readdir............................................2,311 ms (19764)
| other ImportScanner#_readFile............................2,158 ms (6066)
| ImportScanner#_getAbsModuleId............................2,115 ms (12559)
| other PackageSourceBatch.computeJsOutputFilesMap.........2,078 ms (3)
| other JsImage#write......................................1,813 ms (1)
| files.rm_recursive.......................................1,553 ms (273)
| other Target#_emitResources..............................1,391 ms (3)
| other optimistic readJsonOrNull..........................1,328 ms (3056)
| CssTools.stringifyCss....................................1,247 ms (1)
| other Builder#copyNodeModulesDirectory...................1,098 ms (39)
| other optimistic readFile................................1,073 ms (7768)
| other ImportScanner#scanImports for cultofcoders:grapher.1,060 ms (3)
| files.writeFile............................................809 ms (1582)
| plugin ecmascript..........................................756 ms (3)
| Isopack#getUnibuildAtArch..................................568 ms (14424)
| other optimistic lstat.....................................546 ms (1049)
| sha1.......................................................535 ms (8618)
| composing source maps......................................517 ms (1)
| CssTools.parseCss..........................................432 ms (10)
| other Target#_runCompilerPlugins...........................413 ms (2)
| other ServerTarget#write...................................405 ms (1)
| safeWatcher.watch..........................................389 ms (2895)
| wrapped.fs.readFileSync....................................335 ms (318)
| files.rename...............................................320 ms (1522)
| other PackageSourceBatch#getResources......................287 ms (396)
| other ImportScanner#scanMissingModules for the app.........275 ms (4)
| other linker Module#computeAssignedVariables...............273 ms (393)
| other ImportScanner#scanImports for base64.................272 ms (2)
| plugin meteor..............................................262 ms (2)
| sha512.....................................................222 ms (952)
| require("./security.js")...................................218 ms (3)
| other ImportScanner#scanImports for accounts-base..........207 ms (3)
| other ImportScanner#scanImports for mongo..................202 ms (3)
| CssTools.rewriteCssUrls....................................186 ms (10)
| other ImportScanner#scanImports for cultofcoders:mocha.....179 ms (3)
| optimistic readFile........................................168 ms (4728)
| other Target#make..........................................164 ms (3)
| other ImportScanner#scanImports for std:accounts-ui........153 ms (3)
| other bundler writeSiteArchive.............................140 ms (1)
| files.symlink..............................................138 ms (1817)
|
| (#4) Total: 1,529,515 ms (Build App)
With chrome, with meteor-node-stubs, different docker image (`circleci/openjdk:10-jdk-node-browsers`), without cypress docker image Total: 1,405,805 ms
meteor npm i selenium-webdriver@3.6.0 chromedriver@2.37.0 --no-save
# meteor npm i nightmare --no-save
meteor npm i
meteor npm run test-CI


> bcrypt@2.0.1 install /home/circleci/app/microservices/app/node_modules/bcrypt
> node-pre-gyp install --fallback-to-build

[bcrypt] Success: "/home/circleci/app/microservices/app/node_modules/bcrypt/lib/binding/bcrypt_lib.node" is installed via remote

> chromedriver@2.37.0 install /home/circleci/app/microservices/app/node_modules/chromedriver
> node install.js

Downloading https://chromedriver.storage.googleapis.com/2.37/chromedriver_linux64.zip
Saving to /tmp/chromedriver/chromedriver_linux64.zip
Received 781K...
Received 1566K...
Received 2350K...
Received 3134K...
Received 3632K total.
Extracting zip contents
Copying to target path /home/circleci/app/microservices/app/node_modules/chromedriver/lib/chromedriver
Fixing file permissions
Done. ChromeDriver binary available at /home/circleci/app/microservices/app/node_modules/chromedriver/lib/chromedriver/chromedriver

> jss@9.8.7 postinstall /home/circleci/app/microservices/app/node_modules/jss
> node -e "console.log('\u001b[35m\u001b[1mLove JSS? You can now support us on open collective:\u001b[22m\u001b[39m\n > \u001b[34mhttps://opencollective.com/jss/donate\u001b[0m')"

Love JSS? You can now support us on open collective:
 > https://opencollective.com/jss/donate
+ selenium-webdriver@3.6.0
+ chromedriver@2.37.0
added 901 packages from 1549 contributors and audited 5082 packages in 30.307s
found 1 low severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details
npm WARN react-intl@2.3.0 requires a peer of react@^0.14.9 || ^15.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN uniforms@1.25.0 requires a peer of graphql@>=0.8.2 <1.0.0 but none is installed. You must install peer dependencies yourself.

removed 26 packages and audited 5082 packages in 8.573s
found 1 low severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details

> epotek-app@ test-CI /home/circleci/app/microservices/app
> SERVER_TEST_REPORTER=xunit XUNIT_FILE=~/app/results/unit.xml TEST_BROWSER_DRIVER=chrome meteor test --once --driver-package meteortesting:mocha --settings settings-dev.json

| (#1) Profiling: ProjectContext initializeCatalog
| (  Reading project metadata                  ... )
| ProjectContext initializeCatalog                                 32 ms (1)
|
| Top leaves:
|
| (#1) Total: 32 ms (ProjectContext initializeCatalog)
|
| (#2) Profiling: ProjectContext resolveConstraints
| (  Selecting package versions                ... )
| ProjectContext resolveConstraints............................14,538 ms (1)
| └─ _resolveConstraints.......................................14,538 ms (1)
|    └─ Select Package Versions................................13,507 ms (1)
|       ├─ Input#loadFromCatalog...............................10,806 ms (1)
|       │  ├─ sqlite query                                      8,214 ms (290)
|       │  └─ other Input#loadFromCatalog                       2,592 ms
|       └─ Solver#getAnswer.....................................2,297 ms (1)
|          └─ generate constraints                              1,061 ms (1)
|
| Top leaves:
| sqlite query.............................................8,419 ms (439)
| other Input#loadFromCatalog..............................2,592 ms (1)
| generate constraints.....................................1,061 ms (1)
| minimize conflicts.........................................456 ms (1)
| new Logic.Solver (MiniSat start-up)........................199 ms (1)
| require("./security.js")...................................175 ms (1)
| generate package variables.................................117 ms (1)
| generate dependency requirements...........................116 ms (1)
| analyze allowed versions...................................105 ms (1)
| pre-solve..................................................103 ms (1)
|
| (#2) Total: 14,538 ms (ProjectContext resolveConstraints)
|
[[[[[ Tests ]]]]]

=> Started proxy.
| (#3) Profiling: ProjectContext prepareProjectForBuild
=> Started MongoDB.
| (  Preparing to build package std:accoun...  ... )
| files.stat                                                        0 ms (1)
| files.readFile                                                    0 ms (1)
| files.readdir                                                     0 ms (1)
| files.writeFile                                                   0 ms (1)
| ProjectContext prepareProjectForBuild.......................159,818 ms (1)
| ├─ _downloadMissingPackages.................................126,980 ms (1)
| │  ├─ meteorNpm.rebuildIfNonPortable..........................7,539 ms (29)
| │  │  └─ meteorNpm.isPortable.................................7,081 ms (1011)
| │  │     └─ meteorNpm.isPortable..............................5,710 ms (5739)
| │  │        └─ meteorNpm.isPortable...........................4,329 ms (6762)
| │  │           └─ meteorNpm.isPortable........................2,629 ms (7242)
| │  │              ├─ optimistic lstat                         1,040 ms (7242)
| │  │              └─ meteorNpm.isPortable                     1,088 ms (3267)
| │  ├─ Isopack#saveToPath.....................................68,416 ms (91)
| │  │  ├─ Builder#copyNodeModulesDirectory....................24,272 ms (29)
| │  │  │  ├─ Builder#_ensureDirectory..........................2,820 ms (4790)
| │  │  │  │  ├─ files.stat                                     1,092 ms (14460)
| │  │  │  │  └─ other Builder#_ensureDirectory                 1,227 ms
| │  │  │  ├─ optimistic lstatOrNull............................5,684 ms (42196)
| │  │  │  │  ├─ optimistic lstat                               2,085 ms (42196)
| │  │  │  │  └─ other optimistic lstatOrNull                   3,577 ms
| │  │  │  ├─ optimistic statOrNull                             3,025 ms (37339)
| │  │  │  ├─ optimistic readFile...............................5,309 ms (37339)
| │  │  │  │  ├─ files.readFile                                 2,193 ms (37339)
| │  │  │  │  └─ other optimistic readFile                      3,115 ms
| │  │  │  ├─ files.writeFile                                   3,405 ms (37339)
| │  │  │  └─ other Builder#copyNodeModulesDirectory            3,687 ms
| │  │  ├─ linker.prelink.......................................1,740 ms (69)
| │  │  │  └─ linker Module#computeAssignedVariables............1,527 ms (69)
| │  │  │     └─ linker File#computeAssignedVariables           1,523 ms (333)
| │  │  └─ JsImage#write.......................................40,979 ms (7)
| │  │     └─ Builder#copyNodeModulesDirectory.................40,414 ms (52)
| │  │        ├─ Builder#_ensureDirectory.......................3,475 ms (4134)
| │  │        │  ├─ files.stat                                  1,360 ms (12612)
| │  │        │  └─ other Builder#_ensureDirectory              1,715 ms
| │  │        ├─ optimistic lstatOrNull........................11,306 ms (46047)
| │  │        │  ├─ optimistic lstat                            5,005 ms (46047)
| │  │        │  └─ other optimistic lstatOrNull                6,296 ms
| │  │        ├─ optimistic statOrNull                          4,974 ms (41863)
| │  │        ├─ optimistic readFile............................8,799 ms (41863)
| │  │        │  ├─ files.readFile                              4,036 ms (41863)
| │  │        │  └─ other optimistic readFile                   4,764 ms
| │  │        ├─ files.writeFile                                4,397 ms (41863)
| │  │        └─ other Builder#copyNodeModulesDirectory         6,729 ms
| │  ├─ bundler.readJsImage....................................22,078 ms (7)
| │  │  └─ meteorNpm.rebuildIfNonPortable......................21,969 ms (52)
| │  │     ├─ meteorNpm.isPortable..............................7,537 ms (1061)
| │  │     │  └─ meteorNpm.isPortable...........................6,569 ms (2773)
| │  │     │     └─ meteorNpm.isPortable........................5,938 ms (3573)
| │  │     │        └─ meteorNpm.isPortable.....................5,167 ms (3170)
| │  │     │           └─ meteorNpm.isPortable..................4,494 ms (1858)
| │  │     │              └─ meteorNpm.isPortable...............3,794 ms (1536)
| │  │     │                 └─ meteorNpm.isPortable............3,163 ms (1947)
| │  │     │                    └─ meteorNpm.isPortable.........2,432 ms (1238)
| │  │     │                       └─ meteorNpm.isPortable......1,861 ms (1499)
| │  │     │                          └─ meteorNpm.isPortable   1,237 ms (1438)
| │  │     ├─ meteorNpm.runNpmCommand                           1,130 ms (1)
| │  │     └─ other meteorNpm.rebuildIfNonPortable             12,773 ms
| │  └─ other _downloadMissingPackages                         28,573 ms
| └─ _buildLocalPackages.......................................32,837 ms (1)
|    ├─ _ensurePackageLoaded(accounts-base).....................2,069 ms (1)
|    │  └─ _ensurePackageLoaded(ecmascript)                     1,154 ms (1)
|    ├─ _ensurePackageLoaded(coffeescript)......................8,844 ms (1)
|    │  └─ IsopackCache Load local isopack......................8,844 ms (1)
|    │     └─ Isopack#initFromPath..............................8,843 ms (1)
|    │        └─ bundler.readJsImage............................8,842 ms (1)
|    │           └─ meteorNpm.rebuildIfNonPortable..............8,747 ms (8)
|    │              └─ meteorNpm.isPortable.....................8,742 ms (11)
|    │                 └─ meteorNpm.isPortable..................8,704 ms (77)
|    │                    └─ meteorNpm.isPortable...............8,615 ms (54)
|    │                       └─ meteorNpm.isPortable............8,450 ms (143)
|    │                          └─ meteorNpm.isPortable.........8,248 ms (697)
|    │                             └─ meteorNpm.isPortable......7,083 ms (1284)
|    │                                └─ meteorNpm.isPortable...5,971 ms (1947)
|    │                                   └─ meteorNpm.isPortable.4,602 ms (1238)
|    │                                      └─ meteorNpm.isPortable.3,658 ms (1499)
|    │                                         └─ meteorNpm.isPortable.2,190 ms (1438)
|    │                                            └─ meteorNpm.isPortable 1,249 ms (1024)
|    ├─ _ensurePackageLoaded(cultofcoders:grapher)..............4,878 ms (1)
|    │  └─ _ensurePackageLoaded(matb33:collection-hooks)........3,798 ms (1)
|    │     └─ IsopackCache Load local isopack...................3,798 ms (1)
|    │        └─ Isopack#initFromPath...........................3,776 ms (1)
|    │           └─ meteorNpm.rebuildIfNonPortable..............3,747 ms (1)
|    │              └─ meteorNpm.isPortable.....................3,531 ms (129)
|    │                 └─ meteorNpm.isPortable..................2,777 ms (1298)
|    │                    └─ meteorNpm.isPortable               1,694 ms (983)
|    ├─ _ensurePackageLoaded(cultofcoders:mocha)................2,394 ms (1)
|    │  └─ _ensurePackageLoaded(templating).....................1,935 ms (1)
|    │     └─ _ensurePackageLoaded(templating-runtime)..........1,931 ms (1)
|    │        └─ _ensurePackageLoaded(templating-compiler)......1,920 ms (1)
|    │           └─ IsopackCache Load local isopack.............1,920 ms (1)
|    │              └─ Isopack#initFromPath.....................1,920 ms (1)
|    │                 └─ bundler.readJsImage...................1,917 ms (1)
|    │                    └─ meteorNpm.rebuildIfNonPortable.....1,878 ms (9)
|    │                       └─ meteorNpm.isPortable............1,825 ms (178)
|    │                          └─ meteorNpm.isPortable         1,349 ms (1402)
|    ├─ _ensurePackageLoaded(fortawesome:fontawesome)...........1,192 ms (1)
|    │  └─ IsopackCache Load local isopack......................1,192 ms (1)
|    │     └─ Isopack#initFromPath..............................1,192 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................1,174 ms (1)
|    │           └─ meteorNpm.isPortable                        1,067 ms (272)
|    ├─ _ensurePackageLoaded(lmieulet:meteor-coverage)..........1,435 ms (1)
|    │  └─ IsopackCache Load local isopack......................1,435 ms (1)
|    │     └─ Isopack#initFromPath..............................1,434 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................1,422 ms (1)
|    │           └─ meteorNpm.isPortable                        1,327 ms (206)
|    ├─ _ensurePackageLoaded(okgrow:analytics)..................5,376 ms (1)
|    │  └─ IsopackCache Load local isopack......................5,376 ms (1)
|    │     └─ Isopack#initFromPath..............................5,375 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................5,373 ms (4)
|    │           └─ meteorNpm.isPortable........................5,344 ms (49)
|    │              └─ meteorNpm.isPortable.....................5,198 ms (347)
|    │                 └─ meteorNpm.isPortable..................4,904 ms (2674)
|    │                    └─ meteorNpm.isPortable...............3,536 ms (3796)
|    │                       ├─ optimistic lstat                1,863 ms (3796)
|    │                       └─ meteorNpm.isPortable            1,162 ms (1824)
|    └─ _ensurePackageLoaded(static-html).......................2,308 ms (1)
|       └─ IsopackCache Load local isopack......................2,308 ms (1)
|          └─ Isopack#initFromPath..............................2,307 ms (1)
|             └─ bundler.readJsImage............................2,304 ms (1)
|                └─ meteorNpm.rebuildIfNonPortable..............2,262 ms (9)
|                   └─ meteorNpm.isPortable.....................2,233 ms (142)
|                      └─ meteorNpm.isPortable..................1,719 ms (1294)
|                         └─ meteorNpm.isPortable               1,209 ms (1776)
|
| Top leaves:
| other _downloadMissingPackages..........................28,573 ms (1)
| other meteorNpm.rebuildIfNonPortable....................12,884 ms (114)
| other Builder#copyNodeModulesDirectory..................10,415 ms (81)
| files.readFile..........................................10,199 ms (90506)
| other optimistic lstatOrNull.............................9,874 ms (88243)
| files.writeFile..........................................8,113 ms (82443)
| other optimistic readFile................................7,879 ms (79202)
| files.stat...............................................7,022 ms (135288)
| other meteorNpm.isPortable...............................5,149 ms (57704)
| files.lstat..............................................3,304 ms (138570)
| other Builder#_ensureDirectory...........................2,942 ms (8924)
| files.readdir............................................1,675 ms (14031)
| linker File#computeAssignedVariables.....................1,523 ms (333)
| files.read...............................................1,195 ms (5013)
| meteorNpm.runNpmCommand..................................1,130 ms (1)
| files.mkdir..............................................1,055 ms (10869)
| other Isopack#saveToPath...................................428 ms (91)
| files.rm_recursive.........................................277 ms (186)
| files.realpath.............................................185 ms (628)
| files.rename...............................................184 ms (3608)
| other JsImage#write........................................154 ms (7)
| files.open.................................................148 ms (5013)
| getPrelinkedFiles toStringWithSourceMap....................144 ms (69)
| sha1.......................................................101 ms (2713)
|
| (#3) Total: 159,819 ms (ProjectContext prepareProjectForBuild)
|
| (#4) Profiling: Build App                    ... )
| (  Starting your app                         ... )
| wrapped.fs.statSync                                               0 ms (2)
| Build App.................................................1,405,805 ms (1)
| └─ files.withCache........................................1,405,805 ms (1)
|    ├─ compiler.compile(the app)..............................32,879 ms (1)
|    │  └─ files.withCache.....................................32,879 ms (3)
|    │     └─ compileUnibuild (the app)........................32,879 ms (3)
|    │        ├─ Isopack#ensurePluginsInitialized...............7,983 ms (42)
|    │        │  └─ JsImage#load................................7,981 ms (4)
|    │        │     └─ runJavaScript packages/minifier-css.js...4,978 ms (1)
|    │        │        └─ require("/node_modules/meteor/minifier-css/minifier.js").4,941 ms (1)
|    │        │           └─ require("cssnano")                 4,802 ms (1)
|    │        ├─ PackageSource#_findSources....................19,053 ms (3)
|    │        │  └─ files.withCache............................19,052 ms (3)
|    │        │     ├─ files.realpath                           1,466 ms (9422)
|    │        │     ├─ files.readdir                            2,669 ms (18844)
|    │        │     ├─ files.stat                               1,627 ms (37598)
|    │        │     └─ other files.withCache                   12,867 ms
|    │        ├─ optimistic readFile............................1,581 ms (3468)
|    │        │  └─ files.readFile                              1,028 ms (1399)
|    │        └─ other compileUnibuild (the app)                3,804 ms
|    ├─ bundler.bundle..makeClientTarget....................1,019,452 ms (2)
|    │  └─ Target#make......................................1,019,452 ms (2)
|    │     ├─ Target#_runCompilerPlugins.......................27,374 ms (2)
|    │     │  ├─ Isopack#ensurePluginsInitialized...............1,895 ms (664)
|    │     │  │  └─ JsImage#load                                1,878 ms (2)
|    │     │  ├─ plugin coffeescript                            1,140 ms (2)
|    │     │  └─ plugin fourseven:scss                         22,191 ms (2)
|    │     ├─ Target#_emitResources...........................986,470 ms (2)
|    │     │  ├─ PackageSourceBatch.computeJsOutputFilesMap...856,517 ms (2)
|    │     │  │  ├─ ImportScanner#_realPath.....................3,601 ms (3544)
|    │     │  │  │  ├─ optimistic lstatOrNull...................2,117 ms (14316)
|    │     │  │  │  │  └─ optimistic lstat                      1,130 ms (3070)
|    │     │  │  │  └─ other ImportScanner#_realPath            1,067 ms
|    │     │  │  ├─ ImportScanner#scanImports for base64........2,469 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,954 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for ejson.........2,808 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,580 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for ordered-dict..1,205 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,186 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for tracker.......1,195 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,157 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for minimongo....16,113 ms (2)
|    │     │  │  │  └─ Babel.compile                           15,320 ms (16)
|    │     │  │  ├─ ImportScanner#scanImports for check.........1,720 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,609 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for ddp-common....1,501 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,423 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for socket-stream-client.3,338 ms (2)
|    │     │  │  │  └─ Babel.compile                            3,082 ms (1)
|    │     │  │  ├─ ImportScanner#scanImports for ddp-client....8,644 ms (2)
|    │     │  │  │  └─ Babel.compile                            8,080 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for allow-deny....2,625 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,617 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for mongo.........1,607 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,441 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for aldeed:collection2.2,265 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,808 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for reactive-dict.1,495 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,406 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for accounts-base.3,324 ms (2)
|    │     │  │  │  └─ Babel.compile                            3,172 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for aldeed:collection2-core.2,726 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,408 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for practicalmeteor:mocha-core.2,886 ms (2)
|    │     │  │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 1,041 ms (156)
|    │     │  │  │  └─ ImportScanner#_resolve                   1,337 ms (556)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:mocha.6,498 ms (2)
|    │     │  │  │  ├─ Babel.compile                            4,518 ms (18)
|    │     │  │  │  └─ ImportScanner#_resolve...................1,467 ms (216)
|    │     │  │  │     └─ optimistic statOrNull                 1,029 ms (2768)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:grapher.32,518 ms (2)
|    │     │  │  │  ├─ Babel.compile                           29,709 ms (112)
|    │     │  │  │  └─ ImportScanner#_resolve...................1,659 ms (313)
|    │     │  │  │     └─ optimistic statOrNull                 1,200 ms (1908)
|    │     │  │  ├─ ImportScanner#scanImports for react-meteor-data.1,876 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,723 ms (6)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:grapher-react.4,573 ms (2)
|    │     │  │  │  └─ Babel.compile                            4,164 ms (20)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:mutations.2,498 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,410 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for std:accounts-ui.17,943 ms (2)
|    │     │  │  │  └─ Babel.compile                           16,913 ms (32)
|    │     │  │  ├─ ImportScanner#scanImports for okgrow:analytics.5,599 ms (2)
|    │     │  │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 3,343 ms (10)
|    │     │  │  │  └─ ImportScanner#_resolve...................1,726 ms (266)
|    │     │  │  │     └─ optimistic statOrNull                 1,363 ms (3834)
|    │     │  │  ├─ ImportScanner#scanImports for meteortesting:mocha.1,107 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,014 ms (6)
|    │     │  │  ├─ ImportScanner#scanImports for the app.....697,679 ms (2)
|    │     │  │  │  ├─ Babel.compile                          544,028 ms (1346)
|    │     │  │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 30,784 ms (7534)
|    │     │  │  │  ├─ ImportScanner#_resolve.................101,915 ms (20620)
|    │     │  │  │  │  ├─ optimistic statOrNull................77,419 ms (196919)
|    │     │  │  │  │  │  ├─ safeWatcher.watch..................9,373 ms (14046)
|    │     │  │  │  │  │  │  ├─ files.stat                      5,682 ms (10525)
|    │     │  │  │  │  │  │  └─ other safeWatcher.watch         3,691 ms
|    │     │  │  │  │  │  ├─ files.stat                        31,408 ms (52017)
|    │     │  │  │  │  │  ├─ files.lstat                        3,835 ms (7242)
|    │     │  │  │  │  │  └─ other optimistic statOrNull       32,803 ms
|    │     │  │  │  │  ├─ optimistic readJsonOrNull.............3,402 ms (2039)
|    │     │  │  │  │  │  ├─ optimistic readFile................2,066 ms (1722)
|    │     │  │  │  │  │  │  └─ files.readFile                  1,861 ms (1722)
|    │     │  │  │  │  │  └─ other optimistic readJsonOrNull    1,061 ms
|    │     │  │  │  │  └─ other ImportScanner#_resolve         19,758 ms
|    │     │  │  │  ├─ ImportScanner#_getAbsModuleId            1,074 ms (6188)
|    │     │  │  │  ├─ ImportScanner#_realPath..................5,971 ms (6188)
|    │     │  │  │  │  ├─ optimistic lstatOrNull................2,576 ms (32250)
|    │     │  │  │  │  │  ├─ optimistic lstat                   1,201 ms (3983)
|    │     │  │  │  │  │  └─ other optimistic lstatOrNull       1,376 ms
|    │     │  │  │  │  └─ other ImportScanner#_realPath         3,394 ms
|    │     │  │  │  ├─ ImportScanner#_readFile..................5,924 ms (6190)
|    │     │  │  │  │  ├─ optimistic readFile...................3,895 ms (6190)
|    │     │  │  │  │  │  └─ files.readFile                     3,048 ms (3098)
|    │     │  │  │  │  └─ other ImportScanner#_readFile         1,134 ms
|    │     │  │  │  └─ other ImportScanner#scanImports for the app 7,411 ms
|    │     │  │  ├─ ImportScanner#scanMissingModules for the app.5,422 ms (4)
|    │     │  │  │  └─ ImportScanner#_resolve...................3,179 ms (1185)
|    │     │  │  │     └─ optimistic statOrNull                 2,376 ms (5135)
|    │     │  │  ├─ ImportScanner#scanMissingModules for socket-stream-client.7,705 ms (2)
|    │     │  │  │  └─ Babel.compile                            6,971 ms (7)
|    │     │  │  └─ other PackageSourceBatch.computeJsOutputFilesMap 1,189 ms
|    │     │  ├─ PackageSourceBatch#getResources..............128,802 ms (256)
|    │     │  │  └─ PackageSourceBatch#_linkJS................128,680 ms (256)
|    │     │  │     ├─ linker.fullLink........................113,092 ms (256)
|    │     │  │     │  ├─ linker Module#getPrelinkedFiles......81,973 ms (256)
|    │     │  │     │  │  ├─ linker File#getPrelinkedOutput    41,606 ms (9511)
|    │     │  │     │  │  ├─ getPrelinkedFiles toStringWithSourceMap 36,044 ms (256)
|    │     │  │     │  │  └─ other linker Module#getPrelinkedFiles 4,323 ms
|    │     │  │     │  ├─ linker Module#computeAssignedVariables.27,149 ms (254)
|    │     │  │     │  │  └─ linker File#computeAssignedVariables 26,807 ms (8200)
|    │     │  │     │  └─ other linker.fullLink                 3,966 ms
|    │     │  │     ├─ files.rm_recursive                       1,106 ms (256)
|    │     │  │     └─ other PackageSourceBatch#_linkJS        12,961 ms
|    │     │  └─ other Target#_emitResources                    1,137 ms
|    │     ├─ Target#minifyJs                                   3,169 ms (2)
|    │     └─ ClientTarget#minifyCss............................2,066 ms (2)
|    │        └─ minifyCssFiles.................................2,065 ms (2)
|    │           └─ mergeCss                                    1,977 ms (2)
|    ├─ bundler.bundle..makeServerTarget......................318,133 ms (1)
|    │  └─ Target#make........................................318,132 ms (1)
|    │     └─ Target#_emitResources...........................317,289 ms (1)
|    │        ├─ PackageSourceBatch.computeJsOutputFilesMap...261,190 ms (1)
|    │        │  ├─ ImportScanner#_realPath.....................2,549 ms (1420)
|    │        │  │  └─ optimistic lstatOrNull                   1,757 ms (5118)
|    │        │  ├─ ImportScanner#scanImports for ejson.........1,419 ms (1)
|    │        │  │  └─ Babel.compile                            1,328 ms (2)
|    │        │  ├─ ImportScanner#scanImports for minimongo....10,306 ms (1)
|    │        │  │  └─ Babel.compile                            9,698 ms (8)
|    │        │  ├─ ImportScanner#scanImports for check         1,054 ms (1)
|    │        │  ├─ ImportScanner#scanImports for ddp-client....3,547 ms (1)
|    │        │  │  └─ Babel.compile                            3,219 ms (4)
|    │        │  ├─ ImportScanner#scanImports for boilerplate-generator.1,101 ms (1)
|    │        │  │  └─ Babel.compile                            1,031 ms (4)
|    │        │  ├─ ImportScanner#scanImports for webapp........2,953 ms (1)
|    │        │  │  └─ Babel.compile                            2,594 ms (3)
|    │        │  ├─ ImportScanner#scanImports for ddp-server....2,504 ms (1)
|    │        │  │  └─ Babel.compile                            2,306 ms (5)
|    │        │  ├─ ImportScanner#scanImports for mongo.........4,738 ms (1)
|    │        │  │  └─ Babel.compile                            4,304 ms (10)
|    │        │  ├─ ImportScanner#scanImports for aldeed:collection2.1,375 ms (1)
|    │        │  │  └─ Babel.compile                            1,225 ms (1)
|    │        │  ├─ ImportScanner#scanImports for aldeed:collection2-core.1,459 ms (1)
|    │        │  │  └─ Babel.compile                            1,296 ms (1)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:mocha.3,262 ms (1)
|    │        │  │  └─ Babel.compile                            2,417 ms (10)
|    │        │  ├─ ImportScanner#scanImports for accounts-base.3,233 ms (1)
|    │        │  │  └─ Babel.compile                            3,048 ms (5)
|    │        │  ├─ ImportScanner#scanImports for reywood:publish-composite.1,526 ms (1)
|    │        │  │  └─ Babel.compile                            1,377 ms (7)
|    │        │  ├─ ImportScanner#scanImports for herteby:denormalize.1,666 ms (1)
|    │        │  │  └─ Babel.compile                            1,545 ms (4)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:grapher.19,766 ms (1)
|    │        │  │  └─ Babel.compile                           17,741 ms (76)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:grapher-react.2,173 ms (1)
|    │        │  │  └─ Babel.compile                            1,867 ms (10)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:mutations 1,030 ms (1)
|    │        │  ├─ ImportScanner#scanImports for accounts-password.1,750 ms (1)
|    │        │  │  └─ Babel.compile                            1,748 ms (2)
|    │        │  ├─ ImportScanner#scanImports for std:accounts-ui.8,238 ms (1)
|    │        │  │  ├─ Babel.compile                            6,635 ms (17)
|    │        │  │  └─ ImportScanner#_findImportedModuleIdentifiers 1,370 ms (17)
|    │        │  ├─ ImportScanner#scanImports for lmieulet:meteor-coverage.5,485 ms (1)
|    │        │  │  └─ Babel.compile                            4,918 ms (20)
|    │        │  ├─ ImportScanner#scanImports for meteortesting:browser-tests 1,081 ms (1)
|    │        │  ├─ ImportScanner#scanImports for the app.....163,509 ms (1)
|    │        │  │  ├─ Babel.compile                          150,305 ms (439)
|    │        │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 4,195 ms (440)
|    │        │  │  ├─ ImportScanner#_resolve...................6,045 ms (1702)
|    │        │  │  │  ├─ optimistic statOrNull.................3,717 ms (14397)
|    │        │  │  │  │  ├─ files.stat                         1,308 ms (1095)
|    │        │  │  │  │  └─ other optimistic statOrNull        1,676 ms
|    │        │  │  │  └─ other ImportScanner#_resolve          2,163 ms
|    │        │  │  └─ other ImportScanner#scanImports for the app 2,819 ms
|    │        │  └─ ImportScanner#scanMissingModules for socket-stream-client.1,483 ms (1)
|    │        │     └─ Babel.compile                            1,304 ms (3)
|    │        └─ PackageSourceBatch#getResources...............56,077 ms (140)
|    │           └─ PackageSourceBatch#_linkJS.................56,019 ms (140)
|    │              ├─ linker.fullLink.........................52,339 ms (140)
|    │              │  ├─ linker Module#getPrelinkedFiles......39,245 ms (140)
|    │              │  │  ├─ linker File#getPrelinkedOutput    18,940 ms (1180)
|    │              │  │  └─ getPrelinkedFiles toStringWithSourceMap 19,761 ms (140)
|    │              │  └─ linker Module#computeAssignedVariables.12,190 ms (139)
|    │              │     └─ linker File#computeAssignedVariables 12,115 ms (741)
|    │              └─ other PackageSourceBatch#_linkJS         3,003 ms
|    └─ bundler writeSiteArchive...............................35,201 ms (1)
|       └─ bundler writeTargetToPath...........................35,100 ms (3)
|          ├─ ClientTarget#write................................3,873 ms (2)
|          │  ├─ bundler writeFile                              1,089 ms (660)
|          │  └─ other ClientTarget#write                       2,248 ms
|          └─ ServerTarget#write...............................31,168 ms (1)
|             └─ JsImage#write.................................30,697 ms (1)
|                ├─ meteorNpm.isPortable.......................24,728 ms (39)
|                │  └─ meteorNpm.isPortable....................24,208 ms (1049)
|                │     ├─ optimistic lstat......................5,117 ms (1049)
|                │     │  └─ safeWatcher.watch                  3,981 ms (970)
|                │     ├─ optimistic statOrNull                 1,430 ms (1049)
|                │     ├─ optimistic readJsonOrNull.............1,348 ms (1085)
|                │     │  └─ optimistic readFile................1,089 ms (1085)
|                │     │     └─ files.readFile                  1,028 ms (1085)
|                │     └─ meteorNpm.isPortable.................16,103 ms (368)
|                │        └─ meteorNpm.isPortable..............14,646 ms (5970)
|                │           ├─ optimistic lstat                4,467 ms (5970)
|                │           └─ meteorNpm.isPortable............8,525 ms (3213)
|                │              ├─ optimistic lstat             2,296 ms (3213)
|                │              └─ meteorNpm.isPortable.........4,352 ms (4424)
|                │                 ├─ optimistic lstat          2,706 ms (4424)
|                │                 └─ meteorNpm.isPortable      1,188 ms (302)
|                ├─ Builder#copyNodeModulesDirectory............4,180 ms (39)
|                │  ├─ optimistic statOrNull                    1,283 ms (3805)
|                │  └─ other Builder#copyNodeModulesDirectory   1,362 ms
|                └─ other JsImage#write                         1,468 ms
|
| Top leaves:
| Babel.compile..........................................905,009 ms (2367)
| linker File#getPrelinkedOutput..........................60,546 ms (10691)
| getPrelinkedFiles toStringWithSourceMap.................55,805 ms (396)
| ImportScanner#_findImportedModuleIdentifiers............50,800 ms (9033)
| files.stat..............................................49,636 ms (123070)
| linker File#computeAssignedVariables....................38,922 ms (8941)
| other optimistic statOrNull.............................34,480 ms (211316)
| other ImportScanner#_resolve............................23,476 ms (24302)
| other PackageSourceBatch#_linkJS........................15,964 ms (396)
| other files.withCache...................................12,977 ms (7)
| other ImportScanner#scanImports for the app.............10,230 ms (3)
| files.lstat..............................................9,172 ms (33782)
| files.readFile...........................................8,977 ms (9152)
| other ImportScanner#_realPath............................4,984 ms (11152)
| other linker.fullLink....................................4,869 ms (396)
| other linker Module#getPrelinkedFiles....................4,868 ms (396)
| other compileUnibuild (the app)..........................3,804 ms (3)
| other safeWatcher.watch..................................3,691 ms (14046)
| Target#minifyJs..........................................3,169 ms (2)
| files.readdir............................................2,961 ms (19788)
| other meteorNpm.isPortable...............................2,817 ms (15063)
| other ClientTarget#write.................................2,248 ms (2)
| other optimistic lstatOrNull.............................2,175 ms (46566)
| files.realpath...........................................2,171 ms (11872)
| ImportScanner#_getAbsModuleId............................2,098 ms (12793)
| other JsImage#write......................................1,468 ms (1)
| other optimistic readFile................................1,432 ms (12465)
| other PackageSourceBatch.computeJsOutputFilesMap.........1,375 ms (3)
| other Builder#copyNodeModulesDirectory...................1,362 ms (39)
| other optimistic readJsonOrNull..........................1,320 ms (3124)
| files.rm_recursive.......................................1,183 ms (273)
| other Target#_emitResources..............................1,158 ms (3)
| other ImportScanner#_readFile............................1,134 ms (6190)
| CssTools.stringifyCss......................................907 ms (1)
| files.writeFile............................................871 ms (1582)
| other optimistic lstat.....................................755 ms (1049)
| Isopack#getUnibuildAtArch..................................536 ms (14424)
| sha1.......................................................527 ms (8792)
| plugin ecmascript..........................................525 ms (3)
| other ImportScanner#scanImports for cultofcoders:grapher...518 ms (3)
| composing source maps......................................481 ms (1)
| other linker Module#computeAssignedVariables...............417 ms (393)
| other ServerTarget#write...................................407 ms (1)
| other ImportScanner#scanImports for base64.................401 ms (2)
| other ImportScanner#scanMissingModules for the app.........366 ms (4)
| safeWatcher.watch..........................................366 ms (2944)
| other Target#_runCompilerPlugins...........................338 ms (2)
| files.symlink..............................................332 ms (1818)
| CssTools.parseCss..........................................309 ms (10)
| files.rename...............................................285 ms (1522)
| plugin meteor..............................................265 ms (2)
| wrapped.fs.readFileSync....................................262 ms (318)
| other ImportScanner#scanImports for std:accounts-ui........237 ms (3)
| CssTools.rewriteCssUrls....................................195 ms (10)
| sha512.....................................................182 ms (952)
| other PackageSourceBatch#getResources......................179 ms (396)
| require("./security.js")...................................172 ms (3)
| other ImportScanner#scanImports for minimongo..............155 ms (3)
| other ImportScanner#scanImports for lmieulet:meteor-coverage.122 ms (1)
| other ImportScanner#scanImports for cultofcoders:mocha.....121 ms (3)
| other ImportScanner#scanImports for ddp-client.............114 ms (3)
|
| (#4) Total: 1,405,805 ms (Build App)
With a simple circle CI config, for reproduction, Total: 1,169,319 ms
version: 2
jobs:
  build:
    working_directory: ~/app
    docker:
      - image: circleci/openjdk:10-jdk-node-browsers
        environment:
          # lang settings required for Meteor's Mongo
          LANG: C.UTF-8
          LANGUAGE: C.UTF-8
          LC_ALL: C.UTF-8
          LC_NUMERIC: en_US.UTF-8
          METEOR_VERSION: 1.7
          NODE_ENV: development
          TOOL_NODE_FLAGS: '--max_old_space_size=8192 --optimize_for_size --gc-interval=100' # if builds run out of memory
          METEOR_PROFILE: 1000 # If you need to debug meteor, turn this on
          # Used to to know in our scripts if we're on CircleCI environment or not
          CIRCLE_CI: 1
    steps:
      - checkout
      - run:
          name: install meteor
          command: |
            curl "https://install.meteor.com?release=$METEOR_VERSION" | /bin/sh
            meteor update --release 1.7.1-beta.19
      - run:
          name: run tests for App
          command: |
            cd microservices/app
            # Using 3.6.0 because of this: https://github.com/meteortesting/meteor-mocha/issues/54
            # Using chromedriver 2.37 because 2.38 is incompatible with selenium >3.6.0
            meteor npm i selenium-webdriver@3.6.0 chromedriver@2.37.0 --no-save
            # meteor npm i nightmare --no-save
            meteor npm i
            meteor npm run test-CI

workflows:
  version: 2
  build-and-deploy:
    jobs:
      - build
Removing `jsdom`, `@babel/runtime` and `flow-bin` Total: 1,133,847 ms
meteor npm i selenium-webdriver@3.6.0 chromedriver@2.37.0 --no-save
# meteor npm i nightmare --no-save
meteor npm i
meteor npm run test-CI


> bcrypt@2.0.1 install /home/circleci/app/microservices/app/node_modules/bcrypt
> node-pre-gyp install --fallback-to-build

[bcrypt] Success: "/home/circleci/app/microservices/app/node_modules/bcrypt/lib/binding/bcrypt_lib.node" is installed via remote

> chromedriver@2.37.0 install /home/circleci/app/microservices/app/node_modules/chromedriver
> node install.js

Downloading https://chromedriver.storage.googleapis.com/2.37/chromedriver_linux64.zip
Saving to /tmp/chromedriver/chromedriver_linux64.zip
Received 781K...
Received 1568K...
Received 2352K...
Received 3136K...
Received 3632K total.
Extracting zip contents
Copying to target path /home/circleci/app/microservices/app/node_modules/chromedriver/lib/chromedriver
Fixing file permissions
Done. ChromeDriver binary available at /home/circleci/app/microservices/app/node_modules/chromedriver/lib/chromedriver/chromedriver

> jss@9.8.7 postinstall /home/circleci/app/microservices/app/node_modules/jss
> node -e "console.log('\u001b[35m\u001b[1mLove JSS? You can now support us on open collective:\u001b[22m\u001b[39m\n > \u001b[34mhttps://opencollective.com/jss/donate\u001b[0m')"

Love JSS? You can now support us on open collective:
 > https://opencollective.com/jss/donate
+ chromedriver@2.37.0
+ selenium-webdriver@3.6.0
added 840 packages from 1529 contributors and audited 4839 packages in 30.246s
found 1 low severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details
npm WARN react-intl@2.3.0 requires a peer of react@^0.14.9 || ^15.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN uniforms@1.25.0 requires a peer of graphql@>=0.8.2 <1.0.0 but none is installed. You must install peer dependencies yourself.

removed 67 packages and audited 4839 packages in 5.801s
found 1 low severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details

> epotek-app@ test-CI /home/circleci/app/microservices/app
> SERVER_TEST_REPORTER=xunit XUNIT_FILE=~/app/results/unit.xml TEST_BROWSER_DRIVER=chrome meteor test --once --driver-package meteortesting:mocha --settings settings-dev.json

| (#1) Profiling: ProjectContext initializeCatalog
| (  Preparing project                         ... )
| ProjectContext initializeCatalog                                 25 ms (1)
|
| Top leaves:
|
| (#1) Total: 25 ms (ProjectContext initializeCatalog)
|
| (#2) Profiling: ProjectContext resolveConstraints
| (  Selecting package versions                ... )
| ProjectContext resolveConstraints.............................7,080 ms (1)
| └─ _resolveConstraints........................................7,080 ms (1)
|    └─ Select Package Versions.................................6,240 ms (1)
|       ├─ Input#loadFromCatalog                                3,255 ms (1)
|       └─ Solver#getAnswer.....................................2,715 ms (1)
|          └─ generate constraints                              1,242 ms (1)
|
| Top leaves:
| generate constraints.....................................1,242 ms (1)
| sqlite query...............................................964 ms (439)
| minimize conflicts.........................................573 ms (1)
| new Logic.Solver (MiniSat start-up)........................256 ms (1)
| require("./security.js")...................................195 ms (1)
| generate package variables.................................129 ms (1)
| pre-solve..................................................129 ms (1)
| generate dependency requirements...........................118 ms (1)
| analyze allowed versions...................................112 ms (1)
|
| (#2) Total: 7,080 ms (ProjectContext resolveConstraints)
|
[[[[[ Tests ]]]]]

=> Started proxy.
| (#3) Profiling: ProjectContext prepareProjectForBuild
=> Started MongoDB.
| (  Building local packages                   ... )
| files.stat                                                        0 ms (1)
| files.readFile                                                    0 ms (1)
| files.readdir                                                     0 ms (1)
| files.writeFile                                                   0 ms (1)
| ProjectContext prepareProjectForBuild.......................114,187 ms (1)
| ├─ _downloadMissingPackages..................................97,068 ms (1)
| │  ├─ Isopack#saveToPath.....................................44,745 ms (91)
| │  │  ├─ linker.prelink.......................................1,234 ms (69)
| │  │  │  └─ linker Module#computeAssignedVariables............1,081 ms (69)
| │  │  │     └─ linker File#computeAssignedVariables           1,076 ms (333)
| │  │  ├─ Builder#copyNodeModulesDirectory....................18,786 ms (29)
| │  │  │  ├─ Builder#_ensureDirectory                          2,395 ms (4790)
| │  │  │  ├─ optimistic lstatOrNull............................4,410 ms (42196)
| │  │  │  │  ├─ optimistic lstat                               1,543 ms (42196)
| │  │  │  │  └─ other optimistic lstatOrNull                   2,853 ms
| │  │  │  ├─ optimistic statOrNull                             2,580 ms (37339)
| │  │  │  ├─ optimistic readFile...............................3,518 ms (37339)
| │  │  │  │  ├─ files.readFile                                 1,758 ms (37339)
| │  │  │  │  └─ other optimistic readFile                      1,759 ms
| │  │  │  ├─ files.writeFile                                   2,611 ms (37339)
| │  │  │  └─ other Builder#copyNodeModulesDirectory            2,917 ms
| │  │  └─ JsImage#write.......................................23,470 ms (7)
| │  │     └─ Builder#copyNodeModulesDirectory.................23,153 ms (52)
| │  │        ├─ Builder#_ensureDirectory                       1,818 ms (4134)
| │  │        ├─ optimistic lstatOrNull.........................7,144 ms (46047)
| │  │        │  ├─ optimistic lstat                            2,337 ms (46047)
| │  │        │  └─ other optimistic lstatOrNull                4,805 ms
| │  │        ├─ optimistic statOrNull                          3,178 ms (41863)
| │  │        ├─ optimistic readFile............................3,918 ms (41863)
| │  │        │  ├─ files.readFile                              1,394 ms (41863)
| │  │        │  └─ other optimistic readFile                   2,523 ms
| │  │        ├─ files.writeFile                                2,940 ms (41863)
| │  │        └─ other Builder#copyNodeModulesDirectory         3,655 ms
| │  ├─ meteorNpm.rebuildIfNonPortable..........................6,887 ms (29)
| │  │  └─ meteorNpm.isPortable.................................6,573 ms (1011)
| │  │     └─ meteorNpm.isPortable..............................5,801 ms (5739)
| │  │        └─ meteorNpm.isPortable...........................4,727 ms (6762)
| │  │           └─ meteorNpm.isPortable........................3,047 ms (7242)
| │  │              ├─ optimistic lstat                         1,299 ms (7242)
| │  │              └─ meteorNpm.isPortable                     1,160 ms (3267)
| │  ├─ bundler.readJsImage....................................18,232 ms (7)
| │  │  └─ meteorNpm.rebuildIfNonPortable......................18,110 ms (52)
| │  │     ├─ meteorNpm.isPortable..............................9,133 ms (1061)
| │  │     │  └─ meteorNpm.isPortable...........................8,486 ms (2773)
| │  │     │     └─ meteorNpm.isPortable........................7,971 ms (3573)
| │  │     │        └─ meteorNpm.isPortable.....................7,345 ms (3170)
| │  │     │           └─ meteorNpm.isPortable..................6,467 ms (1858)
| │  │     │              └─ meteorNpm.isPortable...............5,392 ms (1536)
| │  │     │                 └─ meteorNpm.isPortable............4,373 ms (1947)
| │  │     │                    └─ meteorNpm.isPortable.........3,037 ms (1238)
| │  │     │                       └─ meteorNpm.isPortable......2,327 ms (1499)
| │  │     │                          └─ meteorNpm.isPortable   1,524 ms (1438)
| │  │     └─ other meteorNpm.rebuildIfNonPortable              7,841 ms
| │  └─ other _downloadMissingPackages                         26,858 ms
| └─ _buildLocalPackages.......................................17,118 ms (1)
|    ├─ _ensurePackageLoaded(coffeescript)......................2,904 ms (1)
|    │  └─ IsopackCache Load local isopack......................2,904 ms (1)
|    │     └─ Isopack#initFromPath..............................2,904 ms (1)
|    │        └─ bundler.readJsImage............................2,903 ms (1)
|    │           └─ meteorNpm.rebuildIfNonPortable..............2,870 ms (8)
|    │              └─ meteorNpm.isPortable.....................2,867 ms (11)
|    │                 └─ meteorNpm.isPortable..................2,849 ms (77)
|    │                    └─ meteorNpm.isPortable...............2,826 ms (54)
|    │                       └─ meteorNpm.isPortable............2,752 ms (143)
|    │                          └─ meteorNpm.isPortable.........2,686 ms (697)
|    │                             └─ meteorNpm.isPortable......2,306 ms (1284)
|    │                                └─ meteorNpm.isPortable...1,927 ms (1947)
|    │                                   └─ meteorNpm.isPortable.1,449 ms (1238)
|    │                                      └─ meteorNpm.isPortable 1,151 ms (1499)
|    ├─ _ensurePackageLoaded(cultofcoders:grapher)              1,202 ms (1)
|    ├─ _ensurePackageLoaded(cultofcoders:mocha)................1,745 ms (1)
|    │  └─ _ensurePackageLoaded(templating).....................1,562 ms (1)
|    │     └─ _ensurePackageLoaded(templating-runtime)..........1,562 ms (1)
|    │        └─ _ensurePackageLoaded(templating-compiler)......1,559 ms (1)
|    │           └─ IsopackCache Load local isopack.............1,559 ms (1)
|    │              └─ Isopack#initFromPath.....................1,558 ms (1)
|    │                 └─ bundler.readJsImage...................1,558 ms (1)
|    │                    └─ meteorNpm.rebuildIfNonPortable.....1,513 ms (9)
|    │                       └─ meteorNpm.isPortable............1,423 ms (178)
|    │                          └─ meteorNpm.isPortable         1,178 ms (1402)
|    ├─ _ensurePackageLoaded(lmieulet:meteor-coverage)..........1,324 ms (1)
|    │  └─ IsopackCache Load local isopack......................1,324 ms (1)
|    │     └─ Isopack#initFromPath..............................1,324 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................1,315 ms (1)
|    │           └─ meteorNpm.isPortable                        1,256 ms (206)
|    ├─ _ensurePackageLoaded(okgrow:analytics)..................4,524 ms (1)
|    │  └─ IsopackCache Load local isopack......................4,524 ms (1)
|    │     └─ Isopack#initFromPath..............................4,524 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................4,521 ms (4)
|    │           └─ meteorNpm.isPortable........................4,500 ms (49)
|    │              └─ meteorNpm.isPortable.....................4,372 ms (347)
|    │                 └─ meteorNpm.isPortable..................4,141 ms (2674)
|    │                    └─ meteorNpm.isPortable...............3,005 ms (3796)
|    │                       └─ optimistic lstat                1,694 ms (3796)
|    └─ _ensurePackageLoaded(static-html).......................1,851 ms (1)
|       └─ IsopackCache Load local isopack......................1,851 ms (1)
|          └─ Isopack#initFromPath..............................1,842 ms (1)
|             └─ bundler.readJsImage............................1,841 ms (1)
|                └─ meteorNpm.rebuildIfNonPortable..............1,818 ms (9)
|                   └─ meteorNpm.isPortable.....................1,773 ms (142)
|                      └─ meteorNpm.isPortable..................1,524 ms (1294)
|                         └─ meteorNpm.isPortable               1,056 ms (1776)
|
| Top leaves:
| other _downloadMissingPackages..........................26,858 ms (1)
| other meteorNpm.rebuildIfNonPortable.....................7,955 ms (112)
| other optimistic lstatOrNull.............................7,658 ms (88243)
| other Builder#copyNodeModulesDirectory...................6,572 ms (81)
| files.writeFile..........................................5,823 ms (82443)
| files.readFile...........................................5,096 ms (90506)
| files.stat...............................................4,957 ms (135288)
| other optimistic readFile................................4,283 ms (79202)
| other meteorNpm.isPortable...............................3,415 ms (53340)
| files.lstat..............................................2,622 ms (138570)
| files.readdir............................................1,184 ms (14031)
| linker File#computeAssignedVariables.....................1,076 ms (333)
| meteorNpm.runNpmCommand....................................777 ms (1)
| files.mkdir................................................703 ms (10869)
| other Isopack#saveToPath...................................387 ms (91)
| files.rename...............................................222 ms (3608)
| files.rm_recursive.........................................166 ms (186)
| other JsImage#write........................................117 ms (7)
| sha1.......................................................106 ms (2713)
| getPrelinkedFiles toStringWithSourceMap....................100 ms (69)
|
| (#3) Total: 114,187 ms (ProjectContext prepareProjectForBuild)
|
| (#4) Profiling: Build App                    ... )
| (  Starting your app                         ... )
| wrapped.fs.statSync                                               0 ms (2)
| Build App.................................................1,133,847 ms (1)
| └─ files.withCache........................................1,133,847 ms (1)
|    ├─ compiler.compile(the app)..............................17,986 ms (1)
|    │  └─ files.withCache.....................................17,986 ms (3)
|    │     └─ compileUnibuild (the app)........................17,986 ms (3)
|    │        ├─ Isopack#ensurePluginsInitialized...............4,772 ms (42)
|    │        │  └─ JsImage#load................................4,758 ms (4)
|    │        │     └─ runJavaScript packages/minifier-css.js...2,845 ms (1)
|    │        │        └─ require("/node_modules/meteor/minifier-css/minifier.js").2,801 ms (1)
|    │        │           └─ require("cssnano")                 2,700 ms (1)
|    │        ├─ PackageSource#_findSources....................10,369 ms (3)
|    │        │  └─ files.withCache............................10,369 ms (3)
|    │        │     ├─ files.readdir                            1,332 ms (17458)
|    │        │     └─ other files.withCache                    7,368 ms
|    │        └─ other compileUnibuild (the app)                1,774 ms
|    ├─ bundler.bundle..makeClientTarget......................807,931 ms (2)
|    │  └─ Target#make........................................807,931 ms (2)
|    │     ├─ Target#_runCompilerPlugins.......................13,915 ms (2)
|    │     │  ├─ Isopack#ensurePluginsInitialized...............2,288 ms (664)
|    │     │  │  └─ JsImage#load                                2,285 ms (2)
|    │     │  ├─ plugin coffeescript                            1,050 ms (2)
|    │     │  └─ plugin fourseven:scss                          8,367 ms (2)
|    │     ├─ Target#_emitResources...........................788,539 ms (2)
|    │     │  ├─ PackageSourceBatch.computeJsOutputFilesMap...687,260 ms (2)
|    │     │  │  ├─ ImportScanner#_realPath.....................3,561 ms (3540)
|    │     │  │  │  ├─ optimistic lstatOrNull                   1,642 ms (14296)
|    │     │  │  │  └─ other ImportScanner#_realPath            1,333 ms
|    │     │  │  ├─ ImportScanner#scanImports for base64........1,584 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,272 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for ejson.........2,162 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,995 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for ordered-dict..1,075 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,034 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for minimongo....14,307 ms (2)
|    │     │  │  │  └─ Babel.compile                           13,524 ms (16)
|    │     │  │  ├─ ImportScanner#scanImports for check.........1,836 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,707 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for ddp-common....1,417 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,360 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for socket-stream-client.3,170 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,836 ms (1)
|    │     │  │  ├─ ImportScanner#scanImports for ddp-client....8,497 ms (2)
|    │     │  │  │  └─ Babel.compile                            7,891 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for mongo.........1,548 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,368 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for aldeed:collection2.2,606 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,171 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for reactive-dict.1,341 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,274 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for accounts-base.2,986 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,826 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for aldeed:collection2-core.2,395 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,087 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for practicalmeteor:mocha-core.3,140 ms (2)
|    │     │  │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 1,534 ms (156)
|    │     │  │  │  └─ ImportScanner#_resolve                   1,254 ms (556)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:mocha.5,815 ms (2)
|    │     │  │  │  ├─ Babel.compile                            4,077 ms (18)
|    │     │  │  │  └─ ImportScanner#_resolve                   1,265 ms (216)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:grapher.29,403 ms (2)
|    │     │  │  │  ├─ Babel.compile                           26,888 ms (112)
|    │     │  │  │  └─ ImportScanner#_resolve                   1,376 ms (313)
|    │     │  │  ├─ ImportScanner#scanImports for react-meteor-data.1,626 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,534 ms (6)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:grapher-react.3,698 ms (2)
|    │     │  │  │  └─ Babel.compile                            3,346 ms (20)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:mutations.2,148 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,063 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for std:accounts-ui.14,378 ms (2)
|    │     │  │  │  └─ Babel.compile                           13,272 ms (32)
|    │     │  │  ├─ ImportScanner#scanImports for okgrow:analytics.3,571 ms (2)
|    │     │  │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 1,103 ms (10)
|    │     │  │  │  └─ ImportScanner#_resolve...................1,885 ms (266)
|    │     │  │  │     └─ optimistic statOrNull                 1,436 ms (3834)
|    │     │  │  ├─ ImportScanner#scanImports for meteortesting:mocha.1,315 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,275 ms (6)
|    │     │  │  ├─ ImportScanner#scanImports for the app.....547,932 ms (2)
|    │     │  │  │  ├─ Babel.compile                          429,860 ms (1346)
|    │     │  │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 24,517 ms (7534)
|    │     │  │  │  ├─ ImportScanner#_resolve..................77,480 ms (20620)
|    │     │  │  │  │  ├─ optimistic statOrNull................56,610 ms (196919)
|    │     │  │  │  │  │  ├─ safeWatcher.watch..................7,754 ms (11900)
|    │     │  │  │  │  │  │  ├─ files.stat                      4,874 ms (10525)
|    │     │  │  │  │  │  │  └─ other safeWatcher.watch         2,880 ms
|    │     │  │  │  │  │  ├─ files.stat                        21,299 ms (44791)
|    │     │  │  │  │  │  ├─ files.lstat                        3,258 ms (7200)
|    │     │  │  │  │  │  └─ other optimistic statOrNull       24,300 ms
|    │     │  │  │  │  ├─ optimistic readJsonOrNull             1,382 ms (2039)
|    │     │  │  │  │  └─ other ImportScanner#_resolve         18,765 ms
|    │     │  │  │  ├─ ImportScanner#_realPath..................5,719 ms (6188)
|    │     │  │  │  │  ├─ optimistic lstatOrNull                2,370 ms (32250)
|    │     │  │  │  │  └─ other ImportScanner#_realPath         3,349 ms
|    │     │  │  │  ├─ ImportScanner#_readFile                  2,811 ms (6190)
|    │     │  │  │  └─ other ImportScanner#scanImports for the app 6,410 ms
|    │     │  │  ├─ ImportScanner#scanMissingModules for the app.4,700 ms (4)
|    │     │  │  │  └─ ImportScanner#_resolve...................3,147 ms (1185)
|    │     │  │  │     └─ optimistic statOrNull                 2,322 ms (5135)
|    │     │  │  ├─ ImportScanner#scanMissingModules for socket-stream-client.6,616 ms (2)
|    │     │  │  │  └─ Babel.compile                            6,017 ms (7)
|    │     │  │  └─ other PackageSourceBatch.computeJsOutputFilesMap 1,222 ms
|    │     │  ├─ PackageSourceBatch#getResources..............100,181 ms (256)
|    │     │  │  └─ PackageSourceBatch#_linkJS................100,068 ms (256)
|    │     │  │     ├─ linker.fullLink.........................89,134 ms (256)
|    │     │  │     │  ├─ linker Module#getPrelinkedFiles......64,017 ms (256)
|    │     │  │     │  │  ├─ linker File#getPrelinkedOutput    32,810 ms (9511)
|    │     │  │     │  │  ├─ getPrelinkedFiles toStringWithSourceMap 28,026 ms (256)
|    │     │  │     │  │  └─ other linker Module#getPrelinkedFiles 3,181 ms
|    │     │  │     │  ├─ linker Module#computeAssignedVariables.22,155 ms (254)
|    │     │  │     │  │  └─ linker File#computeAssignedVariables 21,916 ms (8200)
|    │     │  │     │  └─ other linker.fullLink                 2,960 ms
|    │     │  │     ├─ files.rm_recursive                       1,011 ms (256)
|    │     │  │     └─ other PackageSourceBatch#_linkJS         8,634 ms
|    │     │  └─ other Target#_emitResources                    1,087 ms
|    │     ├─ Target#minifyJs                                   2,820 ms (2)
|    │     └─ ClientTarget#minifyCss............................2,294 ms (2)
|    │        └─ minifyCssFiles.................................2,294 ms (2)
|    │           └─ mergeCss                                    2,244 ms (2)
|    ├─ bundler.bundle..makeServerTarget......................281,904 ms (1)
|    │  └─ Target#make........................................281,903 ms (1)
|    │     └─ Target#_emitResources...........................281,033 ms (1)
|    │        ├─ PackageSourceBatch.computeJsOutputFilesMap...229,771 ms (1)
|    │        │  ├─ ImportScanner#_realPath                     1,785 ms (1420)
|    │        │  ├─ ImportScanner#scanImports for ejson.........2,493 ms (1)
|    │        │  │  └─ Babel.compile                            2,381 ms (2)
|    │        │  ├─ ImportScanner#scanImports for minimongo.....9,475 ms (1)
|    │        │  │  └─ Babel.compile                            8,405 ms (8)
|    │        │  ├─ ImportScanner#scanImports for ddp-client....3,549 ms (1)
|    │        │  │  └─ Babel.compile                            3,131 ms (4)
|    │        │  ├─ ImportScanner#scanImports for webapp........2,537 ms (1)
|    │        │  │  └─ Babel.compile                            2,200 ms (3)
|    │        │  ├─ ImportScanner#scanImports for ddp-server....2,526 ms (1)
|    │        │  │  └─ Babel.compile                            2,362 ms (5)
|    │        │  ├─ ImportScanner#scanImports for mongo.........5,326 ms (1)
|    │        │  │  └─ Babel.compile                            4,929 ms (10)
|    │        │  ├─ ImportScanner#scanImports for shell-server..1,300 ms (1)
|    │        │  │  └─ Babel.compile                            1,188 ms (2)
|    │        │  ├─ ImportScanner#scanImports for aldeed:collection2.1,955 ms (1)
|    │        │  │  └─ Babel.compile                            1,741 ms (1)
|    │        │  ├─ ImportScanner#scanImports for aldeed:collection2-core.1,756 ms (1)
|    │        │  │  └─ Babel.compile                            1,549 ms (1)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:mocha.5,972 ms (1)
|    │        │  │  ├─ Babel.compile                            3,226 ms (10)
|    │        │  │  └─ ImportScanner#_resolve...................2,376 ms (69)
|    │        │  │     └─ optimistic statOrNull.................2,157 ms (544)
|    │        │  │        └─ safeWatcher.watch                  1,125 ms (203)
|    │        │  ├─ ImportScanner#scanImports for accounts-base.2,299 ms (1)
|    │        │  │  └─ Babel.compile                            2,043 ms (5)
|    │        │  ├─ ImportScanner#scanImports for reywood:publish-composite.1,259 ms (1)
|    │        │  │  └─ Babel.compile                            1,123 ms (7)
|    │        │  ├─ ImportScanner#scanImports for herteby:denormalize.1,727 ms (1)
|    │        │  │  └─ Babel.compile                            1,574 ms (4)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:grapher.15,349 ms (1)
|    │        │  │  └─ Babel.compile                           13,104 ms (76)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:grapher-react.1,640 ms (1)
|    │        │  │  └─ Babel.compile                            1,248 ms (10)
|    │        │  ├─ ImportScanner#scanImports for accounts-password.1,391 ms (1)
|    │        │  │  └─ Babel.compile                            1,389 ms (2)
|    │        │  ├─ ImportScanner#scanImports for std:accounts-ui.6,234 ms (1)
|    │        │  │  └─ Babel.compile                            5,731 ms (17)
|    │        │  ├─ ImportScanner#scanImports for lmieulet:meteor-coverage.8,009 ms (1)
|    │        │  │  └─ Babel.compile                            7,148 ms (20)
|    │        │  ├─ ImportScanner#scanImports for the app.....136,305 ms (1)
|    │        │  │  ├─ Babel.compile                          125,415 ms (439)
|    │        │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 4,071 ms (440)
|    │        │  │  ├─ ImportScanner#_resolve...................4,486 ms (1702)
|    │        │  │  │  ├─ optimistic statOrNull                 2,381 ms (14397)
|    │        │  │  │  └─ other ImportScanner#_resolve          1,995 ms
|    │        │  │  └─ other ImportScanner#scanImports for the app 2,109 ms
|    │        │  └─ ImportScanner#scanMissingModules for socket-stream-client.1,413 ms (1)
|    │        │     └─ Babel.compile                            1,399 ms (3)
|    │        └─ PackageSourceBatch#getResources...............51,091 ms (140)
|    │           └─ PackageSourceBatch#_linkJS.................51,088 ms (140)
|    │              ├─ linker.fullLink.........................47,977 ms (140)
|    │              │  ├─ linker Module#getPrelinkedFiles......38,313 ms (140)
|    │              │  │  ├─ linker File#getPrelinkedOutput    18,885 ms (1180)
|    │              │  │  └─ getPrelinkedFiles toStringWithSourceMap 18,666 ms (140)
|    │              │  └─ linker Module#computeAssignedVariables.9,169 ms (139)
|    │              │     └─ linker File#computeAssignedVariables 9,160 ms (741)
|    │              └─ other PackageSourceBatch#_linkJS         2,522 ms
|    └─ bundler writeSiteArchive...............................25,897 ms (1)
|       └─ bundler writeTargetToPath...........................25,783 ms (3)
|          ├─ ClientTarget#write                                3,417 ms (2)
|          └─ ServerTarget#write...............................22,362 ms (1)
|             └─ JsImage#write.................................21,979 ms (1)
|                ├─ meteorNpm.isPortable.......................16,769 ms (39)
|                │  └─ meteorNpm.isPortable....................16,416 ms (1040)
|                │     ├─ optimistic lstat                      1,123 ms (1040)
|                │     └─ meteorNpm.isPortable.................13,649 ms (320)
|                │        └─ meteorNpm.isPortable..............12,454 ms (5952)
|                │           ├─ optimistic lstat                3,370 ms (5952)
|                │           └─ meteorNpm.isPortable............7,577 ms (3201)
|                │              ├─ optimistic lstat             1,989 ms (3201)
|                │              └─ meteorNpm.isPortable.........4,022 ms (4422)
|                │                 ├─ optimistic lstat          2,423 ms (4422)
|                │                 └─ meteorNpm.isPortable      1,188 ms (302)
|                ├─ Builder#copyNodeModulesDirectory            3,544 ms (39)
|                └─ other JsImage#write                         1,302 ms
|
| Top leaves:
| Babel.compile..........................................744,901 ms (2367)
| linker File#getPrelinkedOutput..........................51,695 ms (10691)
| getPrelinkedFiles toStringWithSourceMap.................46,692 ms (396)
| ImportScanner#_findImportedModuleIdentifiers............41,742 ms (9033)
| files.stat..............................................35,353 ms (112319)
| linker File#computeAssignedVariables....................31,076 ms (8941)
| other optimistic statOrNull.............................24,749 ms (197463)
| other ImportScanner#_resolve............................21,996 ms (23842)
| other PackageSourceBatch#_linkJS........................11,156 ms (396)
| other ImportScanner#scanImports for the app..............8,519 ms (3)
| other files.withCache....................................7,476 ms (7)
| files.lstat..............................................5,663 ms (33177)
| other ImportScanner#_realPath............................4,682 ms (9728)
| other linker Module#getPrelinkedFiles....................3,942 ms (396)
| other linker.fullLink....................................3,454 ms (396)
| other meteorNpm.isPortable...............................3,016 ms (14974)
| other safeWatcher.watch..................................2,880 ms (11900)
| Target#minifyJs..........................................2,820 ms (2)
| files.readFile...........................................1,999 ms (8347)
| other PackageSourceBatch.computeJsOutputFilesMap.........1,775 ms (3)
| other compileUnibuild (the app)..........................1,774 ms (3)
| files.realpath...........................................1,774 ms (11169)
| ImportScanner#_getAbsModuleId............................1,655 ms (12789)
| files.readdir............................................1,641 ms (18386)
| other JsImage#write......................................1,302 ms (1)
| other Target#_emitResources..............................1,259 ms (3)
| files.rm_recursive.......................................1,084 ms (273)
| CssTools.stringifyCss......................................980 ms (1)
| runJavaScript packages/modules-runtime.js..................969 ms (6)
| other ImportScanner#scanImports for cultofcoders:grapher...821 ms (3)
| files.writeFile............................................692 ms (1582)
| plugin ecmascript..........................................636 ms (3)
| composing source maps......................................544 ms (1)
| sha1.......................................................506 ms (8785)
| Isopack#getUnibuildAtArch..................................490 ms (14424)
| CssTools.parseCss..........................................475 ms (10)
| other Target#_runCompilerPlugins...........................382 ms (2)
| other ServerTarget#write...................................360 ms (1)
| files.rename...............................................313 ms (1522)
| plugin meteor..............................................308 ms (2)
| safeWatcher.watch..........................................302 ms (2648)
| other ImportScanner#scanImports for std:accounts-ui........294 ms (3)
| other ImportScanner#scanMissingModules for the app.........279 ms (4)
| other linker Module#computeAssignedVariables...............248 ms (393)
| other Target#make..........................................231 ms (3)
| other ImportScanner#scanImports for base64.................230 ms (2)
| wrapped.fs.readFileSync....................................223 ms (308)
| CssTools.rewriteCssUrls....................................169 ms (10)
| require("./security.js")...................................165 ms (3)
| other ImportScanner#scanImports for lmieulet:meteor-coverage.132 ms (1)
| sha512.....................................................131 ms (952)
| files.symlink..............................................120 ms (1719)
| other PackageSourceBatch#getResources......................116 ms (396)
| other ImportScanner#scanImports for minimongo..............108 ms (3)
| other bundler writeSiteArchive.............................103 ms (1)
|
| (#4) Total: 1,133,847 ms (Build App)
@benjamn

This comment has been minimized.

Copy link
Member

benjamn commented Sep 14, 2018

What kind of file system does this docker image use? If you ssh into the container, you should be able to find this information by running the df -h command.

@filipenevola

This comment has been minimized.

Copy link
Contributor

filipenevola commented Sep 14, 2018

I was having a lot of troubles with CircleCI Meteor builds too but in my machine everything was good.

After a few months with these problems, I decided to give up and move to Jenkins and everything is fine now. I'm saying this because maybe the problem is not Meteor's build tool.

I know that Jenkins is not ready to use as CircleCI but if you need help I'm here. You can have a similar experience being able to set up Jobs by code using this plugin for Jenkins

@awatson1978

This comment has been minimized.

Copy link
Contributor

awatson1978 commented Sep 14, 2018

We've also been running into much longer build times on CircleCI since upgrading to 2.0. We're at 5min builds, and have also been running into garbage collection and memory usage issues. Although we install selenium and chromedriver separately instead of using meteor npm install.

Here's a link to our .circleci/config.yml file for anybody who would like additional data points.

In large part, this issue is perhaps about rebuilding a Circle CI best-practice config file. For instance, we had caching worked out in 1.0 but haven't gotten it working to the same level in 2.0.

Here's a gist of what the caching syntax looks like, which I haven't been able to get working yet.

# Dependencies
    #   This would typically go in either a build or a build-and-test job when using workflows
    # # Restore the dependency cache
    # - restore_cache:
    #     keys:
    #     # This branch if available
    #     - v1-dep-{{ .Branch }}-
    #     # Default branch if not
    #     - v1-dep-development-
    #     # Any branch if there are none on the default branch - this should be unnecessary if you have your default branch configured correctly
    #     - v1-dep-
        
    # # Save dependency cache
    # - save_cache:
    #     name: Saving cache
    #     key: v1-dep-{{ .Branch }}-{{ epoch }}
    #     paths:
    #     # This is a broad list of cache paths to include many possible development environments
    #     # You can probably delete some of these entries
    #     - ~/.meteor

Was very interested to see the --optimize_for_size --gc-interval=100 flags. Looking forward to giving those a try.

@Floriferous

This comment has been minimized.

Copy link

Floriferous commented Sep 14, 2018

@awatson1978 I was actually inspired by your exact circleCI configs for my last couple of attempts, I tried switching to dispatch:mocha, but had similar results.

If you're interested, we have some really good caching results by using these caches: 20 mins -> ~1-2 mins with the same config I started this thread with. The painful part is getting all the tests to pass once to get the caches saved :)

      - save_cache:
          name: cache system's meteor build
          key: build-epotek-v6-meteor-system-{{ checksum "./.circleci/config.yml" }}
          paths:
            - ~/.meteor
      - save_cache:
          name: cache root node_modules
          key: build-epotek-v6-node_modules-{{ checksum "./package.json" }}
          paths:
            - ./node_modules
      - save_cache:
          name: cache app's meteor build
          key: build-epotek-v6-meteor-{{ checksum "./microservices/app/.meteor/release" }}-{{ checksum "./microservices/app/.meteor/packages" }}-{{ checksum "./microservices/app/.meteor/versions" }}
          paths:
            - ./microservices/app/.meteor/local
      - save_cache:
          name: cache app's node_modules
          key: build-epotek-v6-node_modules-{{ checksum "./microservices/app/package.json" }}
          paths:
            - ./microservices/app/node_modules

@benjamn Here's the output of df -h:

circleci@e31443770f05:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
none            630G  450G  181G  72% /
tmpfs            30G     0   30G   0% /dev
tmpfs            30G     0   30G   0% /sys/fs/cgroup
/dev/md127      630G  450G  181G  72% /etc/hosts
shm              30G     0   30G   0% /dev/shm
udev             30G   12K   30G   1% /dev/tty
tmpfs            30G     0   30G   0% /sys/firmware
@benjamn

This comment has been minimized.

Copy link
Member

benjamn commented Sep 14, 2018

Hmm, I was hoping for a Type column in the df output. Maybe try df -hT instead?

@Floriferous

This comment has been minimized.

Copy link

Floriferous commented Sep 14, 2018

@benjamn Here it is:

circleci@e31443770f05:~$ df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
none           aufs      630G  467G  164G  75% /
tmpfs          tmpfs      30G     0   30G   0% /dev
tmpfs          tmpfs      30G     0   30G   0% /sys/fs/cgroup
/dev/md127     ext4      630G  467G  164G  75% /etc/hosts
shm            tmpfs      30G     0   30G   0% /dev/shm
udev           devtmpfs   30G   12K   30G   1% /dev/tty
tmpfs          tmpfs      30G     0   30G   0% /sys/firmware
@benjamn

This comment has been minimized.

Copy link
Member

benjamn commented Sep 14, 2018

Ah ha! That aufs is almost certainly the culprit here.

Here's a post from last year by @markoshust (a fellow Meteor developer) about how you can make Docker use the overlay2 file system instead of aufs: http://markshust.com/2017/03/02/making-docker-mac-faster-overlay2-filesystem

More evidence that aufs is a poor file system for any IO-intensive work inside a Docker container: https://dzone.com/articles/docker-for-mac-performance-tweaks-1

@markoshust

This comment has been minimized.

Copy link

markoshust commented Sep 14, 2018

@benjamn thanks for the shoutout! i believe overlay2 should now be default in d4m. but yes you can check if your filesystem is, and if not the above blog post link should switch things for you. be aware that your docker containers/images/etc will all be reset after switching the core filesystem format.

@Floriferous

This comment has been minimized.

Copy link

Floriferous commented Sep 14, 2018

You got me pretty excited, but I was expecting a bit more of a difference. I ran the second test on a slower wifi, so the initial download packages part is a bit slower the second time, but the specific Build App part changed from 866 to 809 seconds.

aufs
meteor npm i
meteor npm run test-CI


> bcrypt@2.0.1 install /home/circleci/app/microservices/www/node_modules/bcrypt
> node-pre-gyp install --fallback-to-build

[bcrypt] Success: "/home/circleci/app/microservices/www/node_modules/bcrypt/lib/binding/bcrypt_lib.node" is installed via remote

> jss@9.8.7 postinstall /home/circleci/app/microservices/www/node_modules/jss
> node -e "console.log('\u001b[35m\u001b[1mLove JSS? You can now support us on open collective:\u001b[22m\u001b[39m\n > \u001b[34mhttps://opencollective.com/jss/donate\u001b[0m')"

Love JSS? You can now support us on open collective:
 > https://opencollective.com/jss/donate
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

added 1278 packages from 1566 contributors and audited 7158 packages in 65.284s
found 1 low severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details

> epotek-www@ test-CI /home/circleci/app/microservices/www
> SERVER_TEST_REPORTER=xunit XUNIT_FILE=~/app/results/unit.xml meteor test --once --driver-package dispatch:mocha --settings settings-dev.json

| (#1) Profiling: ProjectContext initializeCatalog
| (  Reading project metadata                  ... )
| ProjectContext initializeCatalog                                 24 ms (1)
|
| Top leaves:
|
| (#1) Total: 24 ms (ProjectContext initializeCatalog)
|
| (#2) Profiling: ProjectContext resolveConstraints
| (  Selecting package versions                ... )
| ProjectContext resolveConstraints............................11,928 ms (1)
| └─ _resolveConstraints.......................................11,928 ms (1)
|    ├─ JsImage#load                                            1,259 ms (1)
|    └─ Select Package Versions................................10,383 ms (1)
|       ├─ Input#loadFromCatalog................................6,926 ms (1)
|       │  ├─ sqlite query                                      2,060 ms (259)
|       │  └─ other Input#loadFromCatalog                       4,867 ms
|       └─ Solver#getAnswer.....................................2,961 ms (1)
|          └─ generate constraints                              1,285 ms (1)
|
| Top leaves:
| other Input#loadFromCatalog..............................4,867 ms (1)
| sqlite query.............................................2,206 ms (389)
| generate constraints.....................................1,285 ms (1)
| new Logic.Solver (MiniSat start-up)........................315 ms (1)
| minimize previous_indirect_rest............................288 ms (1)
| minimize conflicts.........................................238 ms (1)
| require("./security.js")...................................216 ms (1)
| analyze allowed versions...................................205 ms (1)
| generate package variables.................................163 ms (1)
| generate dependency requirements...........................124 ms (1)
|
| (#2) Total: 11,928 ms (ProjectContext resolveConstraints)
|
[[[[[ Tests ]]]]]

=> Started proxy.
| (#3) Profiling: ProjectContext prepareProjectForBuild
=> Started MongoDB.
| (  Building local packages                   ... )
| files.stat                                                        0 ms (1)
| files.readFile                                                    0 ms (1)
| files.readdir                                                     0 ms (1)
| files.writeFile                                                   1 ms (1)
| ProjectContext prepareProjectForBuild.......................183,320 ms (1)
| ├─ _downloadMissingPackages.................................163,021 ms (1)
| │  ├─ Isopack#saveToPath.....................................78,097 ms (71)
| │  │  ├─ linker.prelink.......................................3,113 ms (63)
| │  │  │  └─ linker Module#computeAssignedVariables............2,883 ms (63)
| │  │  │     └─ linker File#computeAssignedVariables           2,878 ms (326)
| │  │  ├─ Builder#copyNodeModulesDirectory....................32,598 ms (29)
| │  │  │  ├─ Builder#_ensureDirectory..........................4,018 ms (5404)
| │  │  │  │  ├─ files.stat                                     1,506 ms (16302)
| │  │  │  │  ├─ files.mkdir                                    1,062 ms (5434)
| │  │  │  │  └─ other Builder#_ensureDirectory                 1,450 ms
| │  │  │  ├─ optimistic lstatOrNull............................6,718 ms (48490)
| │  │  │  │  ├─ optimistic lstat                               2,183 ms (48490)
| │  │  │  │  └─ other optimistic lstatOrNull                   4,522 ms
| │  │  │  ├─ optimistic statOrNull.............................4,450 ms (43008)
| │  │  │  │  ├─ files.stat                                     1,069 ms (41501)
| │  │  │  │  └─ other optimistic statOrNull                    3,381 ms
| │  │  │  ├─ optimistic readFile...............................5,785 ms (43008)
| │  │  │  │  ├─ files.readFile                                 2,175 ms (43008)
| │  │  │  │  └─ other optimistic readFile                      3,610 ms
| │  │  │  ├─ files.writeFile                                   5,444 ms (43008)
| │  │  │  └─ other Builder#copyNodeModulesDirectory            5,723 ms
| │  │  └─ JsImage#write.......................................39,988 ms (8)
| │  │     └─ Builder#copyNodeModulesDirectory.................39,498 ms (62)
| │  │        ├─ Builder#_ensureDirectory.......................3,433 ms (5481)
| │  │        │  ├─ files.stat                                  1,298 ms (16692)
| │  │        │  └─ other Builder#_ensureDirectory              1,358 ms
| │  │        ├─ optimistic lstatOrNull........................11,120 ms (58215)
| │  │        │  ├─ optimistic lstat                            4,795 ms (58215)
| │  │        │  └─ other optimistic lstatOrNull                6,312 ms
| │  │        ├─ optimistic statOrNull..........................6,140 ms (52673)
| │  │        │  ├─ files.stat                                  1,140 ms (50991)
| │  │        │  └─ other optimistic statOrNull                 5,000 ms
| │  │        ├─ optimistic readFile............................6,717 ms (52673)
| │  │        │  ├─ files.readFile                              2,295 ms (52673)
| │  │        │  └─ other optimistic readFile                   4,422 ms
| │  │        ├─ files.writeFile                                5,186 ms (52673)
| │  │        └─ other Builder#copyNodeModulesDirectory         6,258 ms
| │  ├─ meteorNpm.rebuildIfNonPortable.........................11,403 ms (29)
| │  │  └─ meteorNpm.isPortable................................10,796 ms (1187)
| │  │     └─ meteorNpm.isPortable..............................9,442 ms (7388)
| │  │        └─ meteorNpm.isPortable...........................7,584 ms (8449)
| │  │           ├─ optimistic lstat                            1,192 ms (8449)
| │  │           └─ meteorNpm.isPortable........................4,816 ms (9057)
| │  │              ├─ optimistic lstat                         1,587 ms (9057)
| │  │              └─ meteorNpm.isPortable                     2,150 ms (3985)
| │  ├─ bundler.readJsImage....................................36,365 ms (8)
| │  │  └─ meteorNpm.rebuildIfNonPortable......................36,183 ms (62)
| │  │     ├─ meteorNpm.isPortable..............................6,724 ms (1408)
| │  │     │  └─ meteorNpm.isPortable...........................5,581 ms (2773)
| │  │     │     └─ meteorNpm.isPortable........................4,819 ms (3573)
| │  │     │        └─ meteorNpm.isPortable.....................4,068 ms (3170)
| │  │     │           └─ meteorNpm.isPortable..................3,422 ms (1858)
| │  │     │              └─ meteorNpm.isPortable...............2,851 ms (1536)
| │  │     │                 └─ meteorNpm.isPortable............2,240 ms (1947)
| │  │     │                    └─ meteorNpm.isPortable.........1,699 ms (1238)
| │  │     │                       └─ meteorNpm.isPortable      1,340 ms (1499)
| │  │     └─ other meteorNpm.rebuildIfNonPortable             28,012 ms
| │  └─ other _downloadMissingPackages                         36,584 ms
| └─ _buildLocalPackages.......................................20,297 ms (1)
|    ├─ _ensurePackageLoaded(coffeescript)......................3,178 ms (1)
|    │  └─ IsopackCache Load local isopack......................3,178 ms (1)
|    │     └─ Isopack#initFromPath..............................3,178 ms (1)
|    │        └─ bundler.readJsImage............................3,177 ms (1)
|    │           └─ meteorNpm.rebuildIfNonPortable..............3,143 ms (8)
|    │              └─ meteorNpm.isPortable.....................3,140 ms (11)
|    │                 └─ meteorNpm.isPortable..................3,121 ms (77)
|    │                    └─ meteorNpm.isPortable...............3,083 ms (54)
|    │                       └─ meteorNpm.isPortable............3,041 ms (143)
|    │                          └─ meteorNpm.isPortable.........2,975 ms (697)
|    │                             └─ meteorNpm.isPortable......2,591 ms (1284)
|    │                                └─ meteorNpm.isPortable...2,101 ms (1947)
|    │                                   └─ meteorNpm.isPortable.1,621 ms (1238)
|    │                                      └─ meteorNpm.isPortable 1,225 ms (1499)
|    ├─ _ensurePackageLoaded(cultofcoders:grapher)              1,216 ms (1)
|    ├─ _ensurePackageLoaded(cultofcoders:mocha)................2,778 ms (1)
|    │  └─ _ensurePackageLoaded(templating).....................2,575 ms (1)
|    │     └─ _ensurePackageLoaded(templating-runtime)..........2,574 ms (1)
|    │        └─ _ensurePackageLoaded(templating-compiler)......2,572 ms (1)
|    │           └─ IsopackCache Load local isopack.............2,572 ms (1)
|    │              └─ Isopack#initFromPath.....................2,571 ms (1)
|    │                 └─ bundler.readJsImage...................2,570 ms (1)
|    │                    └─ meteorNpm.rebuildIfNonPortable.....2,536 ms (9)
|    │                       └─ meteorNpm.isPortable............2,483 ms (178)
|    │                          └─ meteorNpm.isPortable.........2,230 ms (1402)
|    │                             └─ meteorNpm.isPortable......1,825 ms (1743)
|    │                                └─ meteorNpm.isPortable   1,350 ms (1513)
|    ├─ _ensurePackageLoaded(dispatch:mocha)....................2,072 ms (1)
|    │  └─ IsopackCache Load local isopack......................2,072 ms (1)
|    │     └─ Isopack#initFromPath..............................2,071 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................2,060 ms (1)
|    │           └─ meteorNpm.isPortable........................2,018 ms (177)
|    │              └─ meteorNpm.isPortable.....................1,728 ms (1655)
|    │                 └─ meteorNpm.isPortable                  1,295 ms (1710)
|    ├─ _ensurePackageLoaded(fortawesome:fontawesome)...........1,442 ms (1)
|    │  └─ IsopackCache Load local isopack......................1,442 ms (1)
|    │     └─ Isopack#initFromPath..............................1,440 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................1,421 ms (1)
|    │           └─ meteorNpm.isPortable                        1,281 ms (272)
|    ├─ _ensurePackageLoaded(lmieulet:meteor-coverage)..........2,066 ms (1)
|    │  └─ IsopackCache Load local isopack......................2,066 ms (1)
|    │     └─ Isopack#initFromPath..............................2,065 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................2,060 ms (1)
|    │           └─ meteorNpm.isPortable........................1,950 ms (206)
|    │              └─ meteorNpm.isPortable.....................1,621 ms (1615)
|    │                 └─ meteorNpm.isPortable                  1,026 ms (1325)
|    ├─ _ensurePackageLoaded(okgrow:analytics)..................2,823 ms (1)
|    │  └─ IsopackCache Load local isopack......................2,823 ms (1)
|    │     └─ Isopack#initFromPath..............................2,822 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................2,821 ms (4)
|    │           └─ meteorNpm.isPortable........................2,785 ms (49)
|    │              └─ meteorNpm.isPortable.....................2,722 ms (347)
|    │                 └─ meteorNpm.isPortable..................2,487 ms (2674)
|    │                    └─ meteorNpm.isPortable               1,577 ms (3796)
|    └─ _ensurePackageLoaded(static-html).......................1,895 ms (1)
|       └─ IsopackCache Load local isopack......................1,895 ms (1)
|          └─ Isopack#initFromPath..............................1,894 ms (1)
|             └─ bundler.readJsImage............................1,893 ms (1)
|                └─ meteorNpm.rebuildIfNonPortable..............1,866 ms (9)
|                   └─ meteorNpm.isPortable.....................1,851 ms (142)
|                      └─ meteorNpm.isPortable..................1,567 ms (1294)
|                         └─ meteorNpm.isPortable               1,104 ms (1776)
|
| Top leaves:
| other _downloadMissingPackages..........................36,584 ms (1)
| other meteorNpm.rebuildIfNonPortable....................28,078 ms (124)
| other Builder#copyNodeModulesDirectory..................11,982 ms (91)
| files.writeFile.........................................11,164 ms (98295)
| other optimistic lstatOrNull............................10,834 ms (106705)
| other optimistic statOrNull..............................8,381 ms (95681)
| other optimistic readFile................................8,032 ms (95681)
| files.stat...............................................7,809 ms (159501)
| files.readFile...........................................6,105 ms (108202)
| other meteorNpm.isPortable...............................4,292 ms (60517)
| files.lstat..............................................3,688 ms (163548)
| linker File#computeAssignedVariables.....................2,878 ms (326)
| other Builder#_ensureDirectory...........................2,808 ms (10885)
| files.mkdir..............................................2,426 ms (12435)
| files.readdir............................................1,538 ms (16539)
| meteorNpm.runNpmCommand....................................912 ms (1)
| other Isopack#saveToPath...................................711 ms (71)
| files.rename...............................................303 ms (2898)
| files.realpath.............................................190 ms (595)
| files.rm_recursive.........................................188 ms (144)
| other JsImage#write........................................157 ms (8)
| getPrelinkedFiles toStringWithSourceMap....................140 ms (63)
| sha1.......................................................113 ms (2172)
|
| (#3) Total: 183,321 ms (ProjectContext prepareProjectForBuild)
|
| (#4) Profiling: Build App                    ... )
| (  Starting your app                         ... )
| wrapped.fs.statSync                                               0 ms (2)
| Build App...................................................866,426 ms (1)
| └─ files.withCache..........................................866,426 ms (1)
|    ├─ compiler.compile(the app)..............................28,848 ms (1)
|    │  └─ files.withCache.....................................28,848 ms (3)
|    │     └─ compileUnibuild (the app)........................28,848 ms (3)
|    │        ├─ Isopack#ensurePluginsInitialized...............7,221 ms (42)
|    │        │  └─ JsImage#load................................7,217 ms (6)
|    │        │     └─ runJavaScript packages/minifier-css.js...5,191 ms (1)
|    │        │        └─ require("/node_modules/meteor/minifier-css/minifier.js").5,162 ms (1)
|    │        │           └─ require("cssnano")                 5,055 ms (1)
|    │        ├─ PackageSource#_findSources....................14,623 ms (3)
|    │        │  └─ files.withCache............................14,621 ms (3)
|    │        │     ├─ files.readdir                            1,374 ms (20366)
|    │        │     └─ other files.withCache                   11,052 ms
|    │        ├─ optimistic readFile                            1,185 ms (3363)
|    │        └─ other compileUnibuild (the app)                5,533 ms
|    ├─ bundler.bundle..makeClientTarget......................578,136 ms (2)
|    │  └─ Target#make........................................578,136 ms (2)
|    │     ├─ Target#_runCompilerPlugins........................9,590 ms (2)
|    │     │  ├─ Isopack#ensurePluginsInitialized...............1,462 ms (544)
|    │     │  │  └─ JsImage#load                                1,447 ms (2)
|    │     │  ├─ plugin fourseven:scss                          5,667 ms (2)
|    │     │  └─ plugin coffeescript                            1,359 ms (2)
|    │     ├─ Target#_emitResources...........................560,311 ms (2)
|    │     │  ├─ PackageSourceBatch.computeJsOutputFilesMap...479,293 ms (2)
|    │     │  │  ├─ ImportScanner#_realPath.....................3,094 ms (3356)
|    │     │  │  │  └─ optimistic lstatOrNull                   1,642 ms (13360)
|    │     │  │  ├─ ImportScanner#scanImports for base64........1,643 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,339 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for ejson.........2,617 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,396 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for ordered-dict..1,130 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,065 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for minimongo....14,568 ms (2)
|    │     │  │  │  └─ Babel.compile                           13,760 ms (16)
|    │     │  │  ├─ ImportScanner#scanImports for check.........2,064 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,945 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for ddp-common....1,488 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,429 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for socket-stream-client.2,858 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,629 ms (1)
|    │     │  │  ├─ ImportScanner#scanImports for ddp-client....6,664 ms (2)
|    │     │  │  │  └─ Babel.compile                            6,141 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for mongo.........1,411 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,317 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for reactive-dict.1,139 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,070 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for aldeed:collection2-core.2,445 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,035 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for practicalmeteor:mocha-core.2,479 ms (2)
|    │     │  │  │  └─ ImportScanner#_findImportedModuleIdentifiers 1,116 ms (156)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:mocha.6,390 ms (2)
|    │     │  │  │  ├─ Babel.compile                            4,429 ms (18)
|    │     │  │  │  └─ ImportScanner#_resolve                   1,415 ms (216)
|    │     │  │  ├─ ImportScanner#scanImports for meteortesting:mocha.1,271 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,224 ms (6)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:mutations.2,194 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,113 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for react-meteor-data.2,559 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,435 ms (6)
|    │     │  │  ├─ ImportScanner#scanImports for accounts-base.5,678 ms (2)
|    │     │  │  │  └─ Babel.compile                            5,536 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:grapher.27,916 ms (2)
|    │     │  │  │  ├─ Babel.compile                           25,482 ms (114)
|    │     │  │  │  └─ ImportScanner#_resolve                   1,201 ms (311)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:grapher-react.3,688 ms (2)
|    │     │  │  │  └─ Babel.compile                            3,260 ms (20)
|    │     │  │  ├─ ImportScanner#scanImports for okgrow:analytics.3,619 ms (2)
|    │     │  │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 1,337 ms (10)
|    │     │  │  │  └─ ImportScanner#_resolve...................1,726 ms (266)
|    │     │  │  │     └─ optimistic statOrNull                 1,276 ms (3834)
|    │     │  │  ├─ ImportScanner#scanImports for aldeed:collection2.2,698 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,344 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for dispatch:mocha 1,048 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for the app.....352,166 ms (2)
|    │     │  │  │  ├─ Babel.compile                          264,831 ms (802)
|    │     │  │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 18,305 ms (6252)
|    │     │  │  │  ├─ ImportScanner#_resolve..................56,584 ms (15140)
|    │     │  │  │  │  ├─ optimistic statOrNull................41,723 ms (136733)
|    │     │  │  │  │  │  ├─ safeWatcher.watch..................5,020 ms (7606)
|    │     │  │  │  │  │  │  ├─ files.stat                      3,559 ms (6666)
|    │     │  │  │  │  │  │  └─ other safeWatcher.watch         1,461 ms
|    │     │  │  │  │  │  ├─ files.stat                        16,827 ms (33927)
|    │     │  │  │  │  │  ├─ files.lstat                        2,254 ms (4909)
|    │     │  │  │  │  │  └─ other optimistic statOrNull       17,622 ms
|    │     │  │  │  │  ├─ optimistic readJsonOrNull             1,124 ms (1709)
|    │     │  │  │  │  └─ other ImportScanner#_resolve         12,706 ms
|    │     │  │  │  ├─ ImportScanner#_realPath..................4,429 ms (5450)
|    │     │  │  │  │  ├─ optimistic lstatOrNull                2,003 ms (28844)
|    │     │  │  │  │  └─ other ImportScanner#_realPath         2,424 ms
|    │     │  │  │  ├─ ImportScanner#_readFile                  2,055 ms (5452)
|    │     │  │  │  └─ other ImportScanner#scanImports for the app 4,871 ms
|    │     │  │  ├─ ImportScanner#scanMissingModules for the app.4,014 ms (4)
|    │     │  │  │  └─ ImportScanner#_resolve...................2,897 ms (1160)
|    │     │  │  │     └─ optimistic statOrNull                 2,156 ms (5049)
|    │     │  │  └─ ImportScanner#scanMissingModules for socket-stream-client.8,431 ms (2)
|    │     │  │     └─ Babel.compile                            7,816 ms (7)
|    │     │  └─ PackageSourceBatch#getResources...............80,897 ms (214)
|    │     │     └─ PackageSourceBatch#_linkJS.................80,777 ms (214)
|    │     │        ├─ linker.fullLink.........................69,359 ms (214)
|    │     │        │  ├─ linker Module#getPrelinkedFiles......48,669 ms (214)
|    │     │        │  │  ├─ linker File#getPrelinkedOutput    25,094 ms (7903)
|    │     │        │  │  ├─ getPrelinkedFiles toStringWithSourceMap 20,668 ms (214)
|    │     │        │  │  └─ other linker Module#getPrelinkedFiles 2,908 ms
|    │     │        │  ├─ linker Module#computeAssignedVariables.17,806 ms (212)
|    │     │        │  │  └─ linker File#computeAssignedVariables 17,412 ms (7126)
|    │     │        │  └─ other linker.fullLink                 2,855 ms
|    │     │        └─ other PackageSourceBatch#_linkJS         9,544 ms
|    │     ├─ Target#minifyJs                                   1,826 ms (2)
|    │     └─ ClientTarget#minifyCss............................6,196 ms (2)
|    │        └─ minifyCssFiles.................................6,195 ms (2)
|    │           ├─ Npm.require("autoprefixer")                 2,914 ms (10)
|    │           └─ other minifyCssFiles                        1,740 ms
|    ├─ bundler.bundle..makeServerTarget......................237,599 ms (1)
|    │  └─ Target#make........................................237,599 ms (1)
|    │     └─ Target#_emitResources...........................236,749 ms (1)
|    │        ├─ PackageSourceBatch.computeJsOutputFilesMap...199,506 ms (1)
|    │        │  ├─ ImportScanner#_realPath                     1,610 ms (1471)
|    │        │  ├─ ImportScanner#scanImports for ejson.........1,078 ms (1)
|    │        │  │  └─ Babel.compile                            1,008 ms (2)
|    │        │  ├─ ImportScanner#scanImports for minimongo.....7,224 ms (1)
|    │        │  │  └─ Babel.compile                            6,749 ms (8)
|    │        │  ├─ ImportScanner#scanImports for check         1,057 ms (1)
|    │        │  ├─ ImportScanner#scanImports for ddp-common....1,440 ms (1)
|    │        │  │  └─ Babel.compile                            1,362 ms (5)
|    │        │  ├─ ImportScanner#scanImports for ddp-client....2,681 ms (1)
|    │        │  │  └─ Babel.compile                            2,436 ms (4)
|    │        │  ├─ ImportScanner#scanImports for webapp........2,634 ms (1)
|    │        │  │  └─ Babel.compile                            2,167 ms (3)
|    │        │  ├─ ImportScanner#scanImports for ddp-server....3,104 ms (1)
|    │        │  │  └─ Babel.compile                            2,892 ms (5)
|    │        │  ├─ ImportScanner#scanImports for mongo.........5,582 ms (1)
|    │        │  │  └─ Babel.compile                            5,160 ms (10)
|    │        │  ├─ ImportScanner#scanImports for shell-server  1,021 ms (1)
|    │        │  ├─ ImportScanner#scanImports for aldeed:collection2-core.2,510 ms (1)
|    │        │  │  └─ Babel.compile                            2,170 ms (1)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:mocha.5,227 ms (1)
|    │        │  │  ├─ Babel.compile                            3,666 ms (10)
|    │        │  │  └─ ImportScanner#_resolve...................1,300 ms (69)
|    │        │  │     └─ optimistic statOrNull                 1,240 ms (544)
|    │        │  ├─ ImportScanner#scanImports for lmieulet:meteor-coverage.4,657 ms (1)
|    │        │  │  └─ Babel.compile                            4,156 ms (20)
|    │        │  ├─ ImportScanner#scanImports for accounts-base.2,136 ms (1)
|    │        │  │  └─ Babel.compile                            1,989 ms (5)
|    │        │  ├─ ImportScanner#scanImports for reywood:publish-composite.1,272 ms (1)
|    │        │  │  └─ Babel.compile                            1,118 ms (7)
|    │        │  ├─ ImportScanner#scanImports for herteby:denormalize.1,503 ms (1)
|    │        │  │  └─ Babel.compile                            1,416 ms (4)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:grapher.15,766 ms (1)
|    │        │  │  ├─ Babel.compile                           13,835 ms (76)
|    │        │  │  └─ ImportScanner#_resolve                   1,059 ms (189)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:grapher-react.1,755 ms (1)
|    │        │  │  └─ Babel.compile                            1,411 ms (10)
|    │        │  ├─ ImportScanner#scanImports for accounts-password.1,353 ms (1)
|    │        │  │  └─ Babel.compile                            1,350 ms (2)
|    │        │  ├─ ImportScanner#scanImports for aldeed:collection2.1,414 ms (1)
|    │        │  │  └─ Babel.compile                            1,228 ms (1)
|    │        │  ├─ ImportScanner#scanImports for the app.....119,284 ms (1)
|    │        │  │  ├─ Babel.compile                          109,341 ms (455)
|    │        │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 3,291 ms (456)
|    │        │  │  ├─ ImportScanner#_resolve...................4,563 ms (1772)
|    │        │  │  │  ├─ optimistic statOrNull                 2,747 ms (15024)
|    │        │  │  │  └─ other ImportScanner#_resolve          1,713 ms
|    │        │  │  └─ other ImportScanner#scanImports for the app 1,982 ms
|    │        │  └─ ImportScanner#scanMissingModules for socket-stream-client.1,109 ms (1)
|    │        │     └─ Babel.compile                            1,012 ms (3)
|    │        └─ PackageSourceBatch#getResources...............37,139 ms (118)
|    │           └─ PackageSourceBatch#_linkJS.................37,099 ms (118)
|    │              ├─ linker.fullLink.........................34,853 ms (118)
|    │              │  ├─ linker Module#getPrelinkedFiles......27,467 ms (118)
|    │              │  │  ├─ linker File#getPrelinkedOutput    14,149 ms (1135)
|    │              │  │  └─ getPrelinkedFiles toStringWithSourceMap 12,957 ms (118)
|    │              │  └─ linker Module#computeAssignedVariables.6,901 ms (117)
|    │              │     └─ linker File#computeAssignedVariables 6,791 ms (680)
|    │              └─ other PackageSourceBatch#_linkJS         1,891 ms
|    └─ bundler writeSiteArchive...............................21,734 ms (1)
|       └─ bundler writeTargetToPath...........................21,685 ms (3)
|          ├─ ClientTarget#write                                1,744 ms (2)
|          └─ ServerTarget#write...............................19,901 ms (1)
|             └─ JsImage#write.................................19,711 ms (1)
|                ├─ meteorNpm.isPortable.......................15,349 ms (39)
|                │  └─ meteorNpm.isPortable....................15,164 ms (1004)
|                │     └─ meteorNpm.isPortable.................13,119 ms (550)
|                │        └─ meteorNpm.isPortable..............11,971 ms (5763)
|                │           ├─ optimistic lstat                2,418 ms (5763)
|                │           └─ meteorNpm.isPortable............8,078 ms (3512)
|                │              ├─ optimistic lstat             1,755 ms (3512)
|                │              └─ meteorNpm.isPortable.........5,257 ms (4566)
|                │                 ├─ optimistic lstat          1,915 ms (4566)
|                │                 └─ meteorNpm.isPortable......2,835 ms (785)
|                │                    └─ meteorNpm.isPortable...2,164 ms (698)
|                │                       └─ meteorNpm.isPortable 1,353 ms (1432)
|                └─ Builder#copyNodeModulesDirectory............3,163 ms (39)
|                   └─ optimistic statOrNull                    1,062 ms (4103)
|
| Top leaves:
| Babel.compile..........................................544,127 ms (1805)
| linker File#getPrelinkedOutput..........................39,243 ms (9038)
| getPrelinkedFiles toStringWithSourceMap.................33,624 ms (332)
| ImportScanner#_findImportedModuleIdentifiers............32,976 ms (7731)
| files.stat..............................................28,913 ms (100850)
| linker File#computeAssignedVariables....................24,202 ms (7806)
| other optimistic statOrNull.............................17,622 ms (136733)
| other ImportScanner#_resolve............................15,548 ms (18407)
| other PackageSourceBatch#_linkJS........................11,435 ms (332)
| other files.withCache...................................11,134 ms (7)
| other ImportScanner#scanImports for the app..............6,853 ms (3)
| other compileUnibuild (the app)..........................5,533 ms (3)
| files.lstat..............................................4,682 ms (33215)
| other linker.fullLink....................................3,340 ms (332)
| other ImportScanner#_realPath............................3,337 ms (8806)
| other linker Module#getPrelinkedFiles....................3,269 ms (332)
| other meteorNpm.isPortable...............................2,614 ms (16917)
| files.readFile...........................................1,953 ms (7994)
| files.realpath...........................................1,866 ms (12647)
| Target#minifyJs..........................................1,826 ms (2)
| ImportScanner#_getAbsModuleId............................1,762 ms (11857)
| other minifyCssFiles.....................................1,740 ms (2)
| other PackageSourceBatch.computeJsOutputFilesMap.........1,660 ms (3)
| files.readdir............................................1,554 ms (22151)
| other safeWatcher.watch..................................1,461 ms (7606)
| other JsImage#write........................................986 ms (1)
| CssTools.stringifyCss......................................909 ms (2)
| other Builder#copyNodeModulesDirectory.....................874 ms (39)
| other ImportScanner#scanImports for cultofcoders:grapher...868 ms (3)
| files.rm_recursive.........................................842 ms (232)
| plugin ecmascript..........................................602 ms (3)
| files.writeFile............................................517 ms (926)
| sha1.......................................................508 ms (7009)
| other linker Module#computeAssignedVariables...............504 ms (329)
| safeWatcher.watch..........................................431 ms (3000)
| Isopack#getUnibuildAtArch..................................429 ms (11778)
| CssTools.parseCss..........................................362 ms (10)
| wrapped.fs.readFileSync....................................313 ms (285)
| other ImportScanner#scanMissingModules for the app.........241 ms (4)
| plugin meteor..............................................237 ms (2)
| other Target#_emitResources................................226 ms (3)
| other ImportScanner#scanImports for base64.................200 ms (2)
| other Target#_runCompilerPlugins...........................179 ms (2)
| other ServerTarget#write...................................174 ms (1)
| other PackageSourceBatch#getResources......................159 ms (332)
| require("./security.js")...................................155 ms (3)
| files.symlink..............................................154 ms (1974)
| ImportScanner#_realPath....................................128 ms (323)
| CssTools.rewriteCssUrls....................................128 ms (10)
| other ImportScanner#scanImports for cultofcoders:mocha.....124 ms (3)
| files.rename...............................................115 ms (868)
|
| (#4) Total: 866,426 ms (Build App)
overlay
====>> check file system
  #!/bin/bash -eo pipefail
df -hT
Filesystem     Type        Size  Used Avail Use% Mounted on
overlay        overlay      63G   15G   46G  25% /
tmpfs          tmpfs        64M     0   64M   0% /dev
tmpfs          tmpfs       3.0G     0  3.0G   0% /sys/fs/cgroup
osxfs          fuse.osxfs  279G  220G   55G  81% /tmp/_circleci_local_build_repo
/dev/sda1      ext4         63G   15G   46G  25% /etc/hosts
shm            tmpfs        30G     0   30G   0% /dev/shm
tmpfs          tmpfs       596M  696K  595M   1% /run/docker-temp.sock
tmpfs          tmpfs       3.0G     0  3.0G   0% /proc/acpi
tmpfs          tmpfs       3.0G     0  3.0G   0% /sys/firmware
====>> run tests for App
  #!/bin/bash -eo pipefail
cd microservices/www
# Using 3.6.0 because of this: https://github.com/meteortesting/meteor-mocha/issues/54
# Using chromedriver 2.37 because 2.38 is incompatible with selenium >3.6.0
# meteor npm i selenium-webdriver@3.6.0 chromedriver@2.37.0 --no-save
# meteor npm i nightmare --no-save
meteor npm i
meteor npm run test-CI


> bcrypt@2.0.1 install /home/circleci/app/microservices/www/node_modules/bcrypt
> node-pre-gyp install --fallback-to-build

[bcrypt] Success: "/home/circleci/app/microservices/www/node_modules/bcrypt/lib/binding/bcrypt_lib.node" is installed via remote

> jss@9.8.7 postinstall /home/circleci/app/microservices/www/node_modules/jss
> node -e "console.log('\u001b[35m\u001b[1mLove JSS? You can now support us on open collective:\u001b[22m\u001b[39m\n > \u001b[34mhttps://opencollective.com/jss/donate\u001b[0m')"

Love JSS? You can now support us on open collective:
 > https://opencollective.com/jss/donate
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

added 1278 packages from 1566 contributors and audited 7158 packages in 69.362s
found 1 low severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details

> epotek-www@ test-CI /home/circleci/app/microservices/www
> SERVER_TEST_REPORTER=xunit XUNIT_FILE=~/app/results/unit.xml meteor test --once --driver-package dispatch:mocha --settings settings-dev.json

| (#1) Profiling: ProjectContext initializeCatalog
| (  Preparing project                         ... )
| ProjectContext initializeCatalog                                 10 ms (1)
|
| Top leaves:
|
| (#1) Total: 10 ms (ProjectContext initializeCatalog)
|
| (#2) Profiling: ProjectContext resolveConstraints
| (  Selecting package versions                ... )
| ProjectContext resolveConstraints.............................6,089 ms (1)
| └─ _resolveConstraints........................................6,088 ms (1)
|    └─ Select Package Versions.................................5,129 ms (1)
|       ├─ Input#loadFromCatalog                                2,853 ms (1)
|       └─ Solver#getAnswer                                     2,044 ms (1)
|
| Top leaves:
| sqlite query...............................................992 ms (389)
| generate constraints.......................................920 ms (1)
| new Logic.Solver (MiniSat start-up)........................220 ms (1)
| minimize previous_indirect_minor...........................193 ms (1)
| require("./security.js")...................................190 ms (1)
| minimize conflicts.........................................187 ms (1)
|
| (#2) Total: 6,089 ms (ProjectContext resolveConstraints)
|
[[[[[ Tests ]]]]]

=> Started proxy.
| (#3) Profiling: ProjectContext prepareProjectForBuild
=> Started MongoDB.
| (  Building local packages                   ... )
| files.stat                                                        0 ms (1)
| files.readFile                                                    0 ms (1)
| files.readdir                                                     0 ms (1)
| files.writeFile                                                   0 ms (1)
| ProjectContext prepareProjectForBuild.......................166,509 ms (1)
| ├─ _downloadMissingPackages.................................136,807 ms (1)
| │  ├─ Isopack#saveToPath.....................................64,643 ms (71)
| │  │  ├─ linker.prelink.......................................1,918 ms (63)
| │  │  │  └─ linker Module#computeAssignedVariables............1,672 ms (63)
| │  │  │     └─ linker File#computeAssignedVariables           1,666 ms (326)
| │  │  ├─ Builder#copyNodeModulesDirectory....................18,083 ms (29)
| │  │  │  ├─ Builder#_ensureDirectory                          2,144 ms (5404)
| │  │  │  ├─ optimistic lstatOrNull............................4,208 ms (48490)
| │  │  │  │  ├─ optimistic lstat                               1,518 ms (48490)
| │  │  │  │  └─ other optimistic lstatOrNull                   2,674 ms
| │  │  │  ├─ optimistic statOrNull                             2,378 ms (43008)
| │  │  │  ├─ optimistic readFile...............................3,251 ms (43008)
| │  │  │  │  ├─ files.readFile                                 1,299 ms (43008)
| │  │  │  │  └─ other optimistic readFile                      1,952 ms
| │  │  │  ├─ files.writeFile                                   2,925 ms (43008)
| │  │  │  └─ other Builder#copyNodeModulesDirectory            2,922 ms
| │  │  └─ JsImage#write.......................................43,252 ms (8)
| │  │     └─ Builder#copyNodeModulesDirectory.................42,688 ms (62)
| │  │        ├─ Builder#_ensureDirectory.......................3,865 ms (5481)
| │  │        │  ├─ files.stat                                  1,586 ms (16692)
| │  │        │  └─ other Builder#_ensureDirectory              1,781 ms
| │  │        ├─ optimistic lstatOrNull........................13,684 ms (58215)
| │  │        │  ├─ optimistic lstat............................6,445 ms (58215)
| │  │        │  │  ├─ files.lstat                              1,016 ms (36328)
| │  │        │  │  └─ other optimistic lstat                   5,429 ms
| │  │        │  └─ other optimistic lstatOrNull                7,223 ms
| │  │        ├─ optimistic statOrNull..........................5,170 ms (52673)
| │  │        │  ├─ files.stat                                  1,076 ms (50991)
| │  │        │  └─ other optimistic statOrNull                 4,094 ms
| │  │        ├─ optimistic readFile............................7,576 ms (52673)
| │  │        │  ├─ files.readFile                              2,543 ms (52673)
| │  │        │  └─ other optimistic readFile                   5,033 ms
| │  │        ├─ files.writeFile                                5,125 ms (52673)
| │  │        └─ other Builder#copyNodeModulesDirectory         6,355 ms
| │  ├─ meteorNpm.rebuildIfNonPortable..........................7,495 ms (29)
| │  │  └─ meteorNpm.isPortable.................................7,172 ms (1187)
| │  │     └─ meteorNpm.isPortable..............................6,338 ms (7388)
| │  │        └─ meteorNpm.isPortable...........................5,238 ms (8449)
| │  │           ├─ optimistic lstat                            1,029 ms (8449)
| │  │           └─ meteorNpm.isPortable........................3,306 ms (9057)
| │  │              ├─ optimistic lstat                         1,634 ms (9057)
| │  │              └─ meteorNpm.isPortable                     1,076 ms (3985)
| │  ├─ bundler.readJsImage....................................28,066 ms (8)
| │  │  └─ meteorNpm.rebuildIfNonPortable......................27,960 ms (62)
| │  │     ├─ meteorNpm.isPortable..............................4,500 ms (1408)
| │  │     │  └─ meteorNpm.isPortable...........................3,805 ms (2773)
| │  │     │     └─ meteorNpm.isPortable........................3,309 ms (3573)
| │  │     │        └─ meteorNpm.isPortable.....................2,380 ms (3170)
| │  │     │           └─ meteorNpm.isPortable..................2,045 ms (1858)
| │  │     │              └─ meteorNpm.isPortable...............1,667 ms (1536)
| │  │     │                 └─ meteorNpm.isPortable............1,316 ms (1947)
| │  │     │                    └─ meteorNpm.isPortable         1,011 ms (1238)
| │  │     ├─ meteorNpm.runNpmCommand                          21,481 ms (1)
| │  │     └─ other meteorNpm.rebuildIfNonPortable              1,514 ms
| │  └─ other _downloadMissingPackages                         36,311 ms
| └─ _buildLocalPackages.......................................29,700 ms (1)
|    ├─ _ensurePackageLoaded(accounts-base)                     1,367 ms (1)
|    ├─ _ensurePackageLoaded(coffeescript)......................5,878 ms (1)
|    │  └─ IsopackCache Load local isopack......................5,878 ms (1)
|    │     └─ Isopack#initFromPath..............................5,878 ms (1)
|    │        └─ bundler.readJsImage............................5,877 ms (1)
|    │           └─ meteorNpm.rebuildIfNonPortable..............5,833 ms (8)
|    │              └─ meteorNpm.isPortable.....................5,821 ms (11)
|    │                 └─ meteorNpm.isPortable..................5,792 ms (77)
|    │                    └─ meteorNpm.isPortable...............5,770 ms (54)
|    │                       └─ meteorNpm.isPortable............5,690 ms (143)
|    │                          └─ meteorNpm.isPortable.........5,606 ms (697)
|    │                             └─ meteorNpm.isPortable......5,019 ms (1284)
|    │                                └─ meteorNpm.isPortable...4,238 ms (1947)
|    │                                   └─ meteorNpm.isPortable.3,501 ms (1238)
|    │                                      └─ meteorNpm.isPortable.2,818 ms (1499)
|    │                                         └─ meteorNpm.isPortable 1,761 ms (1438)
|    ├─ _ensurePackageLoaded(cultofcoders:grapher)..............3,518 ms (1)
|    │  └─ _ensurePackageLoaded(matb33:collection-hooks)........3,139 ms (1)
|    │     └─ IsopackCache Load local isopack...................3,139 ms (1)
|    │        └─ Isopack#initFromPath...........................3,138 ms (1)
|    │           └─ meteorNpm.rebuildIfNonPortable..............3,136 ms (1)
|    │              └─ meteorNpm.isPortable.....................3,077 ms (129)
|    │                 └─ meteorNpm.isPortable..................2,703 ms (1298)
|    │                    └─ meteorNpm.isPortable...............2,005 ms (983)
|    │                       └─ optimistic lstat                1,334 ms (983)
|    ├─ _ensurePackageLoaded(cultofcoders:mocha)................2,325 ms (1)
|    │  └─ _ensurePackageLoaded(templating).....................2,084 ms (1)
|    │     └─ _ensurePackageLoaded(templating-runtime)..........2,083 ms (1)
|    │        └─ _ensurePackageLoaded(templating-compiler)......2,081 ms (1)
|    │           └─ IsopackCache Load local isopack.............2,081 ms (1)
|    │              └─ Isopack#initFromPath.....................2,080 ms (1)
|    │                 └─ bundler.readJsImage...................2,079 ms (1)
|    │                    └─ meteorNpm.rebuildIfNonPortable.....2,054 ms (9)
|    │                       └─ meteorNpm.isPortable............2,004 ms (178)
|    │                          └─ meteorNpm.isPortable.........1,654 ms (1402)
|    │                             └─ meteorNpm.isPortable      1,139 ms (1743)
|    ├─ _ensurePackageLoaded(dispatch:mocha)....................2,602 ms (1)
|    │  └─ IsopackCache Load local isopack......................2,601 ms (1)
|    │     └─ Isopack#initFromPath..............................2,600 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................2,598 ms (1)
|    │           └─ meteorNpm.isPortable........................2,464 ms (177)
|    │              └─ meteorNpm.isPortable.....................2,214 ms (1655)
|    │                 └─ meteorNpm.isPortable                  1,635 ms (1710)
|    ├─ _ensurePackageLoaded(fortawesome:fontawesome)...........2,281 ms (1)
|    │  └─ IsopackCache Load local isopack......................2,281 ms (1)
|    │     └─ Isopack#initFromPath..............................2,280 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................2,264 ms (1)
|    │           └─ meteorNpm.isPortable........................1,975 ms (272)
|    │              └─ meteorNpm.isPortable                     1,205 ms (1326)
|    ├─ _ensurePackageLoaded(lmieulet:meteor-coverage)..........2,850 ms (1)
|    │  └─ IsopackCache Load local isopack......................2,849 ms (1)
|    │     └─ Isopack#initFromPath..............................2,849 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................2,846 ms (1)
|    │           └─ meteorNpm.isPortable........................2,753 ms (206)
|    │              └─ meteorNpm.isPortable.....................2,444 ms (1615)
|    │                 └─ meteorNpm.isPortable..................1,865 ms (1325)
|    │                    └─ optimistic lstat                   1,190 ms (1325)
|    ├─ _ensurePackageLoaded(meteorhacks:kadira)................1,032 ms (1)
|    │  └─ IsopackCache Load local isopack......................1,022 ms (1)
|    │     └─ Isopack#initFromPath..............................1,022 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable                 1,019 ms (1)
|    ├─ _ensurePackageLoaded(okgrow:analytics)..................3,449 ms (1)
|    │  └─ IsopackCache Load local isopack......................3,449 ms (1)
|    │     └─ Isopack#initFromPath..............................3,448 ms (1)
|    │        └─ meteorNpm.rebuildIfNonPortable.................3,446 ms (4)
|    │           └─ meteorNpm.isPortable........................3,427 ms (49)
|    │              └─ meteorNpm.isPortable.....................3,343 ms (347)
|    │                 └─ meteorNpm.isPortable..................3,025 ms (2674)
|    │                    └─ meteorNpm.isPortable               1,958 ms (3796)
|    └─ _ensurePackageLoaded(static-html).......................2,121 ms (1)
|       └─ IsopackCache Load local isopack......................2,121 ms (1)
|          └─ Isopack#initFromPath..............................2,120 ms (1)
|             └─ bundler.readJsImage............................2,120 ms (1)
|                └─ meteorNpm.rebuildIfNonPortable..............2,099 ms (9)
|                   └─ meteorNpm.isPortable.....................2,059 ms (142)
|                      └─ meteorNpm.isPortable..................1,709 ms (1294)
|                         └─ meteorNpm.isPortable               1,075 ms (1776)
|
| Top leaves:
| other _downloadMissingPackages..........................36,311 ms (1)
| meteorNpm.runNpmCommand.................................21,481 ms (1)
| other optimistic lstatOrNull.............................9,897 ms (106705)
| other Builder#copyNodeModulesDirectory...................9,277 ms (91)
| files.writeFile..........................................8,409 ms (98295)
| other optimistic readFile................................6,986 ms (95681)
| files.stat...............................................6,834 ms (159501)
| files.readFile...........................................5,763 ms (108202)
| other optimistic lstat...................................5,429 ms (58215)
| other optimistic statOrNull..............................4,094 ms (52673)
| other meteorNpm.isPortable...............................3,953 ms (63042)
| files.lstat..............................................3,420 ms (163548)
| other Builder#_ensureDirectory...........................1,781 ms (5481)
| linker File#computeAssignedVariables.....................1,666 ms (326)
| other meteorNpm.rebuildIfNonPortable.....................1,621 ms (125)
| files.readdir............................................1,533 ms (16539)
| files.mkdir................................................959 ms (12435)
| other Isopack#saveToPath...................................437 ms (71)
| files.read.................................................394 ms (4141)
| files.rename...............................................195 ms (2898)
| getPrelinkedFiles toStringWithSourceMap....................192 ms (63)
| files.rm_recursive.........................................178 ms (144)
| files.realpath.............................................112 ms (595)
| other JsImage#write........................................102 ms (8)
|
| (#3) Total: 166,509 ms (ProjectContext prepareProjectForBuild)
|
| (#4) Profiling: Build App                    ... )
| (  Starting your app                         ... )
| wrapped.fs.statSync                                               0 ms (2)
| Build App...................................................809,419 ms (1)
| └─ files.withCache..........................................809,419 ms (1)
|    ├─ compiler.compile(the app)..............................26,670 ms (1)
|    │  └─ files.withCache.....................................26,669 ms (3)
|    │     └─ compileUnibuild (the app)........................26,669 ms (3)
|    │        ├─ Isopack#ensurePluginsInitialized...............6,508 ms (42)
|    │        │  └─ JsImage#load................................6,504 ms (6)
|    │        │     └─ runJavaScript packages/minifier-css.js...3,890 ms (1)
|    │        │        └─ require("/node_modules/meteor/minifier-css/minifier.js").3,849 ms (1)
|    │        │           └─ require("cssnano")                 3,674 ms (1)
|    │        ├─ PackageSource#_findSources....................12,983 ms (3)
|    │        │  └─ files.withCache............................12,966 ms (3)
|    │        │     ├─ files.readdir                            1,202 ms (20366)
|    │        │     └─ other files.withCache                    9,771 ms
|    │        └─ other compileUnibuild (the app)                5,963 ms
|    ├─ bundler.bundle..makeClientTarget......................516,955 ms (2)
|    │  └─ Target#make........................................516,955 ms (2)
|    │     ├─ Target#_runCompilerPlugins.......................19,179 ms (2)
|    │     │  ├─ Isopack#ensurePluginsInitialized...............2,128 ms (544)
|    │     │  │  └─ JsImage#load                                2,125 ms (2)
|    │     │  ├─ plugin fourseven:scss                         14,095 ms (2)
|    │     │  └─ plugin coffeescript                            1,789 ms (2)
|    │     ├─ Target#_emitResources...........................489,358 ms (2)
|    │     │  ├─ PackageSourceBatch.computeJsOutputFilesMap...425,423 ms (2)
|    │     │  │  ├─ ImportScanner#_realPath.....................3,682 ms (3356)
|    │     │  │  │  ├─ optimistic lstatOrNull...................1,848 ms (13360)
|    │     │  │  │  │  └─ optimistic lstat                      1,094 ms (2481)
|    │     │  │  │  └─ other ImportScanner#_realPath            1,283 ms
|    │     │  │  ├─ ImportScanner#scanImports for base64........2,146 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,738 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for ejson.........2,753 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,574 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for ordered-dict..1,166 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,071 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for minimongo....14,766 ms (2)
|    │     │  │  │  └─ Babel.compile                           13,865 ms (16)
|    │     │  │  ├─ ImportScanner#scanImports for check.........2,011 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,895 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for callback-hook.1,258 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,196 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for ddp-common....2,479 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,406 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for socket-stream-client.2,658 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,393 ms (1)
|    │     │  │  ├─ ImportScanner#scanImports for ddp-client....6,822 ms (2)
|    │     │  │  │  └─ Babel.compile                            6,221 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for mongo.........1,855 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,700 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for reactive-dict.1,477 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,380 ms (4)
|    │     │  │  ├─ ImportScanner#scanImports for aldeed:collection2-core.2,722 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,189 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for practicalmeteor:mocha-core.3,490 ms (2)
|    │     │  │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 1,764 ms (156)
|    │     │  │  │  └─ ImportScanner#_resolve                   1,359 ms (556)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:mocha.6,500 ms (2)
|    │     │  │  │  ├─ Babel.compile                            4,427 ms (18)
|    │     │  │  │  └─ ImportScanner#_resolve...................1,520 ms (216)
|    │     │  │  │     └─ optimistic statOrNull                 1,106 ms (2768)
|    │     │  │  ├─ ImportScanner#scanImports for lmieulet:meteor-coverage.1,760 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,716 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:mutations.1,422 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,357 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for react-meteor-data.1,301 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,199 ms (6)
|    │     │  │  ├─ ImportScanner#scanImports for accounts-base.2,935 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,792 ms (10)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:grapher.26,333 ms (2)
|    │     │  │  │  └─ Babel.compile                           23,989 ms (114)
|    │     │  │  ├─ ImportScanner#scanImports for cultofcoders:grapher-react.3,124 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,836 ms (20)
|    │     │  │  ├─ ImportScanner#scanImports for okgrow:analytics.3,249 ms (2)
|    │     │  │  │  └─ ImportScanner#_resolve...................1,864 ms (266)
|    │     │  │  │     └─ optimistic statOrNull                 1,438 ms (3834)
|    │     │  │  ├─ ImportScanner#scanImports for aldeed:collection2.2,573 ms (2)
|    │     │  │  │  └─ Babel.compile                            2,227 ms (2)
|    │     │  │  ├─ ImportScanner#scanImports for dispatch:mocha.1,167 ms (2)
|    │     │  │  │  └─ Babel.compile                            1,065 ms (6)
|    │     │  │  ├─ ImportScanner#scanImports for the app.....302,911 ms (2)
|    │     │  │  │  ├─ Babel.compile                          225,980 ms (802)
|    │     │  │  │  ├─ ImportScanner#_findImportedModuleIdentifiers 16,078 ms (6252)
|    │     │  │  │  ├─ ImportScanner#_resolve..................50,111 ms (15140)
|    │     │  │  │  │  ├─ optimistic statOrNull................36,903 ms (136733)
|    │     │  │  │  │  │  ├─ safeWatcher.watch..................4,247 ms (7606)
|    │     │  │  │  │  │  │  ├─ files.stat                      2,763 ms (6666)
|    │     │  │  │  │  │  │  └─ other safeWatcher.watch         1,483 ms
|    │     │  │  │  │  │  ├─ files.stat                        15,737 ms (33927)
|    │     │  │  │  │  │  ├─ files.lstat                        1,971 ms (4909)
|    │     │  │  │  │  │  └─ other optimistic statOrNull       14,948 ms
|    │     │  │  │  │  └─ other ImportScanner#_resolve         11,445 ms
|    │     │  │  │  ├─ ImportScanner#_realPath..................3,443 ms (5450)
|    │     │  │  │  │  ├─ optimistic lstatOrNull                1,442 ms (28844)
|    │     │  │  │  │  └─ other ImportScanner#_realPath         2,001 ms
|    │     │  │  │  ├─ ImportScanner#_readFile                  2,394 ms (5452)
|    │     │  │  │  └─ other ImportScanner#scanImports for the app 3,824 ms
|    │     │  │  ├─ ImportScanner#scanMissingModules for the app.3,244 ms (4)
|    │     │  │  │  └─ ImportScanner#_resolve...................2,237 ms (1160)
|    │     │  │  │     └─ optimistic statOrNull                 1,591 ms (5049)
|    │     │  │  ├─ ImportScanner#scanMissingModules for socket-stream-client.4,443 ms (2)
|    │     │  │  │  └─ Babel.compile                            4,224 ms (7)
|    │     │  │  └─ other PackageSourceBatch.computeJsOutputFilesMap 1,028 ms
|    │     │  └─ PackageSourceBatch#getResources...............63,785 ms (214)
|    │     │     └─ PackageSourceBatch#_linkJS.................63,709 ms (214)
|    │     │        ├─ linker.fullLink.........................53,163 ms (214)
|    │     │        │  ├─ linker Module#getPrelinkedFiles......37,899 ms (214)
|    │     │        │  │  ├─ linker File#getPrelinkedOutput    18,996 ms (7903)
|    │     │        │  │  ├─ getPrelinkedFiles toStringWithSourceMap 16,758 ms (214)
|    │     │        │  │  └─ other linker Module#getPrelinkedFiles 2,144 ms
|    │     │        │  ├─ linker Module#computeAssignedVariables.13,105 ms (212)
|    │     │        │  │  └─ linker File#computeAssignedVariables 12,951 ms (7126)
|    │     │        │  └─ other linker.fullLink                 2,142 ms
|    │     │        ├─ files.writeFileAtomically................1,975 ms (214)
|    │     │        │  └─ files.writeFile                       1,841 ms (214)
|    │     │        └─ other PackageSourceBatch#_linkJS         7,304 ms
|    │     ├─ Target#minifyJs                                   3,270 ms (2)
|    │     └─ ClientTarget#minifyCss............................4,907 ms (2)
|    │        └─ minifyCssFiles.................................4,907 ms (2)
|    │           ├─ Npm.require("autoprefixer")                 1,384 ms (10)
|    │           └─ other minifyCssFiles                        1,851 ms
|    ├─ bundler.bundle..makeServerTarget......................243,753 ms (1)
|    │  └─ Target#make........................................243,753 ms (1)
|    │     └─ Target#_emitResources...........................242,953 ms (1)
|    │        ├─ PackageSourceBatch.computeJsOutputFilesMap...205,115 ms (1)
|    │        │  ├─ ImportScanner#_realPath                     1,520 ms (1471)
|    │        │  ├─ ImportScanner#scanImports for ejson.........1,091 ms (1)
|    │        │  │  └─ Babel.compile                            1,052 ms (2)
|    │        │  ├─ ImportScanner#scanImports for minimongo.....9,118 ms (1)
|    │        │  │  └─ Babel.compile                            8,611 ms (8)
|    │        │  ├─ ImportScanner#scanImports for ddp-client....3,190 ms (1)
|    │        │  │  └─ Babel.compile                            2,914 ms (4)
|    │        │  ├─ ImportScanner#scanImports for webapp........2,301 ms (1)
|    │        │  │  └─ Babel.compile                            1,951 ms (3)
|    │        │  ├─ ImportScanner#scanImports for ddp-server....2,359 ms (1)
|    │        │  │  └─ Babel.compile                            2,188 ms (5)
|    │        │  ├─ ImportScanner#scanImports for mongo.........4,598 ms (1)
|    │        │  │  └─ Babel.compile                            4,212 ms (10)
|    │        │  ├─ ImportScanner#scanImports for aldeed:collection2-core.1,399 ms (1)
|    │        │  │  └─ Babel.compile                            1,237 ms (1)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:mocha.3,133 ms (1)
|    │        │  │  └─ Babel.compile                            2,260 ms (10)
|    │        │  ├─ ImportScanner#scanImports for lmieulet:meteor-coverage.5,059 ms (1)
|    │        │  │  └─ Babel.compile                            4,530 ms (20)
|    │        │  ├─ ImportScanner#scanImports for accounts-base.2,752 ms (1)
|    │        │  │  └─ Babel.compile                            2,585 ms (5)
|    │        │  ├─ ImportScanner#scanImports for reywood:publish-composite.1,309 ms (1)
|    │        │  │  └─ Babel.compile                            1,169 ms (7)
|    │        │  ├─ ImportScanner#scanImports for herteby:denormalize.1,696 ms (1)
|    │        │  │  └─ Babel.compile                            1,606 ms (4)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:grapher.15,511 ms (1)
|    │        │  │  └─ Babel.compile                           13,819 ms (76)
|    │        │  ├─ ImportScanner#scanImports for cultofcoders:grapher-react.1,421 ms (1)
|    │        │  │  └─ Babel.compile                            1,163 ms (10)
|    │        │  ├─ ImportScanner#scanImports for accounts-password.1,186 ms (1)
|    │        │  │  └─ Babel.compile                            1,185 ms (2)
|    │        │  ├─ ImportScanner#scanImports for aldeed:collection2.1,421 ms (1)
|    │        │  │  └─ Babel.compile                            1,249 ms (1)
|    │        │  └─ ImportScanner#scanImports for the app.....129,034 ms (1)
|    │        │     ├─ Babel.compile                          118,659 ms (455)
|    │        │     ├─ ImportScanner#_findImportedModuleIdentifiers 3,231 ms (456)
|    │        │     ├─ ImportScanner#_resolve...................4,467 ms (1772)
|    │        │     │  ├─ optimistic statOrNull                 2,511 ms (15024)
|    │        │     │  └─ other ImportScanner#_resolve          1,867 ms
|    │        │     └─ other ImportScanner#scanImports for the app 2,475 ms
|    │        └─ PackageSourceBatch#getResources...............37,783 ms (118)
|    │           └─ PackageSourceBatch#_linkJS.................37,744 ms (118)
|    │              ├─ linker.fullLink.........................35,242 ms (118)
|    │              │  ├─ linker Module#getPrelinkedFiles......28,132 ms (118)
|    │              │  │  ├─ linker File#getPrelinkedOutput    13,791 ms (1135)
|    │              │  │  └─ getPrelinkedFiles toStringWithSourceMap 13,845 ms (118)
|    │              │  └─ linker Module#computeAssignedVariables.6,675 ms (117)
|    │              │     └─ linker File#computeAssignedVariables 6,614 ms (680)
|    │              └─ other PackageSourceBatch#_linkJS         2,067 ms
|    └─ bundler writeSiteArchive...............................21,913 ms (1)
|       └─ bundler writeTargetToPath...........................21,797 ms (3)
|          ├─ ClientTarget#write                                1,796 ms (2)
|          └─ ServerTarget#write...............................19,997 ms (1)
|             └─ JsImage#write.................................19,798 ms (1)
|                ├─ meteorNpm.isPortable.......................15,128 ms (39)
|                │  └─ meteorNpm.isPortable....................14,824 ms (1004)
|                │     └─ meteorNpm.isPortable.................12,730 ms (550)
|                │        └─ meteorNpm.isPortable..............11,744 ms (5763)
|                │           ├─ optimistic lstat                2,208 ms (5763)
|                │           └─ meteorNpm.isPortable............8,164 ms (3512)
|                │              ├─ optimistic lstat             1,423 ms (3512)
|                │              └─ meteorNpm.isPortable.........5,511 ms (4566)
|                │                 ├─ optimistic lstat          2,029 ms (4566)
|                │                 └─ meteorNpm.isPortable......2,822 ms (785)
|                │                    └─ meteorNpm.isPortable...2,104 ms (698)
|                │                       └─ meteorNpm.isPortable 1,015 ms (1432)
|                ├─ Builder#copyNodeModulesDirectory            3,092 ms (39)
|                └─ other JsImage#write                         1,342 ms
|
| Top leaves:
| Babel.compile..........................................506,500 ms (1805)
| linker File#getPrelinkedOutput..........................32,788 ms (9038)
| ImportScanner#_findImportedModuleIdentifiers............30,851 ms (7731)
| getPrelinkedFiles toStringWithSourceMap.................30,604 ms (332)
| files.stat..............................................26,596 ms (100850)
| linker File#computeAssignedVariables....................19,565 ms (7806)
| other optimistic statOrNull.............................14,948 ms (136733)
| other ImportScanner#_resolve............................14,575 ms (18554)
| other files.withCache....................................9,854 ms (7)
| other PackageSourceBatch#_linkJS.........................9,371 ms (332)
| other ImportScanner#scanImports for the app..............6,298 ms (3)
| other compileUnibuild (the app)..........................5,963 ms (3)
| files.lstat..............................................4,699 ms (33215)
| other ImportScanner#_realPath............................3,284 ms (8806)
| Target#minifyJs..........................................3,270 ms (2)
| other meteorNpm.isPortable...............................2,911 ms (16917)
| other linker Module#getPrelinkedFiles....................2,638 ms (332)
| other linker.fullLink....................................2,578 ms (332)
| files.readFile...........................................2,079 ms (7994)
| files.writeFile..........................................2,036 ms (926)
| files.realpath...........................................2,000 ms (12647)
| other minifyCssFiles.....................................1,851 ms (2)
| ImportScanner#_getAbsModuleId............................1,732 ms (11857)
| other safeWatcher.watch..................................1,483 ms (7606)
| other PackageSourceBatch.computeJsOutputFilesMap.........1,470 ms (3)
| files.readdir............................................1,403 ms (22151)
| other JsImage#write......................................1,342 ms (1)
| CssTools.stringifyCss......................................984 ms (2)
| other ImportScanner#scanImports for cultofcoders:grapher...756 ms (3)
| files.rm_recursive.........................................740 ms (232)
| other optimistic lstatOrNull...............................656 ms (13360)
| plugin ecmascript..........................................530 ms (3)
| safeWatcher.watch..........................................485 ms (3000)
| sha1.......................................................436 ms (7009)
| wrapped.fs.readFileSync....................................384 ms (285)
| CssTools.parseCss..........................................379 ms (10)
| Isopack#getUnibuildAtArch..................................375 ms (11778)
| other ImportScanner#scanImports for base64.................318 ms (2)
| plugin meteor..............................................305 ms (2)
| other Target#_runCompilerPlugins...........................271 ms (2)
| other linker Module#computeAssignedVariables...............215 ms (329)
| other Target#_emitResources................................205 ms (3)
| files.symlink..............................................192 ms (1974)
| other ServerTarget#write...................................188 ms (1)
| require("./security.js")...................................184 ms (3)
| other Target#make..........................................158 ms (3)
| other ImportScanner#scanMissingModules for the app.........148 ms (4)
| CssTools.rewriteCssUrls....................................147 ms (10)
| other files.writeFileAtomically............................120 ms (214)
| other ImportScanner#scanImports for lmieulet:meteor-coverage.119 ms (3)
| other PackageSourceBatch#getResources......................114 ms (332)
| other bundler writeSiteArchive.............................107 ms (1)
| sha512.....................................................103 ms (350)
|
| (#4) Total: 809,419 ms (Build App)
@markoshust

This comment has been minimized.

Copy link

markoshust commented Sep 14, 2018

@Floriferous note that overlay is different than overlay2. overlay is not recommended.

@Floriferous

This comment has been minimized.

Copy link

Floriferous commented Sep 14, 2018

@markoshust I changed the settings in my Docker for mac correctly to overlay2, but the circle CI local runner showed this:

df -hT
Filesystem     Type        Size  Used Avail Use% Mounted on
overlay        overlay      63G   15G   46G  25% /
tmpfs          tmpfs        64M     0   64M   0% /dev
tmpfs          tmpfs       3.0G     0  3.0G   0% /sys/fs/cgroup
osxfs          fuse.osxfs  279G  220G   55G  81% /tmp/_circleci_local_build_repo
/dev/sda1      ext4         63G   15G   46G  25% /etc/hosts
shm            tmpfs        30G     0   30G   0% /dev/shm
tmpfs          tmpfs       596M  696K  595M   1% /run/docker-temp.sock
tmpfs          tmpfs       3.0G     0  3.0G   0% /proc/acpi
tmpfs          tmpfs       3.0G     0  3.0G   0% /sys/firmware

Any idea how to force it to use overlay2?

@Floriferous

This comment has been minimized.

Copy link

Floriferous commented Sep 14, 2018

Also, @benjamn the df -hT I printed a few comments above was ran directly in circle CI (which I presume runs on linux), not on my local machine, but I'm experiencing 20minute builds in both places anyways, not only on my local mac OS.

@benjamn

This comment has been minimized.

Copy link
Member

benjamn commented Sep 18, 2018

@Floriferous Given that Babel.compile is often a significant fraction (~half) of the build time, I would recommend caching the .meteor/local/plugin-cache directory on Circle CI:

    steps:
      - restore_cache:
          keys:
            - v1-meteor-local-plugin-cache-{{ .Branch }}
      - checkout
      - run:
          name: install meteor
          # ...
      - run:
          name: run tests for App
          # ...
      - save_cache:
          key: v1-meteor-local-plugin-cache-{{ .Branch }}
          paths:
            - .meteor/local/plugin-cache

This isn't a complete solution, of course, but there's not a whole lot we can do about the performance of Babel.compile with a cold cache, so you might as well throw some caching at the problem.

If you don't want the caching to be restricted to a given branch, you can drop the -{{ .Branch }} part and just bump the v1- whenever you want to invalidate the cache.

@Floriferous

This comment has been minimized.

Copy link

Floriferous commented Sep 21, 2018

Yeah, I'm already caching all those things, even the entire .meteor folder. I wonder what else could be going on.

@RobertLowe

This comment has been minimized.

Copy link
Contributor

RobertLowe commented Sep 21, 2018

@Floriferous slow disk / network speed?

@Floriferous

This comment has been minimized.

Copy link

Floriferous commented Sep 21, 2018

@RobertLowe Well, it's circle CI, so I expect network speed to be decent. But slow disk, I would be surprised if this isn't all ran on SSDs in their server farms?

I started playing with GitLab today, without any impressive timings either, though I haven't tried their more expensive tiers.

@RobertLowe

This comment has been minimized.

Copy link
Contributor

RobertLowe commented Sep 21, 2018

@Floriferous my bet is solidly on your app over-compiling, maybe you dropped an external/vendor'd dep with lots of assets, or some huge imports etc

@Floriferous

This comment has been minimized.

Copy link

Floriferous commented Sep 21, 2018

Yeah that sounds very plausible indeed, I'm just not sure how to dig into it and find out? Should I get the size of my node_modules? Lines of JS code?

@kwuite

This comment has been minimized.

Copy link

kwuite commented Sep 24, 2018

Ah ha! That aufs is almost certainly the culprit here.

Here's a post from last year by @markoshust (a fellow Meteor developer) about how you can make Docker use the overlay2 file system instead of aufs: http://markshust.com/2017/03/02/making-docker-mac-faster-overlay2-filesystem

More evidence that aufs is a poor file system for any IO-intensive work inside a Docker container: https://dzone.com/articles/docker-for-mac-performance-tweaks-1

If i ssh to my circle machine, my local overlay docker image becomes an aufs type of image. It seems circle ci is still on aufs: https://discuss.circleci.com/t/circleci-2-0-is-moving-from-aufs-to-btrfs/18500/9

Is there anyway to force using overlay2 since I cannot build my meteor 1.6.1.4 repo.

@Floriferous

This comment has been minimized.

Copy link

Floriferous commented Sep 27, 2018

I was able to get a CPU profile done through qualia:profile, here they are in their 50MB glory.

Archive.zip

Here are the first few lines of the initial_build.cpuprofile, as you can see it spends 80% of the time in garbage collection:

screen shot 2018-09-27 at 15 14 41

@Floriferous

This comment has been minimized.

Copy link

Floriferous commented Sep 27, 2018

After more investigation, this seems to be the same problem as #9568 after all.

Here's what I can see when I add GC logging (allocation failure logged several thousands of times):

  (  Building for os.linux.x86_64              ... )
[5046:0x3730920]   552343 ms: Scavenge 1779.7 (1931.4) -> 1779.6 (1931.4) MB, 24.8 / 0.0 ms  allocation failure 
[5046:0x3730920]   552368 ms: Scavenge 1780.1 (1931.4) -> 1780.1 (1931.9) MB, 22.6 / 0.0 ms  allocation failure 
[5046:0x3730920]   552392 ms: Scavenge 1780.5 (1931.9) -> 1780.5 (1932.9) MB, 21.4 / 0.0 ms  allocation failure 
[5046:0x3730920]   552418 ms: Scavenge 1781.0 (1932.9) -> 1781.0 (1932.9) MB, 22.3 / 0.0 ms  allocation failure 
[5046:0x3730920]   552442 ms: Scavenge 1781.4 (1932.9) -> 1781.4 (1933.9) MB, 21.9 / 0.0 ms  allocation failure 
[5046:0x3730920]   552467 ms: Scavenge 1781.9 (1933.9) -> 1781.9 (1933.9) MB, 22.3 / 0.0 ms  allocation failure 
[5046:0x3730920]   552507 ms: Scavenge 1783.2 (1934.8) -> 1783.2 (1935.8) MB, 22.8 / 0.0 ms  allocation failure 
[5046:0x3730920]   552532 ms: Scavenge 1783.7 (1935.8) -> 1783.7 (1935.8) MB, 22.4 / 0.0 ms  allocation failure 
[5046:0x3730920]   552556 ms: Scavenge 1784.1 (1935.8) -> 1784.1 (1936.8) MB, 22.2 / 0.0 ms  allocation failure 
[5046:0x3730920]   552581 ms: Scavenge 1784.6 (1936.8) -> 1784.6 (1936.8) MB, 21.8 / 0.0 ms  allocation failure 
[5046:0x3730920]   552605 ms: Scavenge 1785.1 (1936.8) -> 1785.0 (1937.8) MB, 21.7 / 0.0 ms  allocation failure 
[5046:0x3730920]   552630 ms: Scavenge 1785.6 (1937.8) -> 1785.6 (1937.8) MB, 21.6 / 0.0 ms  allocation failure 
[5046:0x3730920]   552653 ms: Scavenge 1786.0 (1937.8) -> 1785.9 (1938.8) MB, 21.2 / 0.0 ms  allocation failure 
[5046:0x3730920]   552686 ms: Scavenge 1786.5 (1938.8) -> 1786.4 (1938.8) MB, 22.5 / 0.0 ms  allocation failure 
  (  Building the application                  ... )
[5046:0x3730920]   552717 ms: Scavenge 1786.9 (1938.8) -> 1786.6 (1939.3) MB, 23.2 / 0.0 ms  allocation failure 
[5046:0x3730920]   552751 ms: Scavenge 1787.3 (1939.3) -> 1786.8 (1939.8) MB, 24.7 / 0.0 ms  allocation failure 
[5046:0x3730920]   552781 ms: Scavenge 1787.6 (1939.8) -> 1787.1 (1939.8) MB, 21.7 / 0.0 ms  allocation failure 
[5046:0x3730920]   553003 ms: Scavenge 1836.5 (1988.5) -> 1835.8 (1989.0) MB, 22.7 / 0.1 ms  allocation failure 
[5046:0x3730920]   553035 ms: Scavenge 1836.7 (1989.0) -> 1835.9 (1989.0) MB, 22.3 / 0.0 ms  allocation failure 
[5046:0x3730920]   553067 ms: Scavenge 1837.3 (1989.5) -> 1836.3 (1989.5) MB, 22.6 / 0.0 ms  allocation failure 
[5046:0x3730920]   553099 ms: Scavenge 1837.3 (1989.5) -> 1836.3 (1989.5) MB, 25.8 / 0.0 ms  allocation failure 
[5046:0x3730920]   553126 ms: Scavenge 1837.3 (1989.5) -> 1836.4 (1989.5) MB, 21.0 / 0.0 ms  allocation failure 
[5046:0x3730920]   553161 ms: Scavenge 1837.3 (1989.5) -> 1836.4 (1989.5) MB, 23.5 / 0.0 ms  allocation failure 
[5046:0x3730920]   553203 ms: Scavenge 1837.3 (1989.5) -> 1836.4 (1989.5) MB, 23.9 / 0.0 ms  allocation failure 
[5046:0x3730920]   553234 ms: Scavenge 1837.4 (1989.5) -> 1836.8 (1989.5) MB, 23.0 / 0.0 ms  allocation failure 
[5046:0x3730920]   553258 ms: Scavenge 1837.0 (1989.5) -> 1837.0 (1990.0) MB, 21.4 / 0.0 ms  allocation failure 
[5046:0x3730920]   553284 ms: Scavenge 1837.8 (1990.0) -> 1836.8 (1990.0) MB, 21.5 / 0.0 ms  allocation failure 
[5046:0x3730920]   553316 ms: Scavenge 1837.8 (1990.0) -> 1836.9 (1990.0) MB, 23.2 / 0.0 ms  allocation failure 
[5046:0x3730920]   553363 ms: Scavenge 1839.9 (1992.1) -> 1839.4 (1992.1) MB, 23.0 / 0.0 ms  allocation failure 
[5046:0x3730920]   553388 ms: Scavenge 1839.9 (1992.1) -> 1840.0 (1992.6) MB, 21.9 / 0.0 ms  allocation failure 
[5046:0x3730920]   553412 ms: Scavenge 1840.3 (1992.6) -> 1840.3 (1993.1) MB, 21.9 / 0.0 ms  allocation failure 
[5046:0x3730920]   553437 ms: Scavenge 1840.9 (1993.1) -> 1840.9 (1993.6) MB, 22.1 / 0.0 ms  allocation failure 
[5046:0x3730920]   553475 ms: Scavenge 1841.3 (1993.6) -> 1841.2 (1994.1) MB, 23.4 / 0.0 ms  allocation failure 
[5046:0x3730920]   553500 ms: Scavenge 1841.8 (1994.1) -> 1841.8 (1994.1) MB, 22.5 / 0.0 ms  allocation failure 
[5046:0x3730920]   553526 ms: Scavenge 1842.2 (1994.1) -> 1842.1 (1995.1) MB, 22.7 / 0.0 ms  allocation failure 
[5046:0x3730920]   553574 ms: Scavenge 1845.9 (1998.3) -> 1844.9 (1998.3) MB, 23.8 / 0.0 ms  allocation failure 
[5046:0x3730920]   553611 ms: Scavenge 1845.9 (1998.3) -> 1845.0 (1998.3) MB, 22.5 / 0.0 ms  allocation failure 
[5046:0x3730920]   553860 ms: Scavenge 1894.7 (2047.1) -> 1893.9 (2047.1) MB, 24.0 / 0.1 ms  allocation failure 
[5046:0x3730920]   553921 ms: Scavenge 1894.8 (2047.1) -> 1894.0 (2047.1) MB, 23.5 / 0.0 ms  allocation failure 
[5046:0x3730920]   556048 ms: Mark-sweep 1894.4 (2047.1) -> 1508.7 (1906.5) MB, 2109.6 / 0.2 ms  (+ 57.4 ms in 22 steps since start of marking, biggest step 3.8 ms, walltime since start of marking 2313 ms) allocation failure GC in old space requested
@sakulstra

This comment has been minimized.

Copy link
Contributor

sakulstra commented Sep 28, 2018

not sure if this helps:
we've been facing build time problems on google cloud build(not circle ci) lately and it seems like some meteor packages we've been using ship unnecessary npm modules which dramatically slow down the build times in ci with and without cache.

@Floriferous

This comment has been minimized.

Copy link

Floriferous commented Oct 5, 2018

Update: I've made some serious progress with circle CI, builds+test can now happen in 1min30 for my smaller meteor app, and upto 3mins for my largest meteor app. The first cold run still takes 15-20 minutes though.

Here are some important findings:

  • System meteor (~/.meteor) has to be cached after running the apps/tests, it is the single biggest contributing factor to reducing build time
    • One issue with this cache is that is gets very big, and takes 1 minute to be downloaded/verified/unarchived
    • Because we're currently running on 1.8-rc, we first have to install 1.7, and then run meteor update, which means we're caching 2 versions of meteor (roughly 500MB), one of which is completely useless. I tried running from a git checkout, but that's a whole other level of headache to get it working seamlessly on circle CI with bash profiles doing weird things. Lost a few hours trying to make it work, but now I'll wait for the imminent release of 1.8 to reduce this cache in half
  • Caching your app's meteor contributes well too (myApp/.meteor)
  • Caching node_modules helps as well of course
  • Writing a JS script to generate your (multiple) circleCI configs is extremely helpful if you don't want to mess it up :) Makes it much easier to reuse parts of your config and use proper variables for your cache keys. JS comments are also much better than yaml. This package is your friend: https://github.com/jonschlinkert/write-yaml
  • Divide and conquer: Don't try to do too many things in one job. We used to do 6 potentially failing things in one job, meaning we would have a hard time making everything pass (with 40min iteration time) and get the caches to be generated so that the next iteration doesn't take as long.
    • I've now parallelized my tests much more, resulting in an increased cost on circleCI, but much more reliable and decoupled jobs (may or may not be obvious to people with complex CI setups)
  • Don't divide and conquer too much: be careful with my previous point, running an initial "setup" job, where you install node_modules, and meteor is not worth it once your caches are working, because saving and attaching circle CI workspaces ends up taking as much time as installing node_modules and meteor in each of your jobs
  • meteortesting:mocha is our final test driver, together with nightmare. chrome just doesn't seem to work well, the versions of chromedriver, selenium-webdriver and meteor itself just don't want to cooperate. Here's a small list of errors I met: meteortesting/meteor-mocha#81, meteortesting/meteor-mocha#54, meteortesting/meteor-mocha#71, a variant of this one: https://discuss.circleci.com/t/session-not-created-exception-chrome-version-must-be-62-0-3202-0/19258, as well as another error so obscure I decided to quit: http://selenium.10932.n7.nabble.com/Error-EADDRNOTAVAIL-connect-td55449.html
  • EDIT: Absolutely use partial cache restores (those cascading restore_cache keys)!! This dramatically sped up my iterations, and if it's tiring to write them yourself, use the little helper I included in my config-generator below. (Docs: https://circleci.com/docs/2.0/caching/#restoring-cache)
    • From meteor-app-${name}-${CACHE_VERSION}-{{ checksum "./.meteor/release" }}-{{ checksum "./.meteor/packages" }}-{{ checksum "./.meteor/versions" }}
    • To:
      - restore_cache:
          name: Restore meteor app
          keys:
            - >-
              meteor-app-myApp-4-{{ checksum
              "./.meteor/release" }}-{{ checksum
              "./.meteor/packages" }}-{{ checksum
              "./.meteor/versions" }}
            - >-
              meteor-app-myApp-4-{{ checksum
              "./.meteor/release" }}-{{ checksum
              "./.meteor/packages" }}-
            - >-
              meteor-app-myApp-4-{{ checksum
              "./.meteor/release" }}-
            - meteor-app-www-4-
            - meteor-app-myApp-
            - meteor-app-
            - meteor- # Maybe skip this one to avoid very rare clashes with other caches

@benjamn It would've helped me a lot to better understand what ~/.meteor and app/.meteor actually do, and store, to improve my caching strategy. Where should I start to get a better grasp of what's going on in there?

For example: I don't know what caching keys I should use to store ~/.meteor, because I don't know what change affects that directory. Is it on a per-meteor-app basis? Does it depend on meteor packages? node_modules? Is it some kind of cache for the entire app? Can it be shared across different meteor apps?

For people curious about setting things up, here's my circle CI config
version: 2
jobs:
  test:
    working_directory: ~/app
    docker: &ref_0
      - image: 'circleci/openjdk:10-jdk-node-browsers'
        environment:
          LANG: C.UTF-8
          LANGUAGE: C.UTF-8
          LC_ALL: C.UTF-8
          LC_NUMERIC: en_US.UTF-8
          METEOR_VERSION: '1.7'
          NODE_ENV: development
          TOOL_NODE_FLAGS: >-
            --max_old_space_size=8192 --optimize_for_size --gc_interval=100
            --min_semi_space_size=8 --max_semi_space_size=256
          METEOR_PROFILE: 1000
          CIRCLE_CI: 1
          DEBUG: true
          METEOR_ALLOW_SUPERUSER: true
    steps:
      - checkout
      - restore_cache:
          name: Restore meteor system
          keys:
            - 'meteor-system-www-3-{{ checksum "./.circleci/config.yml" }}'
      - restore_cache:
          name: Restore meteor app
          keys:
            - >-
              meteor-app-3-{{ checksum
              "./.meteor/release" }}-{{ checksum
              "./.meteor/packages" }}-{{ checksum
              "./.meteor/versions" }}
      - restore_cache:
          name: Restore node_modules
          keys:
            - >-
              node_modules-3-{{ checksum "./package.json"
              }}
      - run:
          name: Create results directory
          command: mkdir ./results
      - run:
          name: Install meteor
          command: ./scripts/circleci/install_meteor.sh
      - run:
          name: Install node_modules
          command: meteor npm i
      - run:
          name: Install nightmare
          command: meteor npm i nightmare --no-save
      - save_cache:
          name: Cache node_modules
          key: 'node_modules-3-{{ checksum "./package.json" }}'
          paths:
            - ./node_modules
      - run:
          name: Run tests
          command: meteor npm run test-CI
      - save_cache:
          name: Cache meteor system
          key: 'meteor-system-3-{{ checksum "./.circleci/config.yml" }}'
          paths:
            - ~/.meteor
      - save_cache:
          name: Cache meteor app
          key: >-
            meteor-microservice-3-{{ checksum
            "./.meteor/release" }}-{{ checksum
            "./.meteor/packages" }}-{{ checksum
            "./.meteor/versions" }}
          paths:
            - ./.meteor/local
      - store_test_results:
          path: ./results
      - store_artifacts:
          path: ./results
workflows:
  version: 2
  Build and test:
    jobs:
      - test
And here are a couple ideas for writing a CI generating script
// Just a small promise wrapper around write-yaml npm package
import { writeYAML } from '../.deployment/utils';

const WORKING_DIRECTORY = '~/app';
const CACHE_VERSION = 3;

const defaultJobValues = {
  working_directory: WORKING_DIRECTORY,
  docker: [
    {
      image: 'circleci/openjdk:10-jdk-node-browsers', // Has browsers, like chrome, necessary to run client-side tests
      environment: {
        // LANG variables are necessary for meteor to work well
        LANG: 'C.UTF-8',
        LANGUAGE: 'C.UTF-8',
        LC_ALL: 'C.UTF-8',
        LC_NUMERIC: 'en_US.UTF-8',
        NODE_ENV: 'development', // Some packages require this during tests
        TOOL_NODE_FLAGS:
          '--max_old_space_size=8192 --optimize_for_size --gc_interval=100 --min_semi_space_size=8 --max_semi_space_size=256', // NodeJS kung-fu to make your builds run faster, without running out of memory
        METEOR_PROFILE: 1000, // If you need to debug meteor, turn this on
        CIRCLE_CI: 1, // Helpful in your tests, to know whether you're in circle CI or not
        DEBUG: true, // Helps
        METEOR_ALLOW_SUPERUSER: true, // Required when running meteor in docker
        // QUALIA_PROFILE_FOLDER: './profiles', // If you want to store qualia profiles
      },
    },
  ],
};

const cacheKeys = {
  meteorSystem: name =>
    `meteor-system-${name}-${CACHE_VERSION}-{{ checksum "./.meteor/release" }}`,
  meteorApp: name =>
    `meteor-app-${name}-${CACHE_VERSION}-{{ checksum "./.meteor/release" }}-{{ checksum "./.meteor/packages" }}-{{ checksum "./.meteor/versions" }}`,
  nodeModules: name =>
    `node_modules-${name}-${CACHE_VERSION}-{{ checksum "./package.json" }}`,
};

const cachePaths = {
  meteorSystem: () => '~/.meteor',
  meteorApp: name => `./.meteor/local`,
  nodeModules: name => `./node_modules`,
};

// Circle CI Commands

const runCommand = (name, command) => ({ run: { name, command } });
const restoreCache = (name, key) => ({
  restore_cache: {
    name,
    // Provide multiple, less accurate, cascading, keys for caching in case checksums fail
    // See circleCI docs: https://circleci.com/docs/2.0/caching/#restoring-cache
    keys: key
      .split('-')
      .reduce(
        (keys, _, index, parts) => [
          ...keys,
          parts.slice(0, parts.length - index).join('-') +
            (index === 0 ? '' : '-'),
        ],
        [],
      ),
  },
});
const saveCache = (name, key, path) => ({
  save_cache: { name, key, paths: [path] },
});
const storeTestResults = path => ({ store_test_results: { path } });
const storeArtifacts = path => ({ store_artifacts: { path } });

// Create unit test job for a given app
const UnitTestJob = name => ({
  ...defaultJobValues,
  steps: [
    'checkout',
    restoreCache('Restore meteor system', cacheKeys.meteorSystem(name)),
    restoreCache(
      'Restore meteor microservice',
      cacheKeys.meteorApp(name),
    ),
    restoreCache('Restore node_modules', cacheKeys.nodeModules(name)),
    runCommand('Create results directory', 'mkdir ./results'),
    // runCommand(
    //   'Create profiles directory',
    //   'mkdir ./profiles',
    // ),
    runCommand('Install meteor', './scripts/circleci/install_meteor.sh'),
    runCommand(
      'Install node_modules',
      `meteor npm i`,
    ),
    runCommand(
      'Install nightmare',
      `meteor npm i nightmare --no-save`,
    ),
    saveCache(
      'Cache node_modules',
      cacheKeys.nodeModules(name),
      cachePaths.nodeModules(name),
    ),
    runCommand(
      'Run tests',
      `meteor npm run test-CI`,
    ),
    saveCache(
      'Cache meteor system',
      cacheKeys.meteorSystem(name),
      cachePaths.meteorSystem(name),
    ),
    saveCache(
      'Cache meteor app',
      cacheKeys.meteorApp(name),
      cachePaths.meteorApp(name),
    ),
    storeTestResults('./results'),
    storeArtifacts('./results'),
    // storeArtifacts('./profiles'),
  ],
});

// Final config
const makeConfig = () => ({
  version: 2,
  jobs: {
    'Unit tests': UnitTestJob('my-app'),
    // Add as many as you want here
  },
  workflows: {
    version: 2,
    'Build and test': {
      jobs: ['Unit tests'],
    },
  },
});

const main = () => {
  writeYAML({ file: `${__dirname}/config.yml`, data: makeConfig() });
};

main();
@benjamn

This comment has been minimized.

Copy link
Member

benjamn commented Oct 5, 2018

AWESOME notes @Floriferous. I will definitely be pointing people to this comment whenever issues like this crop up in the future.

Since ~/.meteor is shared by all applications, it's essentially a read-only mirror of the Atmosphere package database (~/.meteor/package-metadata/v2.0.1/packages.data.db) and all the versions of packages that you've ever downloaded (~/.meteor/packages). It does grow over time, as you download and install new versions of packages, but those data never change after that, so it should be entirely safe to cache the entire ~/.meteor directory on Circle CI, to the best of my understanding. I'm sorry this wasn't documented better.

The contents of yourApp/.meteor should also be safe to cache, though of course they do change over time. If Meteor couldn't figure out how to update the contents of yourApp/.meteor/local each time it runs, that would be a big problem for the framework, and for your development workflow.

@Floriferous

This comment has been minimized.

Copy link

Floriferous commented Oct 5, 2018

Okay, so if I understand correctly (please correct me if I'm wrong):

  • ~/.meteor should be cached on .meteor/versions only, since it's just a list of meteor packages
  • But, yourApp/.meteor should be cached based on what? What is the best way to make meteor do the least amount of work to update it, or not update it at all, so that the build goes the fastest?

I'm still not sure why ~/.meteor has such a dramatic impact on Build App time, since you mention it only mirrors packages to avoid downloads. Does it also compile/transpile them? Or prepare them in any other way? Circle CI's network speed is pretty fast, so it should be trivial to regenerate a perfect ~/.meteor within seconds and then run meteor at the same speed, so what am I missing?

@smeijer

This comment has been minimized.

Copy link

smeijer commented Oct 5, 2018

@Floriferous, is your ./scripts/circleci/install_meteor.sh simply curl https://install.meteor.com/ | sh or are you doing more exiting things there?

@Floriferous

This comment has been minimized.

Copy link

Floriferous commented Oct 5, 2018

@smeijer Here's what it's doing:
The meteor update is what's causing our meteor system cache to be 500MB :(

install_meteor.sh

#!/bin/bash

# If the cached meteor directory exists, link its binary
# Else install meteor.
if [ -e ~/.meteor/meteor ]; then
  ~/app/.circleci/symlink_cached_meteor_binary.sh
else
  echo "Meteor directory not found. Installing Meteor $METEOR_VERSION..."
  curl "https://install.meteor.com?release=$METEOR_VERSION" | /bin/sh
fi

# FIXME: Do this temporarily while 1.8 can't be installed via curl
meteor update --release 1.8-rc.16

And symlink_cached_meteor_binary.sh

#!/bin/bash

# If the cached meteor directory exists, link its binary.
if [ -e ~/.meteor/meteor ]; then
  echo "Meteor directory found. Symlinking binary..."

  # `METEOR_PATH` is the 'meteor' command's path (if any available)
  METEOR_PATH="$(type -p meteor)";

  # If the `METEOR_PATH` is empty (meaning 'meteor' command doesn't exist)
  # a default binary path is set for it
  if [ -z "$METEOR_PATH" ];
  then
    METEOR_PATH=/usr/local/bin/meteor;
  fi

  sudo ln -sf ~/.meteor/meteor "$METEOR_PATH";
  echo "Done symlinking meteor binary."
else
  echo "Meteor directory not found.";
fi
@smeijer

This comment has been minimized.

Copy link

smeijer commented Oct 8, 2018

Awesome scripts. Thanks for sharing.

Sidenote: Meteor 1.8 has been released!!! That saves you (/us) the FIXME hack.

Do you perhaps know if it would be possible to speedup the "Spin up" environment somehow? My tests are now under 3 minutes, but the "spin up" takes 45 seconds.

@Floriferous

This comment has been minimized.

Copy link

Floriferous commented Oct 8, 2018

@smeijer I have a 1 second spin up time, are you using docker or machine? I've noticed that machine is much slower than docker to spin up. I also believe circleCI takes a little bit of time on your first run with docker, but subsequent ones have the container instantly ready.

Let me know if that works!

Yay for Meteor 1.8 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment