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

Attempt to fix recent CI failures on master branch #1461

Merged
merged 1 commit into from
May 10, 2024

Conversation

dsnopek
Copy link
Collaborator

@dsnopek dsnopek commented May 9, 2024

Starting a few weeks ago, we've been getting sporadic CI failures on the master branch. Running the failed jobs again usually succeeds (although, I've had a couple that failed 2-3 times before finally succeeding).

The errors look like this:

Error output from the logs
Run chmod +x ./godot-artifacts/godot.linuxbsd.editor.x86_64.mono
4.3.dev.mono.gh.55b8724bd
SCRIPT ERROR: Parse Error: Could not find type "Example" in the current scope.
          at: GDScript::reload (res://main.gd:10)
SCRIPT ERROR: Parse Error: Identifier "Example" not declared in the current scope.
          at: GDScript::reload (res://main.gd:22)
SCRIPT ERROR: Parse Error: Identifier "Example" not declared in the current scope.
          at: GDScript::reload (res://main.gd:24)
SCRIPT ERROR: Parse Error: Identifier "ExampleRef" not declared in the current scope.
          at: GDScript::reload (res://main.gd:42)
SCRIPT ERROR: Parse Error: Identifier "ExampleRef" not declared in the current scope.
          at: GDScript::reload (res://main.gd:67)
SCRIPT ERROR: Parse Error: Identifier "ExampleRef" not declared in the current scope.
          at: GDScript::reload (res://main.gd:173)
SCRIPT ERROR: Parse Error: Could not find type "Example" in the current scope.
          at: GDScript::reload (res://main.gd:195)
SCRIPT ERROR: Parse Error: Identifier "Example" not declared in the current scope.
          at: GDScript::reload (res://main.gd:222)
SCRIPT ERROR: Parse Error: Identifier "Example" not declared in the current scope.
          at: GDScript::reload (res://main.gd:223)
SCRIPT ERROR: Parse Error: Identifier "Example" not declared in the current scope.
          at: GDScript::reload (res://main.gd:224)
SCRIPT ERROR: Parse Error: Identifier "Example" not declared in the current scope.
          at: GDScript::reload (res://main.gd:227)
SCRIPT ERROR: Parse Error: Identifier "Example" not declared in the current scope.
          at: GDScript::reload (res://main.gd:228)
SCRIPT ERROR: Parse Error: Identifier "Example" not declared in the current scope.
          at: GDScript::reload (res://main.gd:230)
SCRIPT ERROR: Parse Error: Identifier "Example" not declared in the current scope.
          at: GDScript::reload (res://main.gd:230)
SCRIPT ERROR: Parse Error: Identifier "ExampleRef" not declared in the current scope.
          at: GDScript::reload (res://main.gd:251)
ERROR: Failed to load script "res://main.gd" with error "Parse error".
   at: load (modules/gdscript/gdscript.cpp:2894)
SCRIPT ERROR: Parse Error: Could not find base class "Example".
          at: GDScript::reload (res://example.gd:1)
ERROR: Failed to load script "res://example.gd" with error "Parse error".
   at: load (modules/gdscript/gdscript.cpp:2894)
ERROR: Cannot get class 'Example'.
   at: _instantiate_internal (core/object/class_db.cpp:504)
WARNING: Node Example of type Example cannot be created. A placeholder will be created instead.
     at: instantiate (scene/resources/packed_scene.cpp:278)
ERROR: Cannot get class 'ExampleMin'.
   at: _instantiate_internal (core/object/class_db.cpp:504)
WARNING: Node ExampleMin of type ExampleMin cannot be created. A placeholder will be created instead.
     at: instantiate (scene/resources/packed_scene.cpp:278)
ERROR: Cannot get class 'ExampleChild'.
   at: _instantiate_internal (core/object/class_db.cpp:504)
WARNING: Node ExampleChild of type ExampleChild cannot be created. A placeholder will be created instead.
     at: instantiate (scene/resources/packed_scene.cpp:278)
Godot Engine v4.3.dev.mono.gh.55b8724bd ([20](https://github.com/godotengine/godot-cpp/actions/runs/8990060558/job/24694536766#step:14:21)24-05-07 14:49:50 UTC) - https://godotengine.org


Debugger Break, Reason: 'Parser Error: Could not find type "Example" in the current scope.'
*Frame 0 - res://main.gd:10 in function ''
Enter "help" for assistance.
debug> 
Debugger Break, Reason: 'Parser Error: Could not find base class "Example".'
*Frame 0 - res://example.gd:1 in function ''
Enter "help" for assistance.

This leads me to believe that the line before, where we attempt to get Godot to "import" and setup the .godot/extension_list.cfg, isn't working. Perhaps because it sometimes takes longer than 10 seconds (which is our current timeout) to do?

So, this PR switches to using the new --import flag from PR godotengine/godot#90431, and increasing the timeout to 30 seconds, although, hopefully, Godot will finish importing quicker. (I wonder if I should make an even longer timeout, just in case? 60 seconds?)

I'm not 100% sure this'll work.

@dsnopek dsnopek added bug This has been identified as a bug topic:buildsystem Related to the buildsystem or CI setup labels May 9, 2024
@dsnopek dsnopek added this to the 4.x milestone May 9, 2024
@dsnopek dsnopek requested review from a team May 9, 2024 16:31
Copy link
Member

@fire fire left a comment

Choose a reason for hiding this comment

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

The reasoning makes sense and the ci passes so it isn't hurting.

@dsnopek dsnopek merged commit 85172da into godotengine:master May 10, 2024
12 checks passed
@akien-mga akien-mga modified the milestones: 4.x, 4.3 Jul 22, 2024
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.

3 participants