# 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/"