codecov / self-hosted

Example of how to setup Codecov with docker compose
Other
442 stars 36 forks source link

Please distribute native arm64 images beside existing amd64 images #43

Open CpuID opened 2 months ago

CpuID commented 2 months ago

Context: most Docker daemons on MacOS behave OK, but there's some quirks such as the below if you try and run https://github.com/codecov/codecov-gateway under implementations like https://orbstack.dev/ (colima has the same issue - https://github.com/abiosoft/colima/issues/1015 ). Apparently the underlying issue was solved in Docker Desktop ( https://github.com/docker/for-mac/issues/6973 ) but isn't in all implementations, so having native arm64 images would workaround the issue 👍

gateway-1    | Codecov api started.
gateway-1    | Waiting for Codecov ia to start ...
gateway-1    | Codecov IA started.
gateway-1    | Codecov preflight complete.
gateway-1    | Codecov gateway ssl disabled
gateway-1    | Codecov gateway minio enabled
gateway-1    | Starting haproxy
gateway-1    | [NOTICE]   (68) : New worker (70) forked
gateway-1    | [NOTICE]   (68) : Loading success.
gateway-1    | rosetta error: Unable to open /proc/self/exe: 2
gateway-1    |  [NOTICE]   (68) : haproxy version is 2.9.9-ad75c48
gateway-1    | [ALERT]    (68) : Current worker (70) exited with code 133 (Trace/breakpoint trap)
gateway-1    | [WARNING]  (68) : A worker process unexpectedly died and this can only be explained by a bug in haproxy or its dependencies.
gateway-1    | Please check that you are running an up to date and maintained version of haproxy and open a bug report.
gateway-1    | [ALERT]    (68) : exit-on-failure: killing every processes with SIGTERM
gateway-1    | [WARNING]  (68) : All workers exited. Exiting... (133)
gateway-1    | HAProxy version 2.9.9-ad75c48 2024/06/14 - https://haproxy.org/
gateway-1    | Status: stable branch - will stop receiving fixes around Q1 2025.
gateway-1    | Known bugs: http://www.haproxy.org/bugs/bugs-2.9.9.html
gateway-1    | Running on: Linux 6.9.8-orbstack-00170-g7b4100b7ced4 #1 SMP Thu Jul 11 03:32:20 UTC 2024 x86_64

Steps to reproduce:

To confirm it works on arm64:

> docker info | grep Arch
 Architecture: aarch64

> docker build -t codecov-self-hosted-gateway:master-arm64 .
...

> docker image inspect codecov-self-hosted-gateway:master-arm64 | grep Arch
        "Architecture": "arm64",

<adjust the image value for gateway in docker-compose.yml to be codecov-self-hosted-gateway:master-arm64>

> docker-compose up

Expected results:

> docker logs -f codecov-self-hosted-gateway-1
...
Codecov gateway ssl disabled
Codecov gateway minio enabled
Starting haproxy
[NOTICE]   (49) : New worker (51) forked
[NOTICE]   (49) : Loading success.
CpuID commented 2 months ago

Bug filed with Orbstack directly to try fix their side - but it would still be nice to have amd64 + arm64 native images :)

https://github.com/orbstack/orbstack/issues/1401