lunatic icon indicating copy to clipboard operation
lunatic copied to clipboard

chore: Remove macOS universal build

Open kosticmarin opened this issue 1 year ago • 5 comments

  • Release separate binaries for x86_64 and aarch64

This was done in order to fix issues with existing universal binary which does not work on some macOS systems. Some people reported the following issue exec format error: lunatic.

@bkolobara I'm not sure how to test this without creating a tag?

kosticmarin avatar Aug 23 '23 11:08 kosticmarin

I never figured out a way to test this without actually pushing to the repository.

Creating tags should be fine, as it only creates a "draft release" that we don't need to publish. I think you should be able to see draft releases with your repository permissions.

bkolobara avatar Aug 23 '23 12:08 bkolobara

@bkolobara Every thing looks good! Can You try out the new binaries on macOS, to see if the problems format are gone?

After we can delete the draft builds.

PS. Ignore the deny checks :smile:

kosticmarin avatar Aug 23 '23 13:08 kosticmarin

It works!

But it also bundles the whole target directory structure. We should probably just include the binary at the top level, like on linux and windows.

I just remembered that we also have a hombrew formula that is automatically updated when a release is triggered. I couldn't find examples of formulas that have both arm and x64 binaries in it. With the universal build we always pointed to the same, but am unsure how it would work now.

bkolobara avatar Aug 24 '23 08:08 bkolobara

Ok, great catch I'll remove the directory structure!

Also I'll check what we can do about hombrew and how we can improve release there.

kosticmarin avatar Aug 24 '23 08:08 kosticmarin

I've fixed the directory structure when we package macOS builds.

Also I've checked some of the most popular rust project and how they are installed using Homebrew. Most of them are using cargo and installing from source via-a github release archive.

Here are some of the examples:

In short all their formula depend on depends_on "rust" => :build and they just run system "cargo", "install".

kosticmarin avatar Aug 28 '23 09:08 kosticmarin