Files
Engine/.github/workflows/Final-builder.yml
2025-01-19 18:36:48 -05:00

78 lines
3.7 KiB
YAML

name: UnrealEngine Build and Archive
on:
workflow_dispatch:
jobs:
build:
runs-on: windows-2019
steps:
# Step 1: Checkout repository with submodules and depth 1
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 1
# Step 2: Download Visual Studio 2017 Community Edition
- name: Download Visual Studio 2017 Community Edition
shell: bash
run: |
mkdir -p /c/tmp
curl -L -o /c/tmp/vs_community.exe https://aka.ms/vs/15/release/vs_community.exe
# Step 3: Install Visual Studio 2017 Community Edition
- name: Install Visual Studio 2017 Community Edition
shell: powershell
run: |
$Dest = "C:\\tmp\\vs_community.exe"
$Params = @(
"--add Microsoft.VisualStudio.Workload.NativeDesktop", # Desktop development with C++
"--add Microsoft.VisualStudio.Component.Windows81SDK", # Windows 8.1 SDK
"--add Microsoft.VisualStudio.Workload.ManagedDesktop", # .NET desktop development
"--add Microsoft.VisualStudio.Workload.Universal", # Universal Windows Platform Development
"--add Microsoft.VisualStudio.Component.Windows10SDK.17763", # Win10 SDK 17763
"--add Microsoft.VisualStudio.ComponentGroup.UCRT", # UCRT SDK
"--add Microsoft.VisualStudio.Workload.NativeGame", # Game development with C++
"--add Microsoft.Component.MSBuild", # MSBuild
"--add Microsoft.VisualStudio.Component.NuGet", # NuGet Package Manager
"--quiet",
"--wait"
)
Start-Process -FilePath $Dest -ArgumentList ($Params -join " ") -Wait
Remove-Item $Dest
# Step 4: Setup Dependencies and Environment
- name: Run Setup.bat
shell: cmd
run: |
cmd /c ".\Setup.bat --exclude=Mac --exclude=osx64 --exclude=osx32 --exclude=iOS --exclude=IOS --exclude=ios --exclude=Linux --exclude=linux --exclude=Linux32 --exclude=linux32 --exclude=Linux64 --exclude=linux64 --exclude=linux_x64 --exclude=Android --exclude=android --exclude=HoloLens --exclude=TVOS --exclude=Win32 --exclude=WinRT --exclude=winrt --exclude=HTML5 --exclude=html5 --exclude=XboxOne --exclude=Switch --exclude=Dingo --exclude=PS4 --exclude=Win32 --exclude=win32 --exclude=Samples --exclude=FeaturePacks --exclude=Engine/Saved"
timeout-minutes: 20
continue-on-error: true
# Step 5: Generate Project Files
- name: Run GenerateProjectFiles.bat
shell: cmd
run: |
cd ${{ github.workspace }}
.\GenerateProjectFiles.bat -2017
# Step 6: Run Unreal Build with BuildGraph for Shipping and UWP64
- name: Run Unreal Build
shell: cmd
run: |
Engine\Build\BatchFiles\RunUAT.bat BuildGraph -target="Make Installed Build Win64" -script=Engine/Build/InstalledEngineBuild.xml -set:WithDDC=false -set:WithLinux=false -set:WithUWP64=true -set:WithLinuxArm64=false -set:WithWin64=true -set:WithMac=false -set:WithAndroid=false -set:WithIOS=false -set:WithHTML5=false -set:WithPS4=false -set:WithXboxOne=false -set:WithSwitch=false -set:WithLumin=false -set:WithWin32=false -set:WithWinRT=false -set:WithHoloLens=false -set:WithDingo=false -set:WithPython=false -set:GameConfigurations=Development;Shipping;DebugGame -exclude=Samples -exclude=FeaturePacks -exclude=Engine/Saved
# Step 7: Compress the installed engine into a .7z file
- name: Compress Installed Engine
shell: cmd
run: 7z a InstalledEngine.7z LocalBuilds\Engine
# Step 8: Upload the .7z file as an artifact
- name: Upload Installed Engine Archive
uses: actions/upload-artifact@v3
with:
name: InstalledEngine
path: InstalledEngine.7z