diff --git a/.gitea/workflows/godot-ci.yml b/.gitea/workflows/godot-ci.yml index 4e3aa3e..83e97db 100644 --- a/.gitea/workflows/godot-ci.yml +++ b/.gitea/workflows/godot-ci.yml @@ -31,8 +31,6 @@ jobs: run: | mkdir -v -p ~/.local/share/godot/export_templates/ mkdir -v -p ~/.config/ - mv /root/.config/godot ~/.config/godot - mv /root/.local/share/godot/export_templates/${GODOT_VERSION}.stable ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable - name: Windows Build run: | mkdir -v -p build/windows @@ -45,28 +43,28 @@ jobs: name: windows path: build/windows - export-linux: - name: Linux Export - runs-on: ubuntu-22.04 # Use 22.04 with godot 4 - container: - image: barichello/godot-ci:4.4 - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - lfs: true - - name: Setup - run: | - mkdir -v -p ~/.local/share/godot/export_templates/ - mv /root/.local/share/godot/export_templates/${GODOT_VERSION}.stable ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable - - name: Linux Build - run: | - mkdir -v -p build/linux - EXPORT_DIR="$(readlink -f build)" - cd $PROJECT_PATH - godot --headless --verbose --export-release "Linux/X11" "$EXPORT_DIR/linux/$EXPORT_NAME.x86_64" - - name: Upload Artifact - uses: actions/upload-artifact@v4 - with: - name: linux - path: build/linux \ No newline at end of file + # export-linux: + # name: Linux Export + # runs-on: ubuntu-22.04 # Use 22.04 with godot 4 + # container: + # image: barichello/godot-ci:4.4 + # steps: + # - name: Checkout + # uses: actions/checkout@v4 + # with: + # lfs: true + # - name: Setup + # run: | + # mkdir -v -p ~/.local/share/godot/export_templates/ + # mv /root/.local/share/godot/export_templates/${GODOT_VERSION}.stable ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable + # - name: Linux Build + # run: | + # mkdir -v -p build/linux + # EXPORT_DIR="$(readlink -f build)" + # cd $PROJECT_PATH + # godot --headless --verbose --export-release "Linux/X11" "$EXPORT_DIR/linux/$EXPORT_NAME.x86_64" + # - name: Upload Artifact + # uses: actions/upload-artifact@v4 + # with: + # name: linux + # path: build/linux \ No newline at end of file diff --git a/.gitignore b/.gitignore index 0af181c..565fcfd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ # Godot 4+ specific ignores .godot/ /android/ + +build/build/linux/* +build/build/windows/* diff --git a/build/build_dependencies/export_templates/godot.linuxbsd.template_debug.x86_64 b/build/build_dependencies/export_templates/godot.linuxbsd.template_debug.x86_64 new file mode 100644 index 0000000..bd57037 Binary files /dev/null and b/build/build_dependencies/export_templates/godot.linuxbsd.template_debug.x86_64 differ diff --git a/build/build_dependencies/export_templates/godot.linuxbsd.template_release.x86_64 b/build/build_dependencies/export_templates/godot.linuxbsd.template_release.x86_64 new file mode 100644 index 0000000..ad24527 Binary files /dev/null and b/build/build_dependencies/export_templates/godot.linuxbsd.template_release.x86_64 differ diff --git a/build/build_dependencies/export_templates/godot.windows.template_debug.x86_64.exe b/build/build_dependencies/export_templates/godot.windows.template_debug.x86_64.exe new file mode 100644 index 0000000..9587d4e Binary files /dev/null and b/build/build_dependencies/export_templates/godot.windows.template_debug.x86_64.exe differ diff --git a/build/build_dependencies/export_templates/godot.windows.template_release.x86_64.exe b/build/build_dependencies/export_templates/godot.windows.template_release.x86_64.exe new file mode 100644 index 0000000..c56b73b Binary files /dev/null and b/build/build_dependencies/export_templates/godot.windows.template_release.x86_64.exe differ diff --git a/build/build_dependencies/steam/app_build_2739610.vdf b/build/build_dependencies/steam/app_build_2739610.vdf new file mode 100644 index 0000000..e0c5a94 --- /dev/null +++ b/build/build_dependencies/steam/app_build_2739610.vdf @@ -0,0 +1,14 @@ +"AppBuild" +{ + "AppID" "2739610" + "Desc" "STEAM_DESCRIPTION" + "Preview" "0" + "SetLive" "smp-gde" + "ContentRoot" "..\..\build\" + "BuildOutput" "..\..\steam_build_output\" + "Depots" + { + "2739611" "depot_build_2739611.vdf" + "2739612" "depot_build_2739612.vdf" + } +} diff --git a/build/build_dependencies/steam/depot_build_2739611.vdf b/build/build_dependencies/steam/depot_build_2739611.vdf new file mode 100644 index 0000000..3c7b6c9 --- /dev/null +++ b/build/build_dependencies/steam/depot_build_2739611.vdf @@ -0,0 +1,18 @@ +"DepotBuild" +{ + "DepotID" "2739611" + + "FileMapping" + { + // This can be a full path, or a path relative to ContentRoot + "LocalPath" "windows-steam\*" + + // This is a path relative to the install folder of your game + "DepotPath" "." + + // If LocalPath contains wildcards, setting this means that all + // matching files within subdirectories of LocalPath will also + // be included. + "Recursive" "1" + } +} diff --git a/build/build_dependencies/steam/depot_build_2739612.vdf b/build/build_dependencies/steam/depot_build_2739612.vdf new file mode 100644 index 0000000..95059de --- /dev/null +++ b/build/build_dependencies/steam/depot_build_2739612.vdf @@ -0,0 +1,18 @@ +"DepotBuild" +{ + "DepotID" "2739612" + + "FileMapping" + { + // This can be a full path, or a path relative to ContentRoot + "LocalPath" "linux-steam\*" + + // This is a path relative to the install folder of your game + "DepotPath" "." + + // If LocalPath contains wildcards, setting this means that all + // matching files within subdirectories of LocalPath will also + // be included. + "Recursive" "1" + } +} diff --git a/export_presets.cfg b/export_presets.cfg new file mode 100644 index 0000000..462cc77 --- /dev/null +++ b/export_presets.cfg @@ -0,0 +1,108 @@ +[preset.0] + +name="Windows Desktop" +platform="Windows Desktop" +runnable=true +advanced_options=true +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="build/build/windows/videogame.exe" +patches=PackedStringArray() +encryption_include_filters="" +encryption_exclude_filters="" +seed=0 +encrypt_pck=false +encrypt_directory=false +script_export_mode=2 + +[preset.0.options] + +custom_template/debug="build/build_dependencies/export_templates/godot.windows.template_debug.x86_64.exe" +custom_template/release="build/build_dependencies/export_templates/godot.windows.template_release.x86_64.exe" +debug/export_console_wrapper=1 +binary_format/embed_pck=false +texture_format/s3tc_bptc=true +texture_format/etc2_astc=false +binary_format/architecture="x86_64" +codesign/enable=false +codesign/timestamp=true +codesign/timestamp_server_url="" +codesign/digest_algorithm=1 +codesign/description="" +codesign/custom_options=PackedStringArray() +application/modify_resources=false +application/icon="" +application/console_wrapper_icon="" +application/icon_interpolation=4 +application/file_version="" +application/product_version="" +application/company_name="" +application/product_name="" +application/file_description="" +application/copyright="" +application/trademarks="" +application/export_angle=0 +application/export_d3d12=0 +application/d3d12_agility_sdk_multiarch=true +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="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}' +$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}' +$trigger = New-ScheduledTaskTrigger -Once -At 00:00 +$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries +$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings +Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true +Start-ScheduledTask -TaskName godot_remote_debug +while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 } +Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue" +ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue +Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue +Remove-Item -Recurse -Force '{temp_dir}'" + +[preset.1] + +name="Linux" +platform="Linux" +runnable=true +advanced_options=true +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="build/build/linux/videogame.x86_64" +patches=PackedStringArray() +encryption_include_filters="" +encryption_exclude_filters="" +seed=0 +encrypt_pck=false +encrypt_directory=false +script_export_mode=2 + +[preset.1.options] + +custom_template/debug="build/build_dependencies/export_templates/godot.linuxbsd.template_debug.x86_64" +custom_template/release="build/build_dependencies/export_templates/godot.linuxbsd.template_release.x86_64" +debug/export_console_wrapper=1 +binary_format/embed_pck=false +texture_format/s3tc_bptc=true +texture_format/etc2_astc=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}\""