Describe the bug
When running in Gitlab CI with headless godot 4.3, The Import resource step ultimately fails with the error, the rest of the stack trace included further down in the bug report.
Unloading addon: res://addons/dialogue_manager/plugin.cfg
EditorFileSystem: Importing file: res://dialogue/intro.dialogue
ERROR: BUG: File queued for import, but can't be imported, importer for type 'dialogue_manager_compiler_13' not found.
at: _reimport_file (editor/editor_file_system.cpp:2431)
Unloading addon: res://addons/dialogue_manager/plugin.cfg
import-asset step fails with above error, as well as some other errors related to the plugin
Expected behavior
Expected all steps to pass CI
Full Error stack trace
ERROR: Unable to open file: res://.godot/imported/icon.svg-17eb5d3e2a3cfbe59852220758c5b7bd.editor.ctex.
at: _load_data (scene/resources/compressed_texture.cpp:41)
ERROR: Failed loading resource: res://.godot/imported/icon.svg-17eb5d3e2a3cfbe59852220758c5b7bd.editor.ctex. Make sure resources have been imported by opening the project in the editor at least once.
at: _load (core/io/resource_loader.cpp:283)
ERROR: Failed loading resource: res://addons/dialogue_manager/assets/icon.svg. Make sure resources have been imported by opening the project in the editor at least once.
at: _load (core/io/resource_loader.cpp:283)
ERROR: Unable to open file: res://.godot/imported/update.svg-f1628866ed4eb2e13e3b81f75443687e.ctex.
at: _load_data (scene/resources/compressed_texture.cpp:41)
ERROR: Failed loading resource: res://.godot/imported/update.svg-f1628866ed4eb2e13e3b81f75443687e.ctex. Make sure resources have been imported by opening the project in the editor at least once.
at: _load (core/io/resource_loader.cpp:283)
ERROR: Failed loading resource: res://addons/dialogue_manager/assets/update.svg. Make sure resources have been imported by opening the project in the editor at least once.
at: _load (core/io/resource_loader.cpp:283)
ERROR: Unable to open file: res://.godot/imported/icon.svg-17eb5d3e2a3cfbe59852220758c5b7bd.editor.ctex.
at: _load_data (scene/resources/compressed_texture.cpp:41)
ERROR: Failed loading resource: res://.godot/imported/icon.svg-17eb5d3e2a3cfbe59852220758c5b7bd.editor.ctex. Make sure resources have been imported by opening the project in the editor at least once.
at: _load (core/io/resource_loader.cpp:283)
ERROR: Failed loading resource: res://addons/dialogue_manager/assets/icon.svg. Make sure resources have been imported by opening the project in the editor at least once.
at: _load (core/io/resource_loader.cpp:283)
Unloading addon: res://addons/dialogue_manager/plugin.cfg
EditorFileSystem: Importing file: res://dialogue/intro.dialogue
ERROR: BUG: File queued for import, but can't be imported, importer for type 'dialogue_manager_compiler_13' not found.
at: _reimport_file (editor/editor_file_system.cpp:2431)
Unloading addon: res://addons/dialogue_manager/plugin.cfg
/usr/bin/bash: line 150: 14 Segmentation fault (core dumped) godot --headless --verbose --editor --quit-after 2
Gitlab CI Yaml File in question (the import-assets is the failing step). I would share the repo, but its on my private gitlab instance. Builds were working until I added the plugin.
image: barichello/godot-ci:4.3
# Cache imported assets between runs
cache:
key: import-assets
paths:
- .godot/imported/
stages:
- import-assets
- export
variables:
EXPORT_NAME: workingtitle
# Open the editor to import assets in case the cache was empty or outdated
import-assets:
stage: import-assets
script:
- godot --headless --verbose --editor --quit-after 2
tags:
- godot
linux:
stage: export
script:
- mkdir -v -p build/linux
- godot --headless --verbose --export-release "Linux" build/linux/$EXPORT_NAME.x86_64
artifacts:
name: $EXPORT_NAME-$CI_JOB_NAME
paths:
- build/linux
tags:
- godot
windows:
stage: export
script:
- mkdir -v -p build/windows
- godot --headless --verbose --export-release "Windows" build/windows/$EXPORT_NAME.exe
artifacts:
name: $EXPORT_NAME-$CI_JOB_NAME
paths:
- build/windows
tags:
- godot
# Android Release Job. You will need to include keystore and password in the GitLab variable settings:
# 1. Take your generated keystore and convert it to Base64:
# Linux & macOS: `base64 release.keystore -w 0`
# Windows: `certutil -encodehex -f release.keystore encoded.txt 0x40000001`
# 2. Go to GitLab Project > Settings > CI/CD > Variables and copy the Base64-encoded keystore value in a new variable `SECRET_RELEASE_KEYSTORE_BASE64` as type variable.
# 3. Create a second variable SECRET_RELEASE_KEYSTORE_USER as type variable with the alias of your keystore as value.
# 4. Create a third variable SECRET_RELEASE_KEYSTORE_PASSWORD as type variable with the password of your keystore as value.
android:
stage: export
rules:
- if: $SECRET_RELEASE_KEYSTORE_USER
- if: $SECRET_RELEASE_KEYSTORE_PASSWORD
- if: $SECRET_RELEASE_KEYSTORE_BASE64
script:
- mkdir -v -p build/android
- echo $CI_PIPELINE_IID
- echo $CI_COMMIT_SHORT_SHA
- echo $SECRET_RELEASE_KEYSTORE_BASE64 | base64 --decode > /root/release.keystore
- export GODOT_ANDROID_KEYSTORE_RELEASE_PATH=/root/release.keystore
- export GODOT_ANDROID_KEYSTORE_RELEASE_USER=$SECRET_RELEASE_KEYSTORE_USER
- export GODOT_ANDROID_KEYSTORE_RELEASE_PASSWORD=$SECRET_RELEASE_KEYSTORE_PASSWORD
- sed 's@version/code=.*@version/code='$CI_PIPELINE_IID'@g' -i export_presets.cfg
- sed 's@version/name=".*"@version/name="'$CI_COMMIT_SHORT_SHA'"@g' -i export_presets.cfg
- godot --headless --verbose --export-release "Android" ./build/android/$EXPORT_NAME.apk
artifacts:
name: $EXPORT_NAME-$CI_JOB_NAME
paths:
- build/android
tags:
- godot
replacing the line - godot --headless --verbose --editor --quit-after 2
with the line - timeout 10 godot --headless --verbose --editor --import --quit-after 2
fixed the issue
Describe the bug When running in Gitlab CI with headless godot 4.3, The Import resource step ultimately fails with the error, the rest of the stack trace included further down in the bug report.
Affected version
To Reproduce Steps to reproduce the behavior:
Expected behavior Expected all steps to pass CI
Full Error stack trace
Gitlab CI Yaml File in question (the import-assets is the failing step). I would share the repo, but its on my private gitlab instance. Builds were working until I added the plugin.