Expo publish errors

Hi,

I am getting this error intermittently when running expo publish on circle ci, have updated the resource_class of the docker executor from medium to medium + but issue still persists…

#!/bin/bash -eo pipefail
npx expo-cli publish --non-interactive --max-workers 1 --release-channel $EXPO_RELEASE_CHANNEL --target bare

[00:00:02] › Expo SDK: 40.0.0
[00:00:02] › Release channel: develop-1.0.6
[00:00:02] › Workflow: Bare

[00:00:02] Building optimized bundles and generating sourcemaps...
[00:00:03] Starting Metro Bundler
Building JavaScript bundle [] 20%Building JavaScript bundle [] 22%Building JavaScript bundle [] 24%Building JavaScript bundle [] 28%Building JavaScript bundle [] 32%Building JavaScript bundle [] 35%Building JavaScript bundle [] 41%Building JavaScript bundle [] 43%Building JavaScript bundle [] 48%Building JavaScript bundle [] 49%Building JavaScript bundle [] 50%Building JavaScript bundle [] 51%Building JavaScript bundle [] 52%Building JavaScript bundle [] 53%Building JavaScript bundle [] 54%Building JavaScript bundle [] 55%Building JavaScript bundle [] 56%Building JavaScript bundle [] 57%Building JavaScript bundle [] 59%Building JavaScript bundle [] 60%Building JavaScript bundle [] 61%Building JavaScript bundle [] 62%Building JavaScript bundle [] 63%Building JavaScript bundle [] 64%Building JavaScript bundle [] 65%Building JavaScript bundle [] 66%Building JavaScript bundle [] 67%Building JavaScript bundle [] 68%Building JavaScript bundle [] 69%Building JavaScript bundle [] 70%Building JavaScript bundle [] 71%Building JavaScript bundle [] 72%Building JavaScript bundle [] 73%Building JavaScript bundle [] 74%Building JavaScript bundle [] 75%Building JavaScript bundle [] 76%Building JavaScript bundle [] 77%Building JavaScript bundle [] 78%Building JavaScript bundle [] 79%Building JavaScript bundle [] 80%Building JavaScript bundle [] 81%Building JavaScript bundle [] 82%Building JavaScript bundle [] 83%Building JavaScript bundle [] 84%Building JavaScript bundle [] 85%Building JavaScript bundle [] 86%Building JavaScript bundle [] 87%Building JavaScript bundle [] 88%Building JavaScript bundle [] 89%Building JavaScript bundle [] 90%Building JavaScript bundle [] 91%Building JavaScript bundle [] 92%Building JavaScript bundle [] 93%Building JavaScript bundle [] 94%Building JavaScript bundle [] 95%Building JavaScript bundle [] 96%Building JavaScript bundle [] 97%Building JavaScript bundle [] 98%Building JavaScript bundle [] 99%Building JavaScript bundle [] 100%(node:249) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated
(Use `node --trace-deprecation ...` to show where the warning was created)
[00:01:11] Finished building JavaScript bundle in 67970ms.
Error: write EPIPE
    at ChildProcess.target._send (internal/child_process.js:832:20)
    at ChildProcess.target.send (internal/child_process.js:703:19)
    at ChildProcessWorker.send (/home/circleci/repo/node_modules/metro/node_modules/jest-worker/build/workers/ChildProcessWorker.js:286:17)
    at WorkerPool.send (/home/circleci/repo/node_modules/metro/node_modules/jest-worker/build/WorkerPool.js:32:34)
    at Farm._process (/home/circleci/repo/node_modules/metro/node_modules/jest-worker/build/Farm.js:129:10)
    at onEnd (/home/circleci/repo/node_modules/metro/node_modules/jest-worker/build/Farm.js:122:12)
    at ChildProcessWorker._onProcessEnd (/home/circleci/repo/node_modules/metro/node_modules/jest-worker/build/workers/ChildProcessWorker.js:280:14)
    at ChildProcessWorker.onMessage (/home/circleci/repo/node_modules/metro/node_modules/jest-worker/build/workers/ChildProcessWorker.js:220:14)
    at ChildProcess.emit (events.js:315:20)
    at ChildProcess.EventEmitter.emit (domain.js:467:12)
    at emit (internal/child_process.js:903:12)
    at processTicksAndRejections (internal/process/task_queues.js:81:21)

Exited with code exit status 1
CircleCI received exit code 1

Have seen this in past posts but does not seem to be a clear solution…

it looks like connectivity to expo servers was dropped

https://nodejs.org/api/errors.html

  • EPIPE (Broken pipe): A write on a pipe, socket, or FIFO for which there is no process to read the data. Commonly encountered at the net and http layers, indicative that the remote side of the stream being written to has been closed.

Thanks @notbrent . So running this locally i never have this issue, but on circle ci the process takes longer, between 5-10 mins compare to < 2 mins locally. So is this something that can be adjusted on Expo’s end if the connection is being terminated there? This particular circle ci job will not timeout until 60 mins of no response.

is most of that time spent in bundling the bundle? if so, the circle worker needs more cpu. is it in uploading? in that case there seems to be a connectivity issue with expo’s servers from circle

yeah so this publish runs in a job that has done a build first, so perhaps need to up the cpu, will try that