gardenlinux / builder

Builder used to construct Garden Linux. Re-usable for other OS-projects.
Apache License 2.0
9 stars 2 forks source link

deprecate native_bin magic #95

Open nkraetzschmar opened 2 months ago

nkraetzschmar commented 2 months ago

The native_bin hack provides acceleration for cross-arch builds. Originally this was needed for two main reasons:

Now with github hosted arm runners and podman machine on mac using rosetta instead of qemu by default (which has far far better emulation performance, and so far no random seg faults) this should no longer be required.

Deprecating this will both simplify the internals of the builder and may even provide a slight build time reduction on native builds, since the native_bin step cannot be skipped in its current design, even for native builds.

[!NOTE] While this would NOT deprecate or break cross-arch builds on container hosts without rosetta, however, on such hosts build performance would be degraded.

fwilhe commented 2 months ago

Totally forgot about rosetta for podman machine. Seems like I'm using it without noticing, but I don't often attempt to build x86 on my mac.

Really cool.

One question on github hosted runners: I believe that not everyone is yet able to use those (seems like I can't in my personal namespace, only in the gl org), so this means we make the situation worse for people using the builder outside of our org, right? @nkraetzschmar Are you aware of any timeline from github for when everyone is able to use hosted arm runners?