-
-
Notifications
You must be signed in to change notification settings - Fork 21.5k
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
SurfaceUpgradeTool
breaks using --headless --editor --quit
in CI/CD to generate .godot/extension_list.cfg
(and probably other things too)
#84460
Comments
cc @clayjohn |
Yeah that's a problem. We could maybe add a hack that sidesteps this delay (and the upgrade tool?) when running headless? The proper fix should be to have a proper A user workaround should be to use |
It looks like adding Locally, it wouldn't work with |
I think this would be acceptable for now, as there are already issues with the described trick, which are only solvable with I'm going to look into streamlining the loading steps of the editor in 4.3. Hopefully having clear loading steps will make it easier to implement the Edit: Although I'm not sure how it works right now (before our PR). It should quit immediately after one iteration with the ... But I have an idea. I guess whenever we call And we call |
Addressed with #84570. |
Godot version
v4.2.beta.custom_build [be386e1]
System information
Ubuntu 22.04
Issue description
Godot needs some files in
.godot/
in order to run a game, so if you have a fresh checkout of your project's code, you need to run it in the editor at least once.A common solution to this on CI/CD, is to run
godot --headless --editor --quit
and then run your tests or export your game. (This is used in the godot-cpp CI in order to generate the.godot/extension_list.cfg
which is needed to load a project's GDExtensions, which is how I discovered this issue.)After PR #84200 this no longer works
That PR delays when
EditorFileSystem::scan()
runs (which is what will generate.godot/extension_list.cfg
) and so what appears to happen is that the editor is quitting before it has a chance to scan. The--quit
causes Godot to quit after 1 frame, but now theEditorFileSystem::scan()
doesn't happen until a later frame, so we're quitting too early.I suspect that there may be other files in the
.godot/
directory that should be generated (for exampleglobal_script_class_cache.cfg
), but aren't now after PR #84200.Steps to reproduce
godot --path test/project --headless --editor --quit
test/project/.godot/
directory, and notice thatextension_list.cfg
is not presentMinimal reproduction project
Use godot-cpp
The text was updated successfully, but these errors were encountered: