codecov / codecov/self-hosted

Please distribute native arm64 images beside existing amd64 images

Open
#43 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Shell
Stars
544
Forks
61
PR merge metrics
No merged PRs in 30d

Description

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:

  • install Orbstack or colima (with docker-compose available)
  • git clone https://github.com/codecov/self-hosted.git && cd self-hosted && docker-compose up

To confirm it works on arm64:

  • git clone https://github.com/codecov/codecov-gateway.git && cd codecov-gateway
  • On an arm64 Orbstack or colima instance:
> 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.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with docker-compose.yml and the codecov-gateway image build context, then reproduce the failure on an arm64 Orbstack or Colima instance using the commands in the issue. Done means native arm64 images are distributed alongside the existing amd64 images and the compose setup runs successfully without a local gateway image rebuild.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, docker-compose
Domain
devops, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.