heroku / buildpacks-nodejs

Heroku's Cloud Native Buildpacks for Node.js applications.
BSD 3-Clause "New" or "Revised" License
24 stars 18 forks source link

Intermittent error when downloading nodejs #933

Closed schneems closed 1 month ago

schneems commented 1 month ago

I got this today from GHA:

Run pack build my-image --force-color --builder heroku/builder:24 --trust-extra-buildpacks --buildpack heroku/nodejs-engine --buildpack packaged/aarch64-unknown-linux-musl/debug/heroku_ruby --path tmp/ruby-getting-started --pull-policy never
===> ANALYZING
Image with name "my-image" not found
===> DETECTING
heroku/nodejs-engine 3.2.14
heroku/ruby          3.0.0
===> RESTORING
===> BUILDING

[Heroku Node.js Engine Buildpack]

[Checking Node.js version]
Node.js version not specified, using 20.x
Resolved Node.js version: 20.[17](https://github.com/heroku/buildpacks-ruby/actions/runs/11147447391/job/30981795116?pr=327#step:12:18).0

[Installing Node.js distribution]
Downloading Node.js 20.17.0 (linux-arm64) from https://nodejs.org/download/release/v[20](https://github.com/heroku/buildpacks-ruby/actions/runs/11147447391/job/30981795116?pr=327#step:12:21).17.0/node-v20.17.0-linux-arm64.tar.gz

[Error: Node.js engine distribution error]
Couldn't download Node.js distribution: I/O error while downloading file: response body closed before all bytes were read
ERROR: failed to build: exit status 1
ERROR: failed to build: executing lifecycle: failed with status code: 51

I checked the status site for nodejs.org so either there's no problem or it's not posted yet. It seems like it might just be a blip.

I'm opening the issue here but I think this affects all buildpacks. The classic Ruby buildpack has retry behavior baked in for flaky or inconsistent networks. It would be good to prototype retry behavior in a buildpack or two and then fan out to the rest (possibly fanning back to libcnb.rs).

edmorley commented 1 month ago

I think this might be a dupe of #868?

schneems commented 1 month ago

Boldly going where Ed has already been. Thanks for the spot and link. Closing now.