-
-
Notifications
You must be signed in to change notification settings - Fork 127
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
Building Mac Il2cpp on Mac OSX Docker #55
Comments
Yes, we'll need to develop one in this repository and integrate it with the versioning backend. It's part of the long term plans. Contributions are welcomed on this. |
Hi! I'd like to help :) |
We'd need to develop a base image for both Windows and MacOS. These base images require the host OS to also be Windows or MacOS respectively (so they would run on different runners). Generally we want to move towards a folder structure with each base-os as a folder in the root.
You can fork this repo and try to reproduce the same images (base, hub, editor) for Windows and MacOS. Initially they'd only need to build for targetPlatforms that are not currently available, so Windows/MacOS IL2CPP and UWP. |
Sweet, I've just forked your repo. It will be great if I manage to contribute :-D I swapped the image by one mac compatible and it does build an image on my mac (without the dependencies yet), which is great (although the base image has 3+GB on this first test, ugh!) So I was reading the Dockerfile, I reckon some dependencies I could sort out using homebrew, but I couldn't follow all the general dependencies:
Not sure if I'm on the right path (70%?), but it seems like a start. So would be glad to help with the base images if you have the time! |
It's a start, but the hard part is not copying each logical step. It's evaluating each statement to see if it is indeed needed. We have added comments to most additions. Each package has been added after trial and error. Most have been added in pull requests that describe the reason for adding it. After that we need the hub image to be able to run on top of it, and finally the editor image built from that. As you mentioned; for MacOS images we should indeed be using the MacOS best practices, like using homebrew and such. Feel free to open a PR with your proposal once you get hub working or even the editor. |
Hey I did some more research and the docker-osx project above mentioned is a macOS vm inside a Linux container, my approach above was wrong as everything was running in the Alpine linux and not on actual osX. |
Since GitHub offers MacOS runners, we can run MacOS containers on top of it. I don't see the need for extra complexity at this point, and there may be much complexity with such a deep stack. Recommend staying with MacOS container on top of MacOS runner Note that GitHub provides the runners for free so you can experiment as much as you want. |
You're right about no need for extra complexity, it makes sense. So I'm still researching and I don't seem to find any docker support for running macOS natively, maybe I'm not understanding docker features right? I was reading the github-runners docs and it looks like a macOS VM but I couldn't find anywhere an image (official) that runs a docker container based on macOS. I checked here: https://github.com/docker-library/official-images Not sure if it's a docker limitation or I'm not understanding it, but if macOS is not supported I'm glad to work on windows support to contribute to the project. |
Well, as stated in issue description, there might not be an official one, but there is this: |
Yes that's the only option I found too! |
I also found this serverfault thread: Where someone shared this: But |
Judging by this answer on StackOverflow it looks like it's not really a thing. So maybe we'll just have to run typescript directly to issue the right commands to install (or pull) and run Unity editor. Otherwise we'd go back to having multiple semantical steps like Edit: another idea: We could take the bottom out of a linux container, and mount whatever MacOS native is needed. I haven't done something like it before but it might turn out to be the most light weight option (with the least changes required), if it's at all possible.. Edit: here's an even better thread about kernels and docker (see the commends and newer answers too). |
This discussion is relevant for a possible solution: containerd/containerd#5525. |
Description
We can currently build for Linux il2cpp and Windows il2cpp using the 1 docker image for Unity on Linux. However, Mac il2cpp can only be built currently on Mac OS unfortunately. After some digging, I did find that there's docker image for Mac OSX: https://github.com/sickcodes/Docker-OSX
If we can automate the build for mac il2cpp, then we can build for all 3 platforms on gitlab. Can we possibly get a Unity image for mac os?
The text was updated successfully, but these errors were encountered: