For those experiencing the same problem, see the Solution. It worked for me and might work for others too.
Issue description
I’m using the GitLab CI setup with self-hosted GitLab runners, and I’ve been using the barichello/godot-ci:4.3 image since the Godot 4.3 update. Before that, I used the 4.2.2 image for a few months without issues. Everything imports and exports fine as long as no plugins are enabled.
Please note, my repository organization is a bit different. The project is at the root of the repository, not within a folder. I’ve made a few changes to the yaml file to get it working:
# .gitlab-ci.yml
image: barichello/godot-ci:4.3
# Cache imported assets between runs
cache:
key: dependencies
paths:
- .godot/imported/
stages:
- setup
- export
variables:
EXPORT_NAME: "template"
WINDOWS_PLATFORM_EXPORT_NAME: "Windows Desktop"
# Open the editor to import assets in case the cache was empty or outdated
import-assets:
stage: setup
script:
- godot --headless --verbose --import
windows:
stage: export
script:
- mkdir -v -p .build/windows
- godot --headless --verbose --export-release "$WINDOWS_PLATFORM_EXPORT_NAME" ".build/windows/$EXPORT_NAME.exe"
artifacts:
name: "$EXPORT_NAME-$CI_JOB_NAME"
paths:
- .build/windows
The import-assets step from the .gitlab-ci.yml file fails whenever the project has a plugin enabled:
... (omitted for brevity)
EditorSettings: Save OK!
Unloading addon: res://addons/myplugin/plugin.cfg
Unloading addon: res://addons/myplugin/plugin.cfg
================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.3.stable.official (77dcf97d82cbfe4e4615475fa52ca03da645dbd8)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
ERROR: FATAL: Index p_index = 1 is out of bounds (size() = 0).
at: get (./core/templates/cowdata.h:205)
/usr/bin/bash: line 145: 14 Illegal instruction (core dumped) godot --headless --verbose --editor --quit
I’ve tested with shared runners and encountered the same issue. However, I tested a similar project in Godot 4.2.2 with self-hosted runners and shared runners, and it works fine with a plugin enabled
After many hours, I found a solution that worked for me. It might not work for everyone, but changing the import-assets command from godot --headless --verbose --editor --quit to godot --headless --verbose --import resolved my issue.
For those experiencing the same problem, see the Solution. It worked for me and might work for others too.
Issue description
I’m using the GitLab CI setup with self-hosted GitLab runners, and I’ve been using the
barichello/godot-ci:4.3
image since the Godot 4.3 update. Before that, I used the 4.2.2 image for a few months without issues. Everything imports and exports fine as long as no plugins are enabled.Please note, my repository organization is a bit different. The project is at the root of the repository, not within a folder. I’ve made a few changes to the yaml file to get it working:
The import-assets step from the .gitlab-ci.yml file fails whenever the project has a plugin enabled:
I’ve tested with shared runners and encountered the same issue. However, I tested a similar project in Godot 4.2.2 with self-hosted runners and shared runners, and it works fine with a plugin enabled
Steps to reproduce
Minimal reproduction project (MRP)
Solution
After many hours, I found a solution that worked for me. It might not work for everyone, but changing the import-assets command from
godot --headless --verbose --editor --quit
togodot --headless --verbose --import
resolved my issue.