fyne-io / fyne-cross

Cross compiler tool for Fyne apps
BSD 3-Clause "New" or "Revised" License
234 stars 48 forks source link

Enable OSX compilation in CI #249

Open calderonth opened 3 months ago

calderonth commented 3 months ago

The Github Workflow does not run a cross compile for the darwin target. If darwin cross compilation is to be reliable, the CI should include it so we know that projects can be compiled reliably.

There are a number of open issues relating to Linux -> Darwin cross compile open and I think it would provide valuable signals if the CI can produce valid artefacts.

https://github.com/fyne-io/fyne-cross/blob/a730062af07dd5b3f45c74a465921b3b1e607fa6/.github/workflows/ci.yml#L91-L94

Bluebugs commented 3 months ago

In progress #243 , but it is to be noted this PR is only testing darwin on darwin which is limited. #245 is open to allow darwin on darwin.

calderonth commented 3 months ago

Thanks, I've commented in the other bug report. I am yet to successfully build myself from Linux to OSX, the documentation is outdated and don't seem to work properly for Linux to Darwin as far as I can tell.

Bluebugs commented 3 months ago

My understanding is that the newest sdk does not work with fyne. As I did my setup years ago, I am not going through the oops of verifying latest sdk from Apple, especially because I can't automate its download and I don't have an apple id. I wish apple was doing better there.

An alternate solution, that I wish I had time to investigate is what tinygo does. There is an open issue for it, but basically we are just compiling not running macos code, we could provide a shim and empty library.

andydotxyz commented 3 months ago

the documentation is outdated

Can you be more specific? I am not aware of any docs that don't work - but if you can point to where they are wrong we will update.

calderonth commented 3 months ago

Well I have been following this documentation: https://github.com/fyne-io/fyne-cross/?tab=readme-ov-file#extract-the-macos-sdk-for-osxdarwinapple-cross-compiling.

With it, I am still unable to cross compile from Linux to Darwin a basic Fyne app. I am encountering the same issues mentioned in #202 and #187 and have yet to produce a valid binary.

PS: I have tried many variants of the CLI tools for Xcode without success.

calderonth commented 3 months ago

I don't know if this is linked to the zig version change in the base Docker image (https://github.com/fyne-io/fyne-cross-images/blob/main/base/Dockerfile#L6) whilst the darwin image is stuck to the older one: https://github.com/fyne-io/fyne-cross-images/blob/main/darwin/Dockerfile#L9 but there's clearly something not right.

andydotxyz commented 2 months ago

Do you have any errors you can share? it is not clear from the info about which step is failing. Sorry this went un-commented for a while, we have been busy with the next Fyne release.

Thanks for linking to the doc you are using - you mention it is outdated, but not which step was not working for you. More info will help us understand where things may not be working for you.