Skip to content
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

Update CI with new CMake builds. #1726

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

enetheru
Copy link
Collaborator

@enetheru enetheru commented Mar 4, 2025

This has been rebased onto #1730
Replaced some manual shell commands to detect changes with tj-actions/changed-files@v45
Duplicated the ci.yml into ci-scons.yml and ci-cmake.yml
conditionally run the CI depending on what files change.

This is still a WIP

@enetheru enetheru force-pushed the continuous_integration branch 8 times, most recently from 98551bf to 502b2b5 Compare March 4, 2025 11:51
@enetheru
Copy link
Collaborator Author

enetheru commented Mar 4, 2025

Boy oh boy do I dislike the worlflow of troubleshooting github actions.

Anyway I couldn't have done this in a single day without the pre-existing work of @IvanInventor's #1355 and #1452

The only remaining configuration that is not at least compiling is the iOS one, and I know how to solve it, might need @Torets #1650 rebased and updated to make it work. Or I'll have to ditch the way I generate the godot-cpp targets altogether

@Ivorforce You have some experience with macos, ,do you have any with iOS?

@Torets
Copy link

Torets commented Mar 4, 2025

... and I know how to solve it, might need @Torets #1650 rebased and updated to make it work.

rebased it, should be ok now

@dsnopek
Copy link
Collaborator

dsnopek commented Mar 4, 2025

Thanks!

I'm not super knowledgeable with regard to GitHub Actions, so we'll probably need to get review from others who are (like @Repiteo)

Also, we need to decide if it's OK to basically double the number of CI builds we're doing. I'm not sure if I recall correctly, but I vaguely remember discussions in the past about us sharing resources with the main Godot project, and not wanting clog up the CI? Even if that is the case, we trigger way fewer builds than Godot, so it could be fine. But something to discuss if this is actually a thing :-)

@enetheru
Copy link
Collaborator Author

enetheru commented Mar 4, 2025

There are a lot of variations, perhaps have one target for regular commit CI and then some pre-merge workflows that do a more comprehensive check.

@enetheru enetheru changed the title CMake: Update CI Update CI with new CMake builds. Mar 6, 2025
@enetheru enetheru force-pushed the continuous_integration branch 4 times, most recently from e7fc87e to 07979e6 Compare March 7, 2025 07:41
@enetheru
Copy link
Collaborator Author

enetheru commented Mar 9, 2025

I have a working iOS build in another branch: https://github.com/enetheru/godot-cpp/actions/runs/13743880227/job/38436397352
But that relies on #1733

I have to wait and see if the single target is merged before I update these to match.

@enetheru enetheru added the topic:buildsystem Related to the buildsystem or CI setup label Mar 10, 2025
@enetheru enetheru force-pushed the continuous_integration branch from 07979e6 to adc4269 Compare March 11, 2025 02:31
@enetheru enetheru marked this pull request as ready for review March 11, 2025 02:31
@enetheru enetheru requested review from a team as code owners March 11, 2025 02:31
Add GODOTCPP_TARGET configuration option
Remove loop to generate the godot-cpp.<target> CMake Targets

Rename test bindings target
Update documentation
@enetheru enetheru force-pushed the continuous_integration branch from adc4269 to 30c2110 Compare March 11, 2025 22:33
When attempting to generate XCode projects it would fail due to the target dependency chain not meeting expectations.

This PR, adds the required dependency infomation so that the XCode generator works.
- Duplicated the ci.yml into ci-scons.yml and ci-cmake.yml
- Replaced some manual shell commands to detect changes with  tj-actions/changed-files@v45
- Conditionally run the CI depending on what files change.
- Add ios toolchain from leetal/ios-cmake
- Added a cmake-minimum of 3.10 to silence errors from ios toolchain
@enetheru enetheru force-pushed the continuous_integration branch from 30c2110 to 958d0d2 Compare March 11, 2025 22:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic:buildsystem Related to the buildsystem or CI setup
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants