Files
Engine/.github/workflows/Build.yml
2025-01-18 22:48:33 -05:00

77 lines
3.4 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: Remove Visual Studio 2019
- name: Remove Visual Studio 2019
shell: cmd
run: |
echo "Running InstallCleanup.exe to remove Visual Studio 2019..."
"C:\Program Files (x86)\Microsoft Visual Studio\Installer\InstallCleanup.exe" -f
# Step 3: Install required components for Visual Studio 2017
- name: Install Visual Studio 2017 Components
shell: powershell
run: |
$components = @(
"--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
"--add Microsoft.VisualStudio.Workload.CoreEditor", # Visual Studio core editor
"--add Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions", # Web development
"--add Microsoft.VisualStudio.Component.CMake" # CMake tools for Windows
)
Start-Process -FilePath "C:\\Program Files (x86)\\Microsoft Visual Studio\\Installer\\vs_installer.exe" -ArgumentList ($components -join " "), "--quiet", "--wait"
# Step 4: Run Setup.bat
- name: Run Setup.bat
shell: cmd
run: |
cmd /c ".\Setup.bat"
timeout-minutes: 20
continue-on-error: true
# Step 5: Run GenerateProjectFiles.bat
- name: Run GenerateProjectFiles.bat
shell: cmd
run: |
cd ${{ github.workspace }}
.\GenerateProjectFiles.bat -2019
# 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