Skip to content

Conversation

dsnopek
Copy link
Collaborator

@dsnopek dsnopek commented Jun 18, 2025

On godot_openxr_vendors, we've been having this problem with the SCons cache on CI, where if a PR adds something to the build_profile.json it'll still use outdated generated files from the cache.

This change attempts to make it so that it'll rebuild the generated files if the build_profile.json changes

I'm still not entirely sure this fixes the issue, because it's hard to test in the context of CI, but I'll see what I can do!

And I'd also appreciate feedback from folks who are more experienced with build system stuff

UPDATE: I've managed to do some testing (see this comment), and it seems to be working

@dsnopek dsnopek added this to the 4.x milestone Jun 18, 2025
@dsnopek dsnopek requested a review from a team as a code owner June 18, 2025 19:49
@dsnopek dsnopek added bug This has been identified as a bug topic:buildsystem Related to the buildsystem or CI setup labels Jun 18, 2025
@dsnopek
Copy link
Collaborator Author

dsnopek commented Jun 18, 2025

This does seem to fix the issue with godot_openxr_vendor's CI.

We were having the issue on master, and I was experiencing it on a PR as well. So, I first tried using these changes on the PR: it fixed it. So, I merged just those changes into master as well: fixed it there too!

We'll keep testing it there for a bit and see if the issue manages to recur :-)

Copy link
Member

@Ivorforce Ivorforce left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does the build_profile affect how these files are built? I thought it only affects if they are built, in which case the dependency shouldn't be needed.

@dsnopek
Copy link
Collaborator Author

dsnopek commented Jun 20, 2025

Does the build_profile affect how these files are built? I thought it only affects if they are built, in which case the dependency shouldn't be needed.

Yes. It'll omit methods that have argument or return value types that aren't included in the build_profile.json. It's not just whether or not the files are generated at all.

Copy link
Member

@Ivorforce Ivorforce left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense to me. Implementation looks good to me, I'd probably do it the same way.
Just one thing that should probably be tested.

@dsnopek
Copy link
Collaborator Author

dsnopek commented Jun 24, 2025

We'll keep testing it there for a bit and see if the issue manages to recur :-)

Over a couple of PRs that have made changes to the build_profile.json, the problem has not recurred!

@dsnopek
Copy link
Collaborator Author

dsnopek commented Jun 25, 2025

Let's give this one a try and see how it goes

@dsnopek dsnopek merged commit c943beb into godotengine:master Jun 25, 2025
18 checks passed
@dsnopek
Copy link
Collaborator Author

dsnopek commented Aug 21, 2025

Cherry-picked for 4.4 in PR #1836

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug This has been identified as a bug topic:buildsystem Related to the buildsystem or CI setup
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants