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

I have been having similar issues. 90% of the time, on both builds and updates, I get the following failure:

Compressing project files and uploading to EAS Build. Learn more: https://expo.fyi/eas-build-archive
- Compressing project files
- Uploading to EAS Build (0 / 25.0 MB)
✖ Uploading to EAS Build (13.1 MB / 25.0 MB)
    FetchError: request to https://{{host}}.s3.amazonaws.com/ 
    failed, reason: write EPIPE
    Code: EPIPE

The failure returns almost immediately, not after a long wait. What’s odd is that my colleagues on the west coast do not have the same issues. I’ve cloned into a fresh repo and updated eas-cli. We are on SDK 46.

hi there! it seems like your network connection might be cutting out while uploading to s3. are you on an otherwise stable network? do you have a firewall that might be interfering? are you using a proxy?