59 lines
1.7 KiB
YAML
59 lines
1.7 KiB
YAML
name: Build Unreal Engine Project
|
|
description: Build, cook, and package an Unreal Engine project
|
|
|
|
inputs:
|
|
platform:
|
|
required: true
|
|
ue_path:
|
|
required: true
|
|
project_file:
|
|
required: true
|
|
configuration:
|
|
required: true
|
|
output:
|
|
required: true
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Extract project name
|
|
id: extract
|
|
shell: bash
|
|
run: |
|
|
echo "project_name=$(basename "${{ inputs.project_file }}" .uproject)" >> "$GITHUB_OUTPUT"
|
|
|
|
- name: Build Editor (if not Shipping)
|
|
if: ${{ inputs.configuration != 'Shipping' }}
|
|
shell: bash
|
|
run: |
|
|
"${{ inputs.ue_path }}/Engine/Build/BatchFiles/Build.sh" \
|
|
"${{ steps.extract.outputs.project_name }}Editor" \
|
|
"${{ inputs.platform }}" \
|
|
"${{ inputs.configuration }}" \
|
|
-project="${{ inputs.project_file }}" \
|
|
-waitmutex \
|
|
-targetplatform=${{ inputs.platform }}
|
|
|
|
- name: Build Game
|
|
shell: bash
|
|
run: |
|
|
"${{ inputs.ue_path }}/Engine/Build/BatchFiles/Build.sh" \
|
|
"${{ steps.extract.outputs.project_name }}" \
|
|
"${{ inputs.platform }}" \
|
|
"${{ inputs.configuration }}" \
|
|
-project="${{ inputs.project_file }}" \
|
|
-waitmutex \
|
|
-targetplatform=${{ inputs.platform }}
|
|
|
|
- name: Cook and Package
|
|
shell: bash
|
|
run: |
|
|
"${{ inputs.ue_path }}/Engine/Build/BatchFiles/RunUAT.sh" BuildCookRun \
|
|
-project="${{ inputs.project_file }}" \
|
|
-noP4 \
|
|
-platform=${{ inputs.platform }} \
|
|
-clientconfig=${{ inputs.configuration }} \
|
|
-serverconfig=${{ inputs.configuration }} \
|
|
-nocompileeditor -cook -pak -stage -archive \
|
|
-archivedirectory="${{ inputs.output }}"
|