mirror of
https://github.com/izzy2lost/Engine.git
synced 2026-03-10 11:52:02 -07:00
78 lines
3.7 KiB
YAML
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 |