abarichello / godot-ci

Docker image to export Godot Engine games. Templates for Gitlab CI and GitHub Actions to deploy to GitLab Pages/GitHub Pages/Itch.io.
https://hub.docker.com/r/barichello/godot-ci
MIT License
759 stars 133 forks source link

Update Release Action for Godot 4.0 #105

Closed seanmaxwell closed 1 year ago

seanmaxwell commented 1 year ago

Recent release action runs have been failing: https://github.com/abarichello/godot-ci/actions/runs/4473942443

Most recent fix for this issue (#104) seems to be missing the piece that would make the release action utilize the changes made. With this update we will provide the new arguments to pull the correct zip for Godot 4.0 and run it with the expected arguments mentioned in #104.

I included a check to continue supporting 3.X versions of Godot.

Of course, let me know if I need to update anything here. Thanks~

seanmaxwell commented 1 year ago

I have made a lot of updates to this PR based on testing I have been running on the fork I made to create this PR. Here is a description of some of the changes I have made:

For testing I setup the fork to build the docker images to dockerhub: https://hub.docker.com/r/seanmaxwell/godot-ci

I tested by running the manual build action against old tags in the repo. With this strategy I successfully built images for Godot versions: 3.5.1, 4.0, and 4.0.1. As of writing this, I haven't tested any of these images, I plan to test the 4.0.1 image in a gitlab pipeline when I find more free time for this project.

I also tested the release action by adding a tag that wasn't present in the fork, after I forked this repo. This tag was 3.5.2-stable (a maintenance build for Godot 3 added this year), you can find the image created by this release action here: https://hub.docker.com/layers/seanmaxwell/godot-ci/3.5.2/images/sha256-4c4965274d789678f409e18d209302ff0d1634a104383b414ce02b70a08588d4

Let me know if there is anything further I can provide to help getting this repo 4.0 ready. Thank you~

seanmaxwell commented 1 year ago

I have completed some tests with a gitlab pipeline deploying a 4.0.1 project using the dockerhub images I built with these changes and it works for me.

angelalb commented 1 year ago

I tried a web export with @seanmaxwell 's dockerhub image (4.0.1) in a github pipeline. I had to change some arguments and the export templates path seems to have changed, but in the end I was able to make it work.

bigdavisc commented 1 year ago

Any update on if this will become available soon!? Looking to move some of our projects to 4.x and would love to have our CI/CD pipelines available!

Srynetix commented 1 year ago

Thanks for your work @seanmaxwell! With your PR, I'm currently pushing a 4.0.2 image on my Docker Hub account to migrate my projects to Godot 4.

Just one little thing, the actions at the end of the main Dockerfile are adding options to the Godot 3 editor settings file (editor_settings-3.tres), and it's now called editor_settings-4.tres so they won't be used. And I'm not sure why but these actions are missing from mono.Dockerfile.

I've done a quick edit locally but I wanted to let you know 😄

AdrasteonDev commented 1 year ago

The Godot 4 image is still not on Docker Hub. Now that the PR is merged, is there something like a manual job to run to deploy the image ?

chybby commented 1 year ago

Does someone need to retry the failed 4.0 releases?

AdrasteonDev commented 1 year ago

I saw that the manual job called "manual_build" can be used to manually build an image and push it to Docker Hub.

But for information, I created the pull request #106 with a bug fix regarding the mono Dockerfile.

If this PR looks good to the maintainers, it would be great to merge it (or at least to add a commit for the bug fix) before generating the first Docker image for Godot 4.

If someone is interested (for a quick CI test), I generated test images for Godot 4 (to test my pull request). I don't recommend using them for production CI (I might have to run tests that would make these images dysfunctional), but it allowed me to verify that