esbuild download timing out on deploy

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 :man_shrugging:t4:

It will eventually occur again, either timing out or failing on some file/folder (e.g. .elixir_ls). I had the same problem and others too:

cc @joshua (sorry for mentioning you everywhere, but might be easier to keep track of everyone with this issue)