abarichello / godot-ci

Docker image to export Godot Engine games. Templates for Gitlab CI and GitHub Actions to deploy to GitLab Pages/GitHub Pages/Itch.io.
https://hub.docker.com/r/barichello/godot-ci
MIT License
759 stars 133 forks source link

OCI runtime exec failed: exec failed: unable to start container process: exec: "node": executable file not found in $PATH: unknown #140

Open DSOE1024 opened 6 months ago

DSOE1024 commented 6 months ago

OCI runtime exec failed: exec failed: unable to start container process: exec: "node": executable file not found in $PATH: unknown

One more serious problem was that I reinstalled nodejs and dotnet but still couldn't build successfully

Class 'WindowWrapper' is not exposed, skipping. Loaded system CA certificates EditorSettings: Save OK! ERROR: Parent node is busy setting up children, add_child() failed. Consider using add_child.call_deferred(child) instead. at: add_child (scene/main/node.cpp:1415) ERROR: Condition "!is_inside_tree()" is true. at: popup_centered (scene/main/window.cpp:1658)

TheLongFellowPLAYER commented 6 months ago

Heads up, also got this issue, granted I'm using act runners. However, looks like the base Godot-CI docker image does not possess nodejs. Switching the godot-ci base to nodejs 20 bullseye appears to have resolved that issue, however builds are failing with "This project doesn't have an 'export_presets.cfg" file at it's root." Still troubleshooting. Dockerfile: https://pastebin.com/ZCfuQQpg

DSOE1024 commented 6 months ago
name: "godot-ci export"
on: push

env:
  GODOT_VERSION: 4.2.1
  EXPORT_NAME: test-project
  PROJECT_PATH: .

jobs:
  export-windows:
    name: Windows Export
    runs-on: ubuntu-20.04
    container:
      image: barichello/godot-ci:mono-4.2.1
    steps:
      - name: Install Dependencies
        run: |
          echo "换源"
          cat >/etc/apt/sources.list <<EOF
          deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free
          deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free
          EOF
          apt update
          apt install -y nodejs git
          wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
          dpkg -i packages-microsoft-prod.deb
          rm packages-microsoft-prod.deb
          apt-get update
          apt-get install -y dotnet-sdk-7.0 dotnet-runtime-7.0
          dotnet --info          

      - name: Checkout
        uses: actions/checkout@v2
        with:
          lfs: true
          submodules: true
          fetch-depth: 1
      - name: Setup
        run: |
          mkdir -v -p ~/.local/share/godot/export_templates/
          mv $PROJECT_PATH/export_templates ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable.mono          
      - name: Windows Build
        run: |
          mkdir -v -p build/windows
          cd $PROJECT_PATH
          godot --headless --verbose --export-release "Windows Desktop" ../build/windows/$EXPORT_NAME.exe          
      - name: Upload Artifact
        uses: actions/upload-artifact@v1
        with:
          name: windows
          path: build/windows
TheLongFellowPLAYER commented 6 months ago

Yeah, that's the actions file, I'm specifically referring to building the docker image based off of Node20 Bullseye. https://pastebin.com/ZCfuQQpg

DSOE1024 commented 6 months ago

是的,这就是操作文件,我特指基于 Node20 Bullseye 构建 docker 映像。 https://pastebin.com/ZCfuQQpg

Hello, have you tried to build a C# project, I can't build it at the moment

TheLongFellowPLAYER commented 6 months ago

@DSOE1024 Unfortunately still not functional for me, however would attempt building this docker file for C# support, has mono-complete as a part of build process. Might work, no idea though. Docker File: https://pastebin.com/fm0A3GAQ

DSOE1024 commented 6 months ago

@DSOE1024 Unfortunately still not functional for me, however would attempt building this docker file for C# support, has mono-complete as a part of build process. Might work, no idea though. Docker File: https://pastebin.com/fm0A3GAQ

Hello, I got stuck while building, here it is

root@1626d711c6af:/Kaisha# ../Godot_v4.2.2-stable_mono_linux_x86_64/Godot_v4.2.2-stable_mono_linux.x86_64 --headless --verbose --export-release "Windows Desktop" ../build/windows/EXPORT_NAME.exe
Godot Engine v4.2.2.stable.mono.official.15073afe3 - https://godotengine.org
TextServer: Added interface "Dummy"
TextServer: Added interface "ICU / HarfBuzz / Graphite (Built-in)"
Using "default" pen tablet driver...
JoypadLinux: udev enabled and loaded successfully.

TextServer: Primary interface set to: "ICU / HarfBuzz / Graphite (Built-in)".
.NET: Initializing module...
Found hostfxr: /usr/lib/dotnet/host/fxr/8.0.5/libhostfxr.so
.NET: hostfxr initialized
.NET: GodotPlugins initialized
.NET: Failed to load project assembly
CORE API HASH: 622119089
EDITOR API HASH: 497707466
WARNING: Custom cursor shape not supported by this display server.
     at: cursor_set_custom_image (servers/display_server.cpp:505)
EditorSettings: Load OK!
WARNING: Blend file import is enabled in the project settings, but no Blender path is configured in the editor settings. Blend files will not be imported.
     at: _editor_init (modules/gltf/register_types.cpp:63)
Found .NET Sdk version '8.0.105': /usr/lib/dotnet/sdk/8.0.105
Loaded system CA certificates
EditorSettings: Save OK!