ec87668506
Builds the UE 5.7.4 editor target on a Windows host-mode runner and publishes the binaries zip to gs://keystone-501223-build-artifacts on every push to master (poor-man's-UGS producer side). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
71 lines
3.1 KiB
YAML
71 lines
3.1 KiB
YAML
# Gitea Actions — build the UE 5.7.4 editor binaries on a Windows host-mode runner
|
|
# and publish them to the GCS artifacts bucket (the poor-man's-UGS producer side).
|
|
#
|
|
# Runner: registered on a Windows box with label `windows:host` (host mode, NOT a
|
|
# container) so it can use the installed UE 5.7.4 + VS 2022 + gcloud.
|
|
#
|
|
# NOTE (proof shortcut): BUILDGRAPH_SCRIPT points at the build-infra folder on the
|
|
# runner's local disk, because for now the runner and build-infra live on the same
|
|
# machine. For a real multi-agent fleet, vendor BuildEditor.xml into this repo (or a
|
|
# submodule) so any runner has it — see build-infra/RUNBOOK.md §9.
|
|
name: Build Editor
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches: [ master ]
|
|
|
|
concurrency:
|
|
group: build-editor
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build-editor:
|
|
runs-on: windows # matches the runner's `windows` label (host mode)
|
|
env:
|
|
UE_ROOT: D:\Unreal\UE_5.7
|
|
PROJECT_NAME: ASGCGameJam2026
|
|
ARTIFACTS_BUCKET: keystone-501223-build-artifacts
|
|
BUILDGRAPH_SCRIPT: D:\asgcgj\build-infra\buildgraph\BuildEditor.xml
|
|
GCLOUD_BIN: C:\Users\aorti\AppData\Local\Google\Cloud SDK\google-cloud-sdk\bin
|
|
steps:
|
|
# Editor binaries are pure C++ — no Content needed — so skip LFS (faster, and
|
|
# avoids LFS auth in CI). Packaged/cook builds WOULD need lfs: true.
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
lfs: false
|
|
|
|
- name: Compute canonical BUILD_ID
|
|
shell: powershell
|
|
run: |
|
|
$short = "$env:GITHUB_SHA".Substring(0,8)
|
|
$buildId = "Development-$env:GITHUB_REF_NAME-$short"
|
|
"BUILD_ID=$buildId" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8
|
|
Write-Host "BUILD_ID=$buildId"
|
|
|
|
- name: BuildGraph — editor binaries
|
|
shell: powershell
|
|
run: |
|
|
& "$env:UE_ROOT\Engine\Build\BatchFiles\RunUAT.bat" BuildGraph `
|
|
-Script="$env:BUILDGRAPH_SCRIPT" `
|
|
-Target="EditorBinaries" `
|
|
-set:ProjectName=$env:PROJECT_NAME `
|
|
-set:ProjectDir="$env:GITHUB_WORKSPACE" `
|
|
-set:ProjectPath="$env:GITHUB_WORKSPACE\$env:PROJECT_NAME.uproject" `
|
|
-set:BuildVersion=$env:BUILD_ID `
|
|
-set:OutputDir="$env:GITHUB_WORKSPACE\LocalBuilds"
|
|
if ($LASTEXITCODE -ne 0) { throw "BuildGraph failed ($LASTEXITCODE)" }
|
|
|
|
- name: Publish to artifacts bucket
|
|
shell: powershell
|
|
run: |
|
|
$env:PATH += ";$env:GCLOUD_BIN"
|
|
$sha = "$env:GITHUB_SHA".Substring(0,8)
|
|
$src = "$env:GITHUB_WORKSPACE\LocalBuilds\EditorBinaries-Win64.zip"
|
|
if (-not (Test-Path $src)) { throw "Editor binaries zip not found: $src" }
|
|
gcloud storage cp $src "gs://$env:ARTIFACTS_BUCKET/editor/EditorBinaries-Win64-$sha.zip"
|
|
gcloud storage cp $src "gs://$env:ARTIFACTS_BUCKET/editor/EditorBinaries-Win64-latest.zip"
|
|
"$env:GITHUB_SHA" | Out-File -Encoding ascii latest.sha
|
|
gcloud storage cp latest.sha "gs://$env:ARTIFACTS_BUCKET/editor/latest.sha"
|
|
Write-Host "Published EditorBinaries-Win64 ($sha) -> gs://$env:ARTIFACTS_BUCKET/editor/"
|