I’m interested in finding a continuous integration solution to speed up the process of merging/deploying/testing at work. So far, I’ve looked into a handful of possibilities, and I’m trying out Travis CI and Semaphore.
Using Travis CI, I’ve gotten as far as investigating the script deployment section, trying to figure out what I need to set up in order to deploy to Galaxy.
Using Semaphore (and @sbr464’s Quick Tutorial - How to setup Semaphore CI for Meteor/Galaxy Continuous Integration), I was able to get as far as starting the deployment process, but I hit the following error:
<--- Last few GCs --->
[3418:0x4114f30] 184308 ms: Mark-sweep 1401.7 (1464.1) -> 1401.7 (1463.1) MB, 678.2 / 0.2 ms (+ 0.0 ms in 0 steps since start of marking, biggest step 0.0 ms, walltime since start of marking 678 ms) last resort GC in old space requested
[3418:0x4114f30] 184980 ms: Mark-sweep 1401.7 (1463.1) -> 1401.7 (1463.1) MB, 672.0 / 0.2 ms last resort GC in old space requested
<--- JS stacktrace --->
==== JS stack trace =========================================
Security context: 0x37cd2a9a5e91 <JSObject>
1: /* anonymous */ [/home/runner/.meteor/packages/meteor-tool/.1.6.0.1whvdik.oongk++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/source-map/lib/source-node.js:~336] [pc=0x796a4bc8f41](this=0x3a5287a86401 <JSGlobal Object>,chunk=0x201b80117b91 <String[5]: ref4.>,original=0x33e75bd83719 <Object map = 0x2e4d4f976661>)
2: SourceNode_walk [/home/runne...
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
1: node::Abort() [/home/runner/.meteor/packages/meteor-tool/.1.6.0.1whvdik.oongk++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node]
2: 0x121809c [/home/runner/.meteor/packages/meteor-tool/.1.6.0.1whvdik.oongk++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node]
3: v8::Utils::ReportOOMFailure(char const*, bool) [/home/runner/.meteor/packages/meteor-tool/.1.6.0.1whvdik.oongk++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node]
4: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [/home/runner/.meteor/packages/meteor-tool/.1.6.0.1whvdik.oongk++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node]
5: v8::internal::factory::NewFillerObject(int, bool, v8::internal::AllocationSpace) [/home/runner/.meteor/packages/meteor-tool/.1.6.0.1whvdik.oongk++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node]
6: v8::internal::Runtime_AllocateInTargetSpace(int, v8::internal::Object**, v8::internal::Isolate*) [/home/runner/.meteor/packages/meteor-tool/.1.6.0.1whvdik.oongk++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/bin/node]
7: 0x796a430463d
Aborted (core dumped)
This looks similar to an issue I was having locally, and was able to resolve by adding
export NODE_OPTIONS="--max_old_space_size=4096"
export TOOL_NODE_FLAGS="--max-old-space-size=4096"
to .bashrc
Does anyone have experience using Travis CI to deploy to Galaxy? Alternatively, has anyone been able to overcome the CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
error on Semaphore? Alternatively alternatively, has anyone had a good experience deploying to Galaxy with a service other than Travis CI or Semaphore?