Action steps and export script files
This commit is contained in:
+98
@@ -0,0 +1,98 @@
|
||||
name: Export Godot project
|
||||
description: Download and cache Godot 4, install export templates, and export a named preset without Docker.
|
||||
|
||||
inputs:
|
||||
godot-version:
|
||||
description: Exact Godot 4 release tag without a leading v (for example, 4.6.1-stable).
|
||||
required: true
|
||||
host-os:
|
||||
description: "Runner operating system: linux, macos, or windows."
|
||||
required: true
|
||||
host-arch:
|
||||
description: Runner architecture. Supported values depend on host-os.
|
||||
required: true
|
||||
dotnet:
|
||||
description: Download the Godot .NET editor and export templates.
|
||||
required: false
|
||||
default: "false"
|
||||
project-path:
|
||||
description: Godot project directory, relative to the checked-out workspace.
|
||||
required: false
|
||||
default: .
|
||||
export-preset:
|
||||
description: Exact export preset name from export_presets.cfg.
|
||||
required: true
|
||||
export-mode:
|
||||
description: "Export mode: release or debug."
|
||||
required: false
|
||||
default: release
|
||||
export-file-name:
|
||||
description: Output filename only, including its platform-appropriate extension.
|
||||
required: true
|
||||
cache:
|
||||
description: Restore and save the downloaded Godot editor and export templates.
|
||||
required: false
|
||||
default: "true"
|
||||
|
||||
outputs:
|
||||
build-directory:
|
||||
description: Absolute directory containing this invocation's exported build.
|
||||
value: ${{ steps.export-linux.outputs.build-directory || steps.export-macos.outputs.build-directory || steps.export-windows.outputs.build-directory }}
|
||||
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Restore Godot cache
|
||||
if: ${{ inputs.cache == 'true' }}
|
||||
uses: actions/cache@v4.1.0
|
||||
with:
|
||||
path: "${{ runner.temp }}/godot-export-action/cache"
|
||||
key: "godot-export-action-v1-${{ inputs.godot-version }}-${{ inputs.dotnet }}-${{ inputs.host-os }}-${{ inputs.host-arch }}"
|
||||
|
||||
- name: Export Godot project on Linux
|
||||
id: export-linux
|
||||
if: ${{ runner.os == 'Linux' }}
|
||||
shell: bash
|
||||
env:
|
||||
GODOT_VERSION: "${{ inputs.godot-version }}"
|
||||
GODOT_HOST_OS: "${{ inputs.host-os }}"
|
||||
GODOT_HOST_ARCH: "${{ inputs.host-arch }}"
|
||||
GODOT_DOTNET: "${{ inputs.dotnet }}"
|
||||
GODOT_PROJECT_PATH: "${{ inputs.project-path }}"
|
||||
GODOT_EXPORT_PRESET: "${{ inputs.export-preset }}"
|
||||
GODOT_EXPORT_MODE: "${{ inputs.export-mode }}"
|
||||
GODOT_EXPORT_FILE_NAME: "${{ inputs.export-file-name }}"
|
||||
GODOT_ACTION_ROOT: "${{ runner.temp }}/godot-export-action"
|
||||
run: bash "$GITHUB_ACTION_PATH/export-linux.sh"
|
||||
|
||||
- name: Export Godot project on macOS
|
||||
id: export-macos
|
||||
if: ${{ runner.os == 'macOS' }}
|
||||
shell: bash
|
||||
env:
|
||||
GODOT_VERSION: "${{ inputs.godot-version }}"
|
||||
GODOT_HOST_OS: "${{ inputs.host-os }}"
|
||||
GODOT_HOST_ARCH: "${{ inputs.host-arch }}"
|
||||
GODOT_DOTNET: "${{ inputs.dotnet }}"
|
||||
GODOT_PROJECT_PATH: "${{ inputs.project-path }}"
|
||||
GODOT_EXPORT_PRESET: "${{ inputs.export-preset }}"
|
||||
GODOT_EXPORT_MODE: "${{ inputs.export-mode }}"
|
||||
GODOT_EXPORT_FILE_NAME: "${{ inputs.export-file-name }}"
|
||||
GODOT_ACTION_ROOT: "${{ runner.temp }}/godot-export-action"
|
||||
run: bash "$GITHUB_ACTION_PATH/export-macos.sh"
|
||||
|
||||
- name: Export Godot project on Windows
|
||||
id: export-windows
|
||||
if: ${{ runner.os == 'Windows' }}
|
||||
shell: powershell
|
||||
env:
|
||||
GODOT_VERSION: "${{ inputs.godot-version }}"
|
||||
GODOT_HOST_OS: "${{ inputs.host-os }}"
|
||||
GODOT_HOST_ARCH: "${{ inputs.host-arch }}"
|
||||
GODOT_DOTNET: "${{ inputs.dotnet }}"
|
||||
GODOT_PROJECT_PATH: "${{ inputs.project-path }}"
|
||||
GODOT_EXPORT_PRESET: "${{ inputs.export-preset }}"
|
||||
GODOT_EXPORT_MODE: "${{ inputs.export-mode }}"
|
||||
GODOT_EXPORT_FILE_NAME: "${{ inputs.export-file-name }}"
|
||||
GODOT_ACTION_ROOT: "${{ runner.temp }}/godot-export-action"
|
||||
run: "& \"$env:GITHUB_ACTION_PATH\\export-windows.ps1\""
|
||||
Reference in New Issue
Block a user