-
Notifications
You must be signed in to change notification settings - Fork 79
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
Fix binary names #122
Fix binary names #122
Conversation
No need for all the other files to bust the cache nor waste time being uploaded. Signed-off-by: Manuel Mendez <[email protected]>
Signed-off-by: Manuel Mendez <[email protected]>
No need to copy all the binaries only to keep one of them. This was also already buggy as `uname -m` was showing x86_64 for both the x86_64 and 386 builds. This is making use of the buildx multi-platform provided ARGS, a normal `docker build` user would have to pass these values in manually. This seems like a step backwards compared to `uname -m` but as I mentioned previously, that was already broken. Signed-off-by: Manuel Mendez <[email protected]>
Less copy/paste is better than more. Signed-off-by: Manuel Mendez <[email protected]>
This way we have just one recipe but can make use of parallal make during local development. Signed-off-by: Manuel Mendez <[email protected]>
These names matches the variables used by Go and buildx. Signed-off-by: Manuel Mendez <[email protected]>
Signed-off-by: Manuel Mendez <[email protected]>
Codecov Report
@@ Coverage Diff @@
## master #122 +/- ##
=======================================
Coverage 40.90% 40.90%
=======================================
Files 40 40
Lines 2056 2056
=======================================
Hits 841 841
Misses 1130 1130
Partials 85 85 Continue to review full report at Codecov.
|
Thank you for making it right! I have to admit, we need a bit of consistency. Otherwise, can you apply the same criteria to the other projects? |
@gianarb I think those names in sandbox should be changed to -armv6 and armv7 as that seems to be the most common scheme in go projects I can find releases for (caddy, traefik, golangci-lint) and also has the easiest scheme $name-$os-$cpu |
Also, @gianarb only boots does cross compiling outside of docker so there isn't really anything to do for any of the other projects right? |
I see what you are saying.. Yep right |
## Description Renames binaries to be more consistent in and of itself and also compared to other Go projects that provide multi-arch binaries. ## Why is this needed @gianarb asked me to rename the binaries in tinkerbell/smee#122 to match this scheme, but I think that this PR is the better directon.
…l#38) ## Description Renames binaries to be more consistent in and of itself and also compared to other Go projects that provide multi-arch binaries. ## Why is this needed @gianarb asked me to rename the binaries in tinkerbell/smee#122 to match this scheme, but I think that this PR is the better directon.
Description
This PR fixes the binary names to be both correct and also "unsurprising".
Why is this needed
Avoids needing to COPY all the binaries, only to keep 1. Also avoids glaringly misnamed binaries :D.
For example these are the binaries built from master:
notice the 32bit arm v6 binary is named aarch64 and x86_64 is actually 386!
Here is from this PR:
How Has This Been Tested?
Inspecting each file with
file
, docker build works.How are existing users impacted? What migration steps/scripts do we need?
Any user using the cross compiled binaries directly will be impacted, but this should most likely be 0 users since they will likely use plain-old
boots
binary instead.