-
Notifications
You must be signed in to change notification settings - Fork 487
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
[Bug]: fluvio-socket v0.14.6 doesn't compile in Docker unless git is installed. #3787
Comments
@marvin-hansen thanks for reporting, we'll take a look. Just an FYI, we also have pre-compiled Docker images. https://infinyon.com/docs/tutorials/docker-installation/ |
That's cool, thank you. To be clear, my release container compiles and works. It's just the git dependency that raises an eyebrow. Frankly I've never seen this before. Out of > 650 total dependencies that get compiled for my project, only this one has this weirdo git build script and I think there might be a different way without requiring git. Otherwise, great job. This project rocks. |
If am not mistaken we use fluvio/crates/fluvio-socket/build.rs Line 15 in 682930c
I think that we could replace that with gitoxide |
Thanks for the fast resolution.
…On Wed, Dec 20, 2023 at 10:15 PM morenol ***@***.***> wrote:
Closed #3787 <#3787> as
completed via #3789 <#3789>.
—
Reply to this email directly, view it on GitHub
<#3787 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AFYR7XGV6ZKL36TMEBGV5M3YKLXJNAVCNFSM6AAAAABA24KFXSVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJRGMYDGMJYG42DOMI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
What happened
I am trying to compile fluvio in Docker while building a release container.
However, the compile in Docker fails UNLESS git is installed.
FIX / Workaround: Install git in the build container.
See relevant Dockerfile at the bottom.
Expected behavior
I would expect fluvio to compile in Docker without a hard
dependency on git. I don't think I ever had to install git in a build container to compile any other published crate.
The error originates from the Build script in the fluvio-socket crate that uses a git checkout.
What puzzles me is that the build script in question is pinned to HEAD of the remote repo instead of a specific commit hash,
which makes the entire build non-hermetic and non-deterministic. This is problematic because you never know
with which commit fluvio was actually build so this really is a problem that only waits to bite you one day.
The way I see the situation, this might be relatively easy to fix with a proper versioning of dependencies
instead of using git and pinning to head.
However, if a proper solution is infeasible for any reason, please update the fluvio-socket build script
in such a way that it tests whether git is installed and if not, issues a meaningful error message
that makes it clear that git must be installed for the build to succeed. This would have saved me a bit of time
tracing down the root cause of the build fail.
Describe the setup
fluvio version
.Fluvio CLI : 0.11.2
Fluvio CLI Arch : aarch64-apple-darwin
Fluvio CLI SHA256 : 2db084880a36e9aeed5b28e67f78fa2df3531558e6d8bd9e36a355ca970654ac
Fluvio channel frontend SHA256 : 2db084880a36e9aeed5b28e67f78fa2df3531558e6d8bd9e36a355ca970654ac
Fluvio Platform : 0.11.2 (local)
Git Commit : cddc053
OS Details : Darwin 14.2 (kernel 23.2.0)
How to reproduce it (as minimally and precisely as possible)
Steps to reproduce the behavior:
The build script that causes the error:
Lines 15 - 21
https://github.com/infinyon/fluvio/blob/master/crates/fluvio-socket/build.rs
Log output
Environment (please complete the following information):
fluvio cluster status
📝 Running cluster status checks with profile local
✅ SC is ok
✅ (1/1) SPUs are online
✅ 1 topic using 0 B
Additional context
Dockerfile:
The text was updated successfully, but these errors were encountered: