-
Notifications
You must be signed in to change notification settings - Fork 141
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
Use dotnet image for godot 4 #106
Use dotnet image for godot 4 #106
Conversation
I can confirm this works for Windows builds, Linux also built but I did not run the executable. For anyone who wants a quick summary of the needed changes for this PR:
|
Thank you for this first review. With the Godot 4 image, it is also required to use |
The export target was already changed to |
I added a commit to use the jammy .NET image (to match the ubuntu version used in Dockerfile following #107 and #108). I also made modifications in these test repositories:
I tested the macOS executables: it works (for Godot 3 and 4) |
Do you know if it will be possible to see this PR merged before the release of Godot 4.1 ? Perhaps I need to wait a little longer for the changes to be verified ? |
Ran into what I believe is this issue trying to use the image Running in a github ci workflow with something like:
Fails with |
Thank you for the test. Two problems prevented your job from working correctly:
You can check this repository for a working example. I have also
|
I'm curious: What is the state of this PR? Is any help required to put this ahead? Since Godot 4.1.1 is already available, is it reasonable to update this PR to the latest stable? |
The PR is ready to be merged if maintainers agree. I don't think it's necessary to update the PR. If necessary you can temporarily use the image I built myself to test this PR: https://hub.docker.com/r/adrasteondev/godot-ci/tags |
Why isn't this merged? Csharp+github is really not plug and play right now. Been fiddling with it for a couple of hours, don't even have the solution yet. ( let's hope this is it ) |
@AdrasteonDev AdrasteonDev Barichello/godot-ci image, which yours is based on has a dockerfile available, but after I tried it, it seems to me it is not working properly. |
Hi ! Good to see my image is useful :) You can find it here. You can also look at the "build-mono" job in this CI file (the variables used by the Dockerfile are defined here). |
Thank you, I will give it a spin. :) |
I have ended up having to fork from @AdrasteonDev's fork to get things working, as my pipeline needed the dotnet image and latest Godot version. If this change be brought in it would be very helpful 🙂 |
I've updated my code by getting the latest changes from the master branch and reproducing some of the changes you made in your fork. For the download link, I'll get the code from the master branch once #168 has been merged. |
Some things surprise me in this PR:
|
Working on a fix for this. Updated the mono.Dockerfile in my fork to use ubuntu:22.04 as the base image, and have it building, iI just need to set up a repo on my CI system to test that image to make sure the end to end building works for mono projects. |
I'm going to open a new PR for my changes, but I have the ubuntu 22.04 container building, and my CI pipeline using the container successfully builds Windows, macOS, Linux, and Android binaries. Tested the Linux, Windows, and Android binaries and they run, macOS export zip has contents, but I don't own a mac to test the builds so I sent them over to a friend with a Mac to test (waiting on response) Web still isn't supported in the .NET builds. looks like iOS Build support requires a mac, so my CI system won't be able to do it. |
Replace default image with dotnet image
Replace ubuntu-20.04 with ubuntu-22.04
Replace ubuntu-20.04 with ubuntu-22.04
Replace ubuntu-20.04 with ubuntu-22.04
I reused existing ubuntu versions, and left the default value at mono:latest to have few changes from the master branch. But since you'd like to see these changes, I've replaced mono:latest with the dotnet 8 image by default, and Ubuntu 20.04 with 22.04 (I was not sure which jobs can be upgraded to 24.04, but I'd rather not think about it, as I've only got a little free time this weekend). I let you decide whether to merge my PR or kfechter's future PR. It would probably be a good idea to keep my job that defines the dotnet image to use (to keep Godot 3 and Godot < 4.4 compatibility). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
This pull request allows to use the .NET Docker image instead of the mono image for Godot 4 (the mono image is still used for Godot 3). It is related to #80 (it adds the possibility to use the dotnet command for Godot 4).
As long as there is currently no godot-ci image for Godot 4 on Docker Hub, it will not break existing CI pipelines for Godot 4.
I decided to use "dotnet/sdk:6.0-focal" because I could not install "python-openssl" with the "bullseye-slim" version (and because focal is also used in the dockerfile of the non-mono version of Godot).
I also added a few comments in the YAML files related to Godot 4, and I corrected a bug in mono.Dockerfile.
I made sample projects to be sure that the images are usable for CI:
I verified that the Linux and Windows executables created by the CI pipelines of these projects run correctly.
Let me know if you have any comments or suggestions about this pull request.