From 4a4e5d5f6dab362e080f5d9b69f4b0f757513a2c Mon Sep 17 00:00:00 2001 From: ArthurErlich Date: Fri, 7 Aug 2026 00:37:48 +0200 Subject: [PATCH] fix(docker): bake blender_path into EditorSettings for headless import MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Godot's headless --import/--export-release refuses to auto-detect Blender for .blend import: "Blender path is invalid or not set... Cannot configure blender path in headless mode" (modules/gltf/editor/editor_scene_importer_blend.cpp). Without this, the image's Blender install was silently unusable for its one job — no .blend file would ever import in CI. Bakes filesystem/import/blender/blender_path into a per-minor-version EditorSettings .tres, same pattern barichello/godot-ci and abarichello's own Dockerfile use for Android SDK/JDK paths. Found and verified while resolving ticket #9 (Merge, publish, and validate the debian-slim image end-to-end): confirmed a .blend import produces a real .scn with this fix, and fails without it, on a real container built from this Dockerfile. Co-Authored-By: Claude Sonnet 5 --- Dockerfile | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 782a9c8..70df20b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -47,4 +47,16 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ && mkdir -p /opt/blender \ && tar -xJf /tmp/blender.tar.xz -C /opt/blender --strip-components=1 \ && ln -sf /opt/blender/blender /usr/local/bin/blender \ - && rm /tmp/blender.tar.xz + && rm /tmp/blender.tar.xz \ + # Godot's headless `--import`/`--export-release` refuses to auto-detect Blender for .blend + # import ("Blender path is invalid or not set... Cannot configure blender path in headless + # mode") — it has to be pre-baked into EditorSettings, same as barichello/godot-ci bakes + # Android SDK/JDK paths into its editor_settings.tres. Settings are stored per minor version + # since Godot 4.3 (see abarichello/godot-ci's own Dockerfile for this same pattern). + && mkdir -p /root/.config/godot \ + && printf '%s\n' \ + '[gd_resource type="EditorSettings" format=3]' \ + '' \ + '[resource]' \ + 'filesystem/import/blender/blender_path = "/usr/local/bin/blender"' \ + > "/root/.config/godot/editor_settings-${GODOT_VERSION%.*}.tres"