Closed Minimata closed 1 month ago
It's already fixed in master, I will provide a new release today https://github.com/MikeSchulze/gdUnit4/issues/483
@Minimata version v4.3.1 is out, you can update
You're the best, thank you so much. Will update ASAP.
I just tried it but had the same issue. I'll completely uninstall and reinstall the plugin tomorrow with a clear head to see if it persists. If it does, I will fallback to manually downloading the repo's commit history until I find the most recent working version and share it with you.
@Minimata are you familiar with the gdunit4 action? https://github.com/MikeSchulze/gdUnit4-action
I am a bit, but it doesn't fit in my process. In the action, there are steps to install godot, install the plugin, etc. which doesn't fit into my pipeline at all. In my actions I'm using a container that already has Godot installed and the plugin is simply versioned with the rest of the source code. This makes my actions run a lot faster which is important to me since these steps will be ran on every commit pushed to the repo.
I tried just adapting the steps of the action where the actual tests are ran but it didn't work either, can't really remember why, something about the reports I believe. I really didn't get more into it because it used to work well by simply running the GdUnitCmdTool.gd so I focused on that.
Ok so I completely uninstalled the plugin, reinstalled it from the AssetLib and enabled it (restarting Godot between every step), I'm on version 4.3.1 according to the plugin settings And I still have the same error on project import.
I went dichotomy into the commit history and found out the last working commit is the following one:
0db9e5bd2cc2438e466749237f6081ebd44ee243 Bump MikeSchulze/gdUnit4-action from 1.0.8 to 1.1.1
Which means the "remove_child" error is probably triggered by something somewhere in this commit:
0736ca3036dfab3ea0a3c0bb036e16c9cedd6cce GD-322: Complete revision of the GdUnit inspector and addition of test discovery
It is interesting to note that the last working commit for the "remove_child" error is not the same as the last working commit for the "disconnect a non-existant connection" error.
The last working commit for the "disconnect" error (and my whole CI) is this one:
caa7eadd5ec643fece0e21f6c1938694d64717ed Bump dorny/test-reporter from 1.9.0 to 1.9.1
which means the issue for this one lives in the following commit:
049424f59114ca82ff3f845a855aa94375b3c7d0 GD-443: Fix errors when dock undock the gdunit inspector
I know close to nothing on godot-specific dev and plugins so I don't really know where to look in these two commits pinpoint the actual issue but I will try.
In my actions I'm using a container that already has Godot installed and the plugin is simply versioned with the rest of the source code. This makes my actions run a lot faster which is important to me since these steps will be ran on every commit pushed to the repo.
Just for your info the gdunit4 action uses a cache for the Godot installation, so it is very performant ;) But feel free to use your customized action with the cmd tool ;)
The version v4.3.1 should include the fix of remove_child
on plugin.gd
if is_instance_valid(_server_node):
Engine.get_main_loop().root.remove_child.call_deferred(_server_node)
And the fix for the signal disconnect too in ScriptEditorContextMenuHandler
and EditorFileSystemContextMenuHandler
by do is_connected
before try to disconnect
Can you provide me the full steps to reproduce
And for rebuilding the Godot cache you should add a timeout to prevent to exit to early.
- name: Import resources and build solution
run: |
godot --headless --build-solutions --quit-after 2000 --import --path $PWD
Alright, thanks for the info, I'll try to make your action work if the current issue is unsolveable.
Regarding the timeout, the --import
godot argument is actually meant to do just that: prevent early exits but in a more straightforward way than the hardcoded timeout. Maybe it's buggy or doesn't take addons into account though, it was planned for 4.3 and cherry picked into 4.2.2 I believe, I'm going to try with a regular --quit-after
.
Also, I'll try to setup a minimal reproduction example and come back to your right after.
Thanks for your help!
EDIT: quit-after 2000
yields the same result as --quit --import
. I'll set up a minimal repro project.
The used GdUnit4 version
4.3.0 (Pre Release/Master branch)
The used Godot version
v4.2.2
Operating System
Ubuntu container from the nektos/act runner handled by Gitea
Describe the bug
Hi, I opened Godot today after a 3-days hiatus to see that GdUnit suggested an update (with a new logo, yay!) I installed the update and restarted Godot, no issues. I immediately pushed the update on my repo where the Gitea Action CI took over and this is where trouble begins.
The step that triggers the issue is as follows:
So it simply launches godot to import all the necessary stuff before actually running the tests.
With the new version of GdUnit, this step now triggers the following error:
My CI pipeline therefore stops right there and returns an error.
I have a few SCRIPT ERRORs beforehand regarding some missing png file and other UI stuff, I think it doesn't impact the actual issue so I won't add the whole logs to keep it as concise as possible but know that this is not the complete log. Also,
--verbose
doesn't add anything to these errors.I tried to simply disable the plugin which actually solves this error but then another error appears when I try to export my game for Windows with the following command:
This now triggers the following error (again not the whole logs but the useful information should live in here):
So I'm quite stuck because with plugin enabled I can't import my project correctly and with the plugin disabled I can't export my project at all.
My workaround as of now would be to manually install a previous version of GdUnit by going into the commit history of this repo (I haven't found a more straightforward way to install v4.2.5 or older but I might have missed it, I'm quite new to Godot). When I do this next week and when I find the most recent working version, I'll make sure to update this issue with the commit SHA or something. I hope this would help.
Thanks a lot for the plugin and for your help!
Steps to Reproduce
Issue happens at step 7 or 8 depending on plugin enabled or disabled respectively.
Below is the simplified yaml code for the gitea action:
Minimal reproduction project
Difficult to provide a project given that it works fine on my machine but fails on the CI container.