-
Notifications
You must be signed in to change notification settings - Fork 74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Provide binaries for FreeBSD #849
Comments
This requires far more stakeholders than myself to decide, but I like the idea! I have some questions (which might become more):
|
Hi @drazisil-codecov, thanks for the response! Li-Wen can surely provide better details than I can but in the meantime I'll do my best to answer your questions.
Node on FreeBSD is community-supported but prebuilt binaries are available via the system package manager,
The BSDs (including macOS 😄) each have their own libc. Some very basic information about FreeBSD's is available here.
There is a
How do you mean? Expecting in terms of size?
I guess it depends on the kind of container you mean. Containerization on FreeBSD is primarily done via a mechanism called "jails" rather than something like Docker. You can run Linux inside of a jail on FreeBSD but it goes through the same binary compatibility stuff that I mentioned in the OP so you'd likely hit the same issue. |
Yes, sorry I forgot an important word there. 😓 Yes, in terms of the size of the binary |
It sounds like there is a lot of work involved then if it even ends up being possible. Happy to accept PRs if the community would like to give it a shot. I don't know if we have the bandwidth to investigate adding this support at this time :-/ |
Unfortunately I don't have a good sense of that but I can't imagine it'd be meaningfully different than the one for Linux.
I do suspect it is possible but would be an undertaking.
Totally, totally understand! I'll keep poking at using the Linux binary as that would be the simplest solution if I can get it to work. Hopefully Li-Wen and/or the other FreeBSD folks are able to take a look; if a roadmap of sorts with the steps required for native support can be laid out, I imagine that could make engaging the broader FreeBSD community easier as there would be well-defined tasks to tackle. Thanks again for your responsiveness and consideration, @drazisil-codecov! |
Going to close this out for now. @ararslan please feel free to open if you get something working on the Linux binary |
Is your feature request related to a problem? Please describe.
FreeBSD builds are offered by two CI providers supported by the official Codecov uploader: Cirrus and Travis. However, coverage information collected on FreeBSD can't be submitted to Codecov via the uploader since there is no FreeBSD binary for it. That means that software designed for FreeBSD that runs its tests on CI can't use Codecov's official uploader.
Describe the solution you'd like
It would be great to be able to upload results to Codecov from FreeBSD using the official uploader. Ideally the binary would be installable in the same way as for Linux.
Describe alternatives you've considered
There are a few alternatives that I can think of:
Community support for the binary, likely via a port. At least in my mind, this somewhat defeats the purpose of the centralized, single-source-of-truth uploader, as it means that there's a separate distribution and maintenance mechanism from that of the other platforms. There is some discussion relevant to that point in Document upload API so other projects can implement it feedback#226.
Use the Linux binary with FreeBSD's Linux binary compatibility. I gave this a whirl in Support uploading code coverage to Codecov ararslan/CirrusCI.jl#11 and, while it actually does successfully submit coverage, the process hangs until the CI step times out and I've yet to determine why. That would be a rather suboptimal user experience.
Additional context
The uploader uses the Node.js package
pkg
for static compilation, which doesn't officially support FreeBSD but lets you try to build for it (see https://github.com/vercel/pkg#targets).pkg
in turn usespkg-fetch
, which actively does not support FreeBSD (see https://github.com/vercel/pkg-fetch/issues/39#issuecomment-1023748139). I imagine this will complicate matters.If you're interested in supporting FreeBSD, the amazing @lwhsu has offered to see what the FreeBSD Project and the FreeBSD Foundation can do to help.
The text was updated successfully, but these errors were encountered: