codecov / codecov/codecov-cli

Provide prebuilt binaries for FreeBSD

Open
#438 20 comments 1 reaction 2 assignees View on GitHub

@thomasrockhu-codecov is already working on this.

Since Sep 17, 2024.

codecov/codecov-cli enhancement
Dominant language
Python
Stars
89
Forks
64
PR merge metrics
No merged PRs in 30d

Description

This issue is basically https://github.com/codecov/uploader/issues/849 for the modern era. 😄 The move from the Node.js-based uploader to the Python-based CLI means that coverage can now be submitted from FreeBSD, e.g. on Cirrus CI and Travis, which is awesome! However, since prebuilt binaries are not available for FreeBSD like they are for other platforms, FreeBSD CI builds need to install from PyPI via pip. That in itself is not a problem—however, there is no Python wheel platform tag for FreeBSD, so installation requires a full source build of the package and all of its dependencies. This takes about 7 minutes of CI time on Cirrus for every run. In contrast, downloading and using the official prebuilt binaries from https://cli.codecov.io takes just a few seconds. It would be great to be able to avoid using all of that extra compute time.

Just as some of the binaries here are built using QEMU on GitHub Actions, FreeBSD binaries could be built using https://github.com/vmactions/freebsd-vm. (Alternatively, binaries for AArch64 Linux, both glibc and musl, could be built natively on Cirrus, which also natively supports FreeBSD, but I imagine y'all don't want to maintain a separate CI setup alongside GitHub Actions.)

Admittedly I don't know much about Python packaging but I'm more than happy to help however I can! cc also @lwhsu, who also offered to support for the previous issue.

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.