I tried to deploy an update to my blog today and because I’m on an M1 mac I am using the remote deploy option, but it is timing out on the assets.deploy step and it appears to be stuck trying to download the esbuild binary from npm
I tested if this was a problem with npm, but locally I can download the esbuild in a little less than 500ms.
time curl -v https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.12.18.tgz --output Downloads/esbuild.tgz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 104.16.16.35:443...
* Connected to registry.npmjs.org (104.16.16.35) port 443 (#0)
... omitting details ...
{ [1047 bytes data]
100 3071k 100 3071k 0 0 6909k 0 --:--:-- --:--:-- --:--:-- 7029k
* Connection #0 to host registry.npmjs.org left intact
curl -v --output Downloads/esbuild.tgz 0.04s user 0.04s system 16% cpu 0.466 total
So maybe npm is throttling the build servers from fly? I know a lot of people in the elixir community have been trying out fly recently
I worked around the problem for now by deleting my deployment project in the fly.io UI, and then re-running fly deploy --remote-only which provisioned a new build machine for me and it was able to build sucessfully
This has been happenning to me for the last ~20 hours, I can’t deploy a new version of my app because the esbuild step just hangs. Both with a local and a remote deployment: