whittlem / pycryptobot

Python Crypto Bot (PyCryptoBot)
Apache License 2.0
1.96k stars 739 forks source link

Gihub Actions "container.yml" failing, build locally works! #828

Closed whittlem closed 11 months ago

whittlem commented 11 months ago

Hi @warrmr, @m0ntyG, @loomsen, @ionsome, @Kukzee, @DmitriyLyalyuev, @lvlie,

Thanks for your contributions to PyCryptoBot, and more specifically the Dockerfile.

I'm stuck with an issue and need some help please.

I've had to upgrade the PyCryptoBot docker image from Python 3.9 to 3.11.4. The version was becoming too old and causing problem with the dependency libraries.

I've also had to remove statsmodels (with scipy dep) as it's causing a lot of issues and I think it's a "nice to have" for a feature that isn't used ("enableml"). It also makes the container much larger for no reason.

GitHub Actions keeps failing to build the image. I've been trying to troubleshoot it but not sure what is wrong. Workflow: https://github.com/whittlem/pycryptobot/blob/main/.github/workflows/container.yml Example of issue: https://github.com/whittlem/pycryptobot/actions/runs/5854147248

The part that has be puzzled it is builds fine if you run it locally manually....

pycryptobot % docker build . -t pycryptobot pycryptobot % docker run -i -t -v ./coinbasepro.key:/app/coinbasepro.key pycryptobot

The error on Github seems to suggest it's an issue with PIP but I don't get with a local build.

Any ideas?

ionsome commented 11 months ago

Hi! I don't see any problem except it takes a lot of time to install 🙂 I suppose it happens due of builtin arm support https://github.com/whittlem/pycryptobot/pull/603

whittlem commented 11 months ago

Hi! I don't see any problem except it takes a lot of time to install 🙂 I suppose it happens due of builtin arm support #603

Thanks for the Reply. It builds fine for me locally but for some reason when Github Actions runs the workflow it fails. Any idea how to fix it? I would have thought they would both work the same but it seems not.

ionsome commented 11 months ago

Job is finally crashed, I see the problem. We've got several platforms:

Built successfully:

Built unsuccessfully:

You can reproduce it by running docker build . --platform "linux/arm/v7". If we don't need to support linux/arm/v6 and linux/arm/v7 the easiest solution is to remove it from env.PLATFORM.

whittlem commented 11 months ago

Job is finally crashed, I see the problem. We've got several platforms:

Built successfully:

  • linux/arm64
  • linux/amd64

Built unsuccessfully:

  • linux/arm/v6
  • linux/arm/v7

You can reproduce it by running docker build . --platform "linux/arm/v7". If we don't need to support linux/arm/v6 and linux/arm/v7 the easiest solution is to remove it from env.PLATFORM.

Thanks for helping. I've commented those two out. Trying it now.

whittlem commented 11 months ago

Job is finally crashed, I see the problem. We've got several platforms:

Built successfully:

  • linux/arm64
  • linux/amd64

Built unsuccessfully:

  • linux/arm/v6
  • linux/arm/v7

You can reproduce it by running docker build . --platform "linux/arm/v7". If we don't need to support linux/arm/v6 and linux/arm/v7 the easiest solution is to remove it from env.PLATFORM.

That worked, thanks for your help.