diff --git a/.github/workflows/gdext.yml b/.github/workflows/gdext.yml index a1bd2a0..009dfbd 100644 --- a/.github/workflows/gdext.yml +++ b/.github/workflows/gdext.yml @@ -285,10 +285,62 @@ jobs: runs-on: ubuntu-latest needs: [package] + strategy: + matrix: + include: + - gdver: "4.2.2" + gdver_full: 4.2.2.stable + templates_url: https://github.com/godotengine/godot/releases/download/4.2.2-stable/Godot_v4.2.2-stable_export_templates.tpz + - gdver: "4.3.0-beta.1" + gdver_full: 4.3.beta1 + templates_url: https://github.com/godotengine/godot-builds/releases/download/4.3-beta1/Godot_v4.3-beta1_export_templates.tpz + + steps: - uses: actions/download-artifact@v4 with: pattern: imgui-godot-*_imgui* - - run: | + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 8.0.x + + - name: Download Godot + run: | + dotnet tool install --global Chickensoft.GodotEnv + godotenv godot install ${{ matrix.gdver }} --no-dotnet + echo "GODOT=$(godotenv godot env path)" >> $GITHUB_ENV + + - name: Download export templates + run: | + mkdir -p ~/.local/share/godot/export_templates + cd ~/.local/share/godot/export_templates + wget -q ${{ matrix.templates_url }} + unzip *.tpz + rm *.tpz + mv templates ${{ matrix.gdver_full }} + + - name: Prep + run: | + cd imgui-godot-* + cd imgui-godot-* ls -R + cd doc/examples/GdsGameProject + mkdir ../export + echo "GAMEDIR=$(pwd)" >> $GITHUB_ENV + + - name: Export Debug + run: + cd $GAMEDIR + $GODOT --headless --export-debug Linux + cd ../export + ./GdsGameProject.x86_64 --headless --quit-after 10 + rm -rf * + + - name: Export Release + run: + cd $GAMEDIR + $GODOT --headless --export-release Linux + cd ../export + ./GdsGameProject.x86_64 --headless --quit-after 10 diff --git a/doc/examples/GdsGameProject/export_presets.cfg b/doc/examples/GdsGameProject/export_presets.cfg index a9926f3..e8260de 100644 --- a/doc/examples/GdsGameProject/export_presets.cfg +++ b/doc/examples/GdsGameProject/export_presets.cfg @@ -173,3 +173,45 @@ kill $(pgrep -x -f \"{temp_dir}/{exe_name}.app/Contents/MacOS/{exe_name} {cmd_ar rm -rf \"{temp_dir}\"" imgui/debug=true imgui/release=false + +[preset.2] + +name="Linux" +platform="Linux/X11" +runnable=true +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="../export/GdsGameProject.x86_64" +encryption_include_filters="" +encryption_exclude_filters="" +encrypt_pck=false +encrypt_directory=false + +[preset.2.options] + +custom_template/debug="" +custom_template/release="" +debug/export_console_wrapper=1 +binary_format/embed_pck=false +texture_format/bptc=true +texture_format/s3tc=true +texture_format/etc=false +texture_format/etc2=false +binary_format/architecture="x86_64" +ssh_remote_deploy/enabled=false +ssh_remote_deploy/host="user@host_ip" +ssh_remote_deploy/port="22" +ssh_remote_deploy/extra_args_ssh="" +ssh_remote_deploy/extra_args_scp="" +ssh_remote_deploy/run_script="#!/usr/bin/env bash +export DISPLAY=:0 +unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\" +\"{temp_dir}/{exe_name}\" {cmd_args}" +ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash +kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\") +rm -rf \"{temp_dir}\"" +imgui/debug=true +imgui/release=false