prebuild / prebuildify-cross

Compile prebuilds in Docker.
16 stars 6 forks source link

Not compatible with latest version of docker #20

Open OpportunityLiu opened 3 weeks ago

OpportunityLiu commented 3 weeks ago

Since docker api versions before v1.24 are deprecated. And the support for these version is removed in v26.0. prebuildfy-cross will not work with latest github actions images.

You will get

Error: {"message":"client version 1.21 is too old. Minimum supported API version is 1.24, please upgrade your client to a newer version"}

For reference: https://docs.docker.com/engine/api/#deprecated-api-versions https://github.com/actions/runner-images/pull/9982 https://github.com/CloudPSS/mmap/actions/runs/9662063371/job/26651153004

vweevers commented 3 weeks ago

We might get lucky if we just bump the version here and if the subset of the API that we use did not have breaking changes.

Otherwise, we'll have to go trough https://github.com/moby/moby/blob/master/docs/api/version-history.md and change code accordingly.

vweevers commented 3 weeks ago

At quick glance, 1.24 is compatible with the API that we use. Could you try that out?

OpportunityLiu commented 3 weeks ago

The dependency docker-run hardcoded api version and not updated for 8 years.

https://github.com/mafintosh/docker-run/blob/9c685de188eac9c1a70cad9f0f7d22f5cd92aedc/index.js#L17

As of @vweevers/docker-pull, it accepts a version option.

https://github.com/vweevers/docker-pull?tab=readme-ov-file#var-p--pullimage-options-callback

Should we move to dockerode?

vweevers commented 3 weeks ago

As of @vweevers/docker-pull, it accepts a version option.

Yes, but I prefer to change the version there, so both modules benefit. Either way, we need someone to confirm that it works.

Should we move to dockerode?

No. There's no need to complicate things when all we need is replacing a "1.21" string with "1.24".

OpportunityLiu commented 3 weeks ago

The dependency docker-run hardcoded api version and not updated for 8 years.

https://github.com/mafintosh/docker-run/blob/9c685de188eac9c1a70cad9f0f7d22f5cd92aedc/index.js#L17

So you have to make a fork of this package too. It seems I can't help.

thegecko commented 2 weeks ago

Just hit the same issue :(

Looks like we need to create some forks or switch to another docker provider. Which way do you want to take it @vweevers ?