diff --git a/.gitea/actions/build-ue-project-win.yml b/.gitea/actions/build-ue-project-win.yml new file mode 100644 index 0000000..d231c9c --- /dev/null +++ b/.gitea/actions/build-ue-project-win.yml @@ -0,0 +1,59 @@ +name: Build Unreal Engine Project (Windows) +description: Build, cook, and package an Unreal project on Windows + +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: pwsh + run: | + $name = [System.IO.Path]::GetFileNameWithoutExtension("${{ inputs.project_file }}") + echo "project_name=$name" >> $env:GITHUB_OUTPUT + + - name: Build Editor (if not Shipping) + if: ${{ inputs.configuration != 'Shipping' }} + shell: cmd + run: | + "${{ inputs.ue_path }}\Engine\Build\BatchFiles\Build.bat" ^ + ${{ steps.extract.outputs.project_name }}Editor ^ + ${{ inputs.platform }} ^ + ${{ inputs.configuration }} ^ + -project="${{ inputs.project_file }}" ^ + -waitmutex ^ + -targetplatform=${{ inputs.platform }} + + - name: Build Game + shell: cmd + run: | + "${{ inputs.ue_path }}\Engine\Build\BatchFiles\Build.bat" ^ + ${{ steps.extract.outputs.project_name }} ^ + ${{ inputs.platform }} ^ + ${{ inputs.configuration }} ^ + -project="${{ inputs.project_file }}" ^ + -waitmutex ^ + -targetplatform=${{ inputs.platform }} + + - name: Cook and Package + shell: cmd + run: | + "${{ inputs.ue_path }}\Engine\Build\BatchFiles\RunUAT.bat" BuildCookRun ^ + -project="${{ inputs.project_file }}" ^ + -noP4 ^ + -platform=${{ inputs.platform }} ^ + -clientconfig=${{ inputs.configuration }} ^ + -serverconfig=${{ inputs.configuration }} ^ + -nocompileeditor -cook -pak -stage -archive ^ + -archivedirectory="${{ inputs.output }}"