Skip to content
Closed
Show file tree
Hide file tree
Changes from 51 commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
5268630
feat(orchestrator): enterprise feature support — CLI provider, submod…
frostebite Mar 5, 2026
d856336
feat(orchestrator): add experimental GCP Cloud Run and Azure ACI prov…
frostebite Mar 5, 2026
f4bc5d2
feat(orchestrator): multi-storage support for GCP and Azure providers
frostebite Mar 5, 2026
786ee37
feat(orchestrator): automatic provider fallback with runner availabil…
frostebite Mar 5, 2026
8194790
feat(orchestrator): add retry-on-fallback and provider init timeout
frostebite Mar 5, 2026
d17b099
style: format changed files with prettier
frostebite Mar 5, 2026
cfac5f1
test(orchestrator): expand local cache service test coverage
frostebite Mar 5, 2026
7e9d0bf
test(orchestrator): add runner availability service tests
frostebite Mar 5, 2026
17a0ea3
test(orchestrator): add unit tests for untested core services
frostebite Mar 5, 2026
f445106
ci(orchestrator): add fast unit test gate to integrity workflow
frostebite Mar 5, 2026
a0c79bd
test(orchestrator): expand unit tests for enterprise services
frostebite Mar 5, 2026
8a41533
fix(orchestrator): use http.extraHeader for secure git authentication
frostebite Mar 5, 2026
e4c156e
feat(orchestrator): add premade secret sources and YAML definitions
frostebite Mar 5, 2026
7f89530
feat(secrets): add HashiCorp Vault as first-class premade secret source
frostebite Mar 5, 2026
cf3478c
feat(lfs): add built-in elastic-git-storage support with auto-install
frostebite Mar 5, 2026
26903e9
feat(hooks): add Unity Git Hooks integration and runHookGroups
frostebite Mar 5, 2026
12f2871
feat(orchestrator): CI platform providers — Remote PowerShell, GitHub…
frostebite Mar 5, 2026
7db70a7
style: fix prettier formatting and eslint errors on test files
frostebite Mar 5, 2026
4f07508
feat(orchestrator): build reliability features — git integrity, reser…
frostebite Mar 5, 2026
47670cf
feat(reliability): implement build reliability service with git integ…
frostebite Mar 5, 2026
ff56194
test(providers): add comprehensive unit tests for GitHub Actions, Git…
frostebite Mar 5, 2026
007852a
feat(cache): add child workspace isolation for multi-product CI build…
frostebite Mar 5, 2026
fe63d7b
fix(cli-provider): add timeout protection for external CLI processes
frostebite Mar 5, 2026
1f3affe
fix(secrets): prevent shell injection in secret key names and mask va…
frostebite Mar 5, 2026
f06f99b
chore: rebuild dist for cli-provider timeout changes
frostebite Mar 5, 2026
cff7597
fix(load-balancing): add pagination limits and rate-limit detection
frostebite Mar 5, 2026
40dd436
fix(reliability): add disk space validation before build archival
frostebite Mar 5, 2026
120c3c5
fix(providers): add polling timeouts, fix credential parsing, validat…
frostebite Mar 5, 2026
4d7e871
chore: rebuild dist for provider timeout and credential fixes
frostebite Mar 5, 2026
b3bd405
fix: prettier formatting for orchestrator-folders-auth test
frostebite Mar 5, 2026
9789eb5
ci: split orchestrator integrity into parallel jobs for faster valida…
frostebite Mar 5, 2026
3976b7c
style: fix prettier formatting
frostebite Mar 5, 2026
e9c247f
style: fix prettier formatting
frostebite Mar 5, 2026
79ae558
style: fix prettier formatting
frostebite Mar 5, 2026
81ba9c3
style: fix prettier formatting
frostebite Mar 5, 2026
b4ffa3e
ci: split orchestrator integrity into 4 parallel jobs to fix timeout
frostebite Mar 5, 2026
02d4ec0
Merge origin/feature/orchestrator-enterprise-support into release/lts…
frostebite Mar 5, 2026
6c548cd
Merge remote-tracking branch 'origin/fix/secure-git-token-usage' into…
frostebite Mar 5, 2026
2ef2275
Merge remote-tracking branch 'origin/feature/orchestrator-unit-tests'…
frostebite Mar 5, 2026
3e15471
Merge remote-tracking branch 'origin/feature/build-reliability' into …
frostebite Mar 5, 2026
7307bea
Merge remote-tracking branch 'origin/feature/provider-load-balancing'…
frostebite Mar 5, 2026
f77a135
Merge remote-tracking branch 'origin/feature/premade-secret-sources' …
frostebite Mar 5, 2026
67fd293
Merge remote-tracking branch 'origin/feature/cloud-run-azure-provider…
frostebite Mar 5, 2026
52a5bc4
Merge remote-tracking branch 'origin/feature/ci-platform-providers' i…
frostebite Mar 5, 2026
18e20aa
Merge remote-tracking branch 'origin/ci/orchestrator-integrity-speedu…
frostebite Mar 5, 2026
f05cfe7
chore: add integration branch update scripts for release/lts-infrastr…
frostebite Mar 5, 2026
c08d13e
Merge remote-tracking branch 'origin/feature/orchestrator-enterprise-…
frostebite Mar 6, 2026
54a6c80
ci: mark failed macOS builds as neutral instead of failure
frostebite Mar 7, 2026
49c3bcf
fix(ci): restore missing k3d cluster step in orchestrator-integrity
frostebite Mar 7, 2026
6f751bf
revert: restore build-tests-mac.yml to match main
frostebite Mar 9, 2026
cdb17b2
fix(test): add gitAuthMode to orchestrator-folders test mock
frostebite Mar 9, 2026
5f63107
fix(ci): bump node version to 20 in integrity-check
frostebite Mar 9, 2026
936ca76
fix: revert Node version to 18 in CI workflow
frostebite Mar 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/orchestrator-async-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ jobs:
# AWS_STACK_NAME: game-ci-github-pipelines
CHECKS_UPDATE: ${{ github.event.inputs.checksObject }}
run: |
git clone -b orchestrator-develop https://github.com/game-ci/unity-builder
git clone -b main https://github.com/game-ci/unity-builder
cd unity-builder
yarn
ls
Expand Down
1,031 changes: 577 additions & 454 deletions .github/workflows/orchestrator-integrity.yml

