diff --git a/.bumpversion.cfg b/.bumpversion.cfg
deleted file mode 100644
index 8d9fa76..0000000
--- a/.bumpversion.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-[bumpversion]
-current_version = 0.0.0
-commit = False
-tag = True
-tag_name = {new_version}
-
-[semver]
-main_branches = master
-major_branches =
-minor_branches = feature
-patch_branches = hotfix, bugfix
\ No newline at end of file
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..49beecc
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,3 @@
+# Auto detect text files and perform LF normalization
+* text=auto
+* eol=lf
diff --git a/.github/workflows/test_action_3.x.yml b/.github/workflows/test_action_3.x.yml
deleted file mode 100644
index 5d8aa9e..0000000
--- a/.github/workflows/test_action_3.x.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-name: Test Action 3.x
-
-on: [push, pull_request]
-
-jobs:
- TestAction:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v1
- - name: Run Action
- uses: ./
- with:
- name: test_project
- preset: linux
- projectDir: 3.x_test_project
- package: 'true'
\ No newline at end of file
diff --git a/.github/workflows/test_action_4.x.yml b/.github/workflows/test_action_4.x.yml
deleted file mode 100644
index 6e685cd..0000000
--- a/.github/workflows/test_action_4.x.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-name: Test Action 4.x
-on:
- push:
- branches: [ 'master', 'main', 'prod', 'production' ]
-
-jobs:
- TestAction:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v1
- - name: Run Action
- uses: ./
- with:
- name: test_project
- preset: linux
- projectDir: 4.x_test_project
- package: 'true'
\ No newline at end of file
diff --git a/.github/workflows/version.yml b/.github/workflows/version.yml
deleted file mode 100644
index b70c1f9..0000000
--- a/.github/workflows/version.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-name: Version & Release
-
-on:
- push:
- branches:
- - master
-
-jobs:
- CheckVersion:
- runs-on: ubuntu-latest
- container:
- image: rightbrainnetworks/auto-semver
- steps:
- - name: Checkout
- uses: actions/checkout@v1
- - name: Run Auto-Semver
- id: semver
- uses: RightBrain-Networks/semver-action@1.0.0
- - name: Create Release
- id: create_release
- uses: actions/create-release@v1
- if: steps['semver']['outputs']['RETURN_STATUS'] == '0'
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- with:
- tag_name: ${{ steps.semver.outputs.SEMVER_NEW_VERSION }}
- release_name: ${{ steps.semver.outputs.SEMVER_NEW_VERSION }}
- body: Release Version ${{ steps.semver.outputs.SEMVER_NEW_VERSION }}
- draft: false
- prerelease: false
\ No newline at end of file
diff --git a/3.x_test_project/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 b/3.x_test_project/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5
deleted file mode 100644
index a111eea..0000000
--- a/3.x_test_project/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5
+++ /dev/null
@@ -1,3 +0,0 @@
-source_md5="0167658bc4406f0d0fe437e0197c415a"
-dest_md5="64b0613b3173e1e1c96dd18b6569e62d"
-
diff --git a/3.x_test_project/default_env.tres b/3.x_test_project/default_env.tres
deleted file mode 100644
index 20207a4..0000000
--- a/3.x_test_project/default_env.tres
+++ /dev/null
@@ -1,7 +0,0 @@
-[gd_resource type="Environment" load_steps=2 format=2]
-
-[sub_resource type="ProceduralSky" id=1]
-
-[resource]
-background_mode = 2
-background_sky = SubResource( 1 )
diff --git a/3.x_test_project/empty_scene.tscn b/3.x_test_project/empty_scene.tscn
deleted file mode 100644
index b171e8d..0000000
--- a/3.x_test_project/empty_scene.tscn
+++ /dev/null
@@ -1,3 +0,0 @@
-[gd_scene format=2]
-
-[node name="Node2D" type="Node2D"]
diff --git a/3.x_test_project/export_presets.cfg b/3.x_test_project/export_presets.cfg
deleted file mode 100644
index 15d23b4..0000000
--- a/3.x_test_project/export_presets.cfg
+++ /dev/null
@@ -1,25 +0,0 @@
-[preset.0]
-
-name="linux"
-platform="Linux/X11"
-runnable=true
-custom_features=""
-export_filter="all_resources"
-include_filter=""
-exclude_filter=""
-export_path="../../test_project.x86_64"
-patch_list=PoolStringArray( )
-script_export_mode=1
-script_encryption_key=""
-
-[preset.0.options]
-
-texture_format/bptc=false
-texture_format/s3tc=true
-texture_format/etc=false
-texture_format/etc2=false
-texture_format/no_bptc_fallbacks=true
-binary_format/64_bits=true
-binary_format/embed_pck=false
-custom_template/release=""
-custom_template/debug=""
diff --git a/3.x_test_project/project.godot b/3.x_test_project/project.godot
deleted file mode 100644
index f645dad..0000000
--- a/3.x_test_project/project.godot
+++ /dev/null
@@ -1,23 +0,0 @@
-; Engine configuration file.
-; It's best edited using the editor UI and not directly,
-; since the parameters that go here are not all obvious.
-;
-; Format:
-; [section] ; section goes between []
-; param=value ; assign values to parameters
-
-config_version=4
-
-_global_script_classes=[ ]
-_global_script_class_icons={
-
-}
-
-[application]
-
-config/name="test_project"
-run/main_scene="res://empty_scene.tscn"
-
-[rendering]
-
-environment/default_environment="res://default_env.tres"
diff --git a/4.x_test_project/.gitattributes b/4.x_test_project/.gitattributes
deleted file mode 100644
index 8ad74f7..0000000
--- a/4.x_test_project/.gitattributes
+++ /dev/null
@@ -1,2 +0,0 @@
-# Normalize EOL for all files that Git considers text files.
-* text=auto eol=lf
diff --git a/4.x_test_project/.gitignore b/4.x_test_project/.gitignore
deleted file mode 100644
index 4709183..0000000
--- a/4.x_test_project/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-# Godot 4+ specific ignores
-.godot/
diff --git a/4.x_test_project/export_presets.cfg b/4.x_test_project/export_presets.cfg
deleted file mode 100644
index d503ea3..0000000
--- a/4.x_test_project/export_presets.cfg
+++ /dev/null
@@ -1,106 +0,0 @@
-[preset.0]
-
-name="linux"
-platform="Linux/X11"
-runnable=true
-dedicated_server=false
-custom_features=""
-export_filter="all_resources"
-include_filter=""
-exclude_filter=""
-export_path=""
-encryption_include_filters=""
-encryption_exclude_filters=""
-encrypt_pck=false
-encrypt_directory=false
-script_encryption_key=""
-
-[preset.0.options]
-
-custom_template/debug=""
-custom_template/release=""
-debug/export_console_script=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}\""
-
-[preset.1]
-
-name="windows"
-platform="Windows Desktop"
-runnable=true
-dedicated_server=false
-custom_features=""
-export_filter="all_resources"
-include_filter=""
-exclude_filter=""
-export_path=""
-encryption_include_filters=""
-encryption_exclude_filters=""
-encrypt_pck=false
-encrypt_directory=false
-script_encryption_key=""
-
-[preset.1.options]
-
-custom_template/debug=""
-custom_template/release=""
-debug/export_console_script=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"
-codesign/enable=false
-codesign/identity_type=0
-codesign/identity=""
-codesign/password=""
-codesign/timestamp=true
-codesign/timestamp_server_url=""
-codesign/digest_algorithm=1
-codesign/description=""
-codesign/custom_options=PackedStringArray()
-application/modify_resources=true
-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=""
-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
-$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}'"
diff --git a/4.x_test_project/icon.svg b/4.x_test_project/icon.svg
deleted file mode 100644
index adc26df..0000000
--- a/4.x_test_project/icon.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/4.x_test_project/icon.svg.import b/4.x_test_project/icon.svg.import
deleted file mode 100644
index 58c0fb1..0000000
--- a/4.x_test_project/icon.svg.import
+++ /dev/null
@@ -1,37 +0,0 @@
-[remap]
-
-importer="texture"
-type="CompressedTexture2D"
-uid="uid://bektdji2blm55"
-path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
-metadata={
-"vram_texture": false
-}
-
-[deps]
-
-source_file="res://icon.svg"
-dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"]
-
-[params]
-
-compress/mode=0
-compress/high_quality=false
-compress/lossy_quality=0.7
-compress/hdr_compression=1
-compress/normal_map=0
-compress/channel_pack=0
-mipmaps/generate=false
-mipmaps/limit=-1
-roughness/mode=0
-roughness/src_normal=""
-process/fix_alpha_border=true
-process/premult_alpha=false
-process/normal_map_invert_y=false
-process/hdr_as_srgb=false
-process/hdr_clamp_exposure=false
-process/size_limit=0
-detect_3d/compress_to=1
-svg/scale=1.0
-editor/scale_with_editor_scale=false
-editor/convert_colors_with_editor_theme=false
diff --git a/4.x_test_project/project.godot b/4.x_test_project/project.godot
deleted file mode 100644
index 1d26b4f..0000000
--- a/4.x_test_project/project.godot
+++ /dev/null
@@ -1,15 +0,0 @@
-; Engine configuration file.
-; It's best edited using the editor UI and not directly,
-; since the parameters that go here are not all obvious.
-;
-; Format:
-; [section] ; section goes between []
-; param=value ; assign values to parameters
-
-config_version=5
-
-[application]
-
-config/name="Test Project"
-config/features=PackedStringArray("4.0", "Forward Plus")
-config/icon="res://icon.svg"
diff --git a/Contributors.md b/Contributors.md
deleted file mode 100644
index fe0b3a0..0000000
--- a/Contributors.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# Build Godot Action Contributors
-
-## Maintainers
-
-Name | Email | Twitter |
------|-------|---------|
-[Joseph Manley](https://github.com/josephbmanley) | [joseph@cloudsumu.com](mailto:joseph@cloudsumu.com) | [@josephbmanley](https://twitter.com/josephbmanley)
-
-## Contributors
-
-A giant thanks to everyone put in the time to improve Godot CI!
-
-Name | Email | Twitter |
----- | ----- | ------- |
-[Tomer Keren](https://github.com/Tadaboody) | [tomerpet@gmail.com](tomerpet@gmail.com) | [@Tadaboody](https://twitter.com/Tadaboody)
-
-## Additional Credits
-
-This action uses the [godot-ci](https://github.com/aBARICHELLO/godot-ci) docker image from [BARICHELLO](https://github.com/aBARICHELLO)
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
index 94ea8a7..b7b8031 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -5,11 +5,7 @@ LABEL "com.github.actions.description"="Build a Godot project for multiple platf
LABEL "com.github.actions.icon"="loader"
LABEL "com.github.actions.color"="blue"
-LABEL repository="https://github.com/josephbmanley/build-godot-action"
-LABEL homepage="https://cloudsumu.com/"
-LABEL maintainer="Joseph Manley "
-
USER root
ADD entrypoint.sh /entrypoint.sh
RUN chmod +x entrypoint.sh
-ENTRYPOINT ["/entrypoint.sh"]
\ No newline at end of file
+ENTRYPOINT ["/entrypoint.sh"]
diff --git a/ReadMe.md b/README.md
similarity index 86%
rename from ReadMe.md
rename to README.md
index d6f6f6f..d91f808 100644
--- a/ReadMe.md
+++ b/README.md
@@ -1,13 +1,13 @@
- 
+

This action builds the godot project in your `$GITHUB_WORKSPACE`, so that you can easily automate builds.
Table of Contents:
-- [Quickstart](#Quickstart)
-- [Usage](#Usage)
-- [Contributors](Contributors.md)
+
+- [Quickstart](#quickstart)
+- [Usage](#usage)
## Quickstart
@@ -42,7 +42,7 @@ jobs:
lfs: true
- name: Build
id: build
- uses: manleydev/build-godot-action@v1.4.1
+ uses: felix-schindler/build-godot-action@v2.0.0
with:
name: example
preset: ${{ matrix.platform }}
@@ -60,6 +60,7 @@ This workflow has three steps:
- **Checkout**: The Checkout step clones the project on the GitHub actions runner.
- **Build**: This step uses this action to build the Godot project.
- **Upload Artifact**: The Upload Artifact step uploads the output from the build step.
+ > You could also use something like [softprops/action-gh-release](https://github.com/softprops/action-gh-release) to create automated releases of your game, instead of just uploading it as a artifact.
**Matrix Explaination**: The matrix object runs the job for EACH possible value. So in this job, we are using a `platform` matrix to automatically run our workflow for the values `linux`, `windows`, and `mac`.
@@ -82,7 +83,7 @@ Additionally if you are not using a matrix, you can set the export preset as the
```yaml
- name: Build
id: build
- uses: manleydev/build-godot-action@v1.4.1
+ uses: felix-schindler/build-godot-action@v2.0.0
with:
name: example
preset: win32
@@ -95,7 +96,7 @@ To change the export name, you can the `name` parameter to whatever you want you
```yaml
- name: Build
id: build
- uses: manleydev/build-godot-action@v1.4.1
+ uses: felix-schindler/build-godot-action@v2.0.0
with:
name: test # This project will export with the name "test"
```
@@ -107,7 +108,7 @@ This example is set to build with debug mode enable. To disable debug, either se
```yaml
- name: Build
id: build
- uses: manleydev/build-godot-action@v1.4.1
+ uses: felix-schindler/build-godot-action@v2.0.0
with:
name: example
preset: ${{ matrix.platform }}
@@ -121,7 +122,7 @@ If your project is located in a subdirectory, you can use the `projectDir` to ch
```yaml
- name: Build
id: build
- uses: manleydev/build-godot-action@v1.4.1
+ uses: felix-schindler/build-godot-action@v2.0.0
with:
name: example
preset: ${{ matrix.platform }}
@@ -142,7 +143,7 @@ Example:
```yaml
steps:
-- uses: manleydev/build-godot-action@[VERSION]
+- uses: felix-schindler/build-godot-action@[VERSION]
with:
name: godot-project
preset: HTML5
@@ -158,12 +159,6 @@ steps:
The name of the preset found in `export_presets.cfg` you would like to build.
-#### subdirectory
-
- *Optional*
-
- The subdirectory in the `build` folder to output build to, can be useful for self packaging.
-
#### package
*Optional*
diff --git a/action.yml b/action.yml
index 51d3ed0..043b96e 100644
--- a/action.yml
+++ b/action.yml
@@ -1,4 +1,4 @@
-name: "Build Godot"
+name: "Build Godot Games"
description: "Build a Godot project for multiple platforms"
author: josephbmanley
inputs:
@@ -9,7 +9,7 @@ inputs:
description: 'Name of the preset in `export_presets.cfg` to use'
required: true
subdirectory:
- description: 'Optional name of the subdirectory to put exported project in'
+ description: 'This has been removed, please do not use.'
default: ""
package:
description: 'Set true to output an artifact zip file'
diff --git a/entrypoint.sh b/entrypoint.sh
index 5617260..62ee593 100644
--- a/entrypoint.sh
+++ b/entrypoint.sh
@@ -3,12 +3,14 @@ set -e
# Move godot templates already installed from the docker image to home
mkdir -v -p ~/.local/share/godot/export_templates
-cp -a /root/.local/share/godot/export_templates/. ~/.local/share/godot/export_templates/
+mkdir ./Builds
+# cp -a -f /root/.local/share/godot/export_templates/. ~/.local/share/godot/export_templates/
if [ "$3" != "" ]
then
- SubDirectoryLocation="$3/"
+ echo "SubDirectories are no longer supported."
+ exit 1
fi
mode="export-release"
@@ -20,20 +22,27 @@ fi
# Export for project
echo "Building $1 for $2"
-mkdir -p $GITHUB_WORKSPACE/build/${SubDirectoryLocation:-""}
cd "$GITHUB_WORKSPACE/$5"
-godot --headless --${mode} "$2" $GITHUB_WORKSPACE/build/${SubDirectoryLocation:-""}$1
+godot ./project.godot --headless --${mode} "$2"
echo "Build Done"
-echo ::set-output name=build::build/${SubDirectoryLocation:-""}
+ls -la ./Builds
+
+if [ "$5" != "" ]
+then
+ BUILD_PATH="$GITHUB_WORKSPACE/$5/build/"
+else
+ BUILD_PATH="$GITHUB_WORKSPACE/build/"
+fi
+echo build=$BUILD_PATH >> $GITHUB_OUTPUT
if [ "$4" = "true" ]
then
echo "Packing Build"
mkdir -p $GITHUB_WORKSPACE/package
- cd $GITHUB_WORKSPACE/build
- zip $GITHUB_WORKSPACE/package/artifact.zip ${SubDirectoryLocation:-"."} -r
- echo ::set-output name=artifact::package/artifact.zip
+ cd ./Builds
+ zip $GITHUB_WORKSPACE/package/artifact.zip . -r
+ echo artifact=package/artifact.zip >> $GITHUB_OUTPUT
echo "Done"
fi