tools for exporting godot projects via Github Actions
Diffstat (limited to '.github/actions/export/action.yml')
-rw-r--r--.github/actions/export/action.yml63
1 files changed, 63 insertions, 0 deletions
diff --git a/.github/actions/export/action.yml b/.github/actions/export/action.yml
new file mode 100644
index 0000000..52ccc5c
--- /dev/null
+++ b/.github/actions/export/action.yml
@@ -0,0 +1,63 @@
+name: Export
+description: exports
+
+inputs:
+ platform:
+ description: The platform (web, linux, mac, android)
+ required: true
+ extension:
+ description: File extension (x86_64, exe, etc)
+ required: true
+ debug:
+ description: Debug build or no (empty string = debug)
+ required: false
+ default: "false"
+ name:
+ description: The name ($name.exe) # defaults to $NAME
+ required: false
+
+runs:
+ using: composite
+ steps:
+ - name: Setup
+ uses: bend-n/godot-actions/.github/actions/setup-godot@main
+
+ - name: Get export name
+ id: n
+ uses: bend-n/godot-actions/.github/actions/get-export-name@main
+ with:
+ platform: ${{ inputs.platform }}
+
+ - name: Build
+ run: |
+ if [[ -f .github/pre_export ]]; then
+ echo "::group::Run pre export script"
+ chmod +x .github/pre_export
+ ./.github/pre_export ${{ inputs.platform }}
+ echo "::endgroup::"
+ fi
+ cd "$PROJECT_PATH"
+ p="${{ inputs.platform }}"
+ echo "::group::${p^} Build"
+ export="--export"
+ [[ ${GODOT_VERSION:0:1} -gt 3 ]] && export="--export-release"
+ [[ -z $debug ]] && export="--export-debug"
+ mkdir -vp build/${{ inputs.platform }}
+ n="${{ env.NAME }}"
+ [[ -n "${{ inputs.name }}" ]] && n="${{ inputs.name }}"
+ timeout 30m godot -v --headless "$export" "${{ steps.n.outputs.export-name }}" "./build/${{ inputs.platform }}/$n.${{ inputs.extension }}"
+ echo "::endgroup::"
+
+ if [[ -f .github/post_export ]]; then
+ echo "::group::Run post export script"
+ chmod +x .github/post_export
+ ./.github/post_export ${{ inputs.platform }}
+ echo "::endgroup::"
+ fi
+ shell: bash
+
+ - uses: actions/upload-artifact@v4
+ with:
+ name: ${{ inputs.platform }}
+ path: ${{ env.PROJECT_PATH }}/build/${{ inputs.platform }}
+ if-no-files-found: error