Large diffs are not rendered by default.

361 changes: 359 additions & 2 deletions action.yml

Large diffs are not rendered by default.

138 changes: 138 additions & 0 deletions delete-me-update-all-integration-branches.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
# delete-me-update-all-integration-branches.ps1
# Updates ALL integration branches from their component branches.
# Run from any branch -- it will stash changes, update each integration branch, then return.

$ErrorActionPreference = 'Stop'

$originalBranch = git rev-parse --abbrev-ref HEAD
$stashed = $false

# Stash any uncommitted changes
$status = git status --porcelain
if ($status) {
Write-Host "Stashing uncommitted changes..." -ForegroundColor Cyan
git stash push -m "auto-stash before integration branch update"
$stashed = $true
}

Write-Host "Fetching all branches from origin..." -ForegroundColor Cyan
git fetch origin

$integrationBranches = @(
@{
Name = 'release/next-gen'
Branches = @(
'feature/test-workflow-engine'
'feature/hot-runner-protocol'
'feature/generic-artifact-system'
'feature/incremental-sync-protocol'
'feature/community-plugin-validation'
'feature/cli-support'
)
}
@{
Name = 'release/lts-infrastructure'
Branches = @(
'feature/orchestrator-enterprise-support'
'feature/cloud-run-azure-providers'
'feature/provider-load-balancing'
'feature/orchestrator-unit-tests'
'fix/secure-git-token-usage'
'feature/premade-secret-sources'
'feature/ci-platform-providers'
'feature/build-reliability'
'ci/orchestrator-integrity-speedup'
)
}
@{
Name = 'release/lts-2.0.0'
Branches = @(
# Infrastructure
'feature/orchestrator-enterprise-support'
'feature/cloud-run-azure-providers'
'feature/provider-load-balancing'
'feature/orchestrator-unit-tests'
'fix/secure-git-token-usage'
'feature/premade-secret-sources'
'feature/ci-platform-providers'
'feature/build-reliability'
'ci/orchestrator-integrity-speedup'
# Next-gen
'feature/test-workflow-engine'
'feature/hot-runner-protocol'
'feature/generic-artifact-system'
'feature/incremental-sync-protocol'
'feature/community-plugin-validation'
'feature/cli-support'
)
}
)

foreach ($integration in $integrationBranches) {
$name = $integration.Name
Write-Host "`n========================================" -ForegroundColor Cyan
Write-Host "Updating $name" -ForegroundColor Cyan
Write-Host "========================================" -ForegroundColor Cyan

# Check if branch exists locally
$exists = git branch --list $name
if (-not $exists) {
Write-Host "Creating local branch from origin/$name..." -ForegroundColor Yellow
git checkout -b $name "origin/$name"
} else {
git checkout $name
git pull origin $name --ff-only 2>$null
if ($LASTEXITCODE -ne 0) {
git pull origin $name --no-edit
}
}

$failed = @()
foreach ($branch in $integration.Branches) {
$remoteBranch = "origin/$branch"
# Check if remote branch exists
$refExists = git rev-parse --verify $remoteBranch 2>$null
if ($LASTEXITCODE -ne 0) {
Write-Host " Skipping $branch (not found on remote)" -ForegroundColor DarkGray
continue
}

# Check if already merged
$mergeBase = git merge-base HEAD $remoteBranch 2>$null
$remoteHead = git rev-parse $remoteBranch 2>$null
if ($mergeBase -eq $remoteHead) {
Write-Host " $branch - already up to date" -ForegroundColor DarkGray
continue
}

Write-Host " Merging $branch..." -ForegroundColor Yellow
$result = git merge $remoteBranch --no-edit 2>&1
if ($LASTEXITCODE -ne 0) {
Write-Host " CONFLICT - skipped (resolve manually)" -ForegroundColor Red
$failed += $branch
git merge --abort
} else {
Write-Host " OK" -ForegroundColor Green
}
}

if ($failed.Count -gt 0) {
Write-Host "`n Conflicts in:" -ForegroundColor Red
$failed | ForEach-Object { Write-Host " - $_" -ForegroundColor Red }
}

# Push
Write-Host " Pushing $name to origin..." -ForegroundColor Cyan
git push origin $name
}

# Return to original branch
Write-Host "`nReturning to $originalBranch..." -ForegroundColor Cyan
git checkout $originalBranch

if ($stashed) {
Write-Host "Restoring stashed changes..." -ForegroundColor Cyan
git stash pop
}

Write-Host "`nDone!" -ForegroundColor Green
52 changes: 52 additions & 0 deletions delete-me-update-this-integration-branch.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# delete-me-update-this-integration-branch.ps1
# Run this script from the repo root while on the release/lts-infrastructure branch.
# It merges the latest from each component branch to keep this integration branch current.
# After running, review any conflicts, then commit and push.

$ErrorActionPreference = 'Stop'

$branchName = git rev-parse --abbrev-ref HEAD
if ($branchName -ne 'release/lts-infrastructure') {
Write-Error "Must be on release/lts-infrastructure branch. Currently on: $branchName"
exit 1
}

# Component branches for this integration branch (infrastructure only, no next-gen)
$branches = @(
'feature/orchestrator-enterprise-support'
'feature/cloud-run-azure-providers'
'feature/provider-load-balancing'
'feature/orchestrator-unit-tests'
'fix/secure-git-token-usage'
'feature/premade-secret-sources'
'feature/ci-platform-providers'
'feature/build-reliability'
'ci/orchestrator-integrity-speedup'
)

Write-Host "Fetching latest from origin..." -ForegroundColor Cyan
git fetch origin

$failed = @()
foreach ($branch in $branches) {
Write-Host "`nMerging origin/$branch..." -ForegroundColor Yellow
$result = git merge "origin/$branch" --no-edit 2>&1
if ($LASTEXITCODE -ne 0) {
Write-Host " CONFLICT merging $branch - resolve manually" -ForegroundColor Red
$failed += $branch
# Abort this merge so we can continue with others
git merge --abort
} else {
Write-Host " Merged successfully" -ForegroundColor Green
}
}

if ($failed.Count -gt 0) {
Write-Host "`nThe following branches had conflicts and were skipped:" -ForegroundColor Red
$failed | ForEach-Object { Write-Host " - $_" -ForegroundColor Red }
Write-Host "`nRe-run after resolving, or merge them manually:" -ForegroundColor Yellow
$failed | ForEach-Object { Write-Host " git merge origin/$_" -ForegroundColor Yellow }
} else {
Write-Host "`nAll branches merged successfully!" -ForegroundColor Green
Write-Host "Run 'git push origin release/lts-infrastructure' to update the remote." -ForegroundColor Cyan
}
Loading
Loading