commit4
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
$ErrorActionPreference='Stop'
|
||||
$budgetRoot=[IO.Path]::GetFullPath((Join-Path $PSScriptRoot '..'))
|
||||
if($budgetRoot -ne 'C:\laragon\www\sgf-tempo'){throw 'Unexpected project path.'}
|
||||
if(Get-NetTCPConnection -LocalPort 8004 -State Listen -ErrorAction SilentlyContinue){throw 'Proof port occupied; no process stopped.'}
|
||||
$budgetProvisionPhp='C:\Users\macbook\.config\investmoz\php-8.5.11\php.exe'
|
||||
$budgetWebPhp='C:\laragon\tools\sgf-tempo\php-8.4.27\php.exe'
|
||||
$budgetProofProcess=$null
|
||||
try {
|
||||
& $budgetProvisionPhp (Join-Path $PSScriptRoot 'budget-demo-provision.php') --proof
|
||||
if($LASTEXITCODE){throw 'Isolated proof preparation failed.'}
|
||||
$budgetAccount=[Security.Principal.WindowsIdentity]::GetCurrent().Name
|
||||
foreach($budgetFile in @('budget-proof.json','budget-proof-access.json')){& icacls.exe "C:\laragon\data\sgf-tempo\secrets\$budgetFile" /inheritance:r /grant:r "${budgetAccount}:F" 'SYSTEM:F' | Out-Null}
|
||||
$env:BUDGET_DEMO_SETTINGS_FILE='C:/laragon/data/sgf-tempo/secrets/budget-proof.json'
|
||||
$budgetProofProcess=Start-Process -FilePath $budgetWebPhp -ArgumentList @('-S','127.0.0.1:8004','-t','public','scripts/budget-demo-router.php') -WorkingDirectory $budgetRoot -WindowStyle Hidden -PassThru -RedirectStandardOutput 'C:\laragon\data\sgf-tempo\run\budget-proof.stdout.log' -RedirectStandardError 'C:\laragon\data\sgf-tempo\run\budget-proof.stderr.log'
|
||||
Remove-Item Env:BUDGET_DEMO_SETTINGS_FILE
|
||||
$budgetReady=$false
|
||||
for($budgetAttempt=0;$budgetAttempt -lt 30;$budgetAttempt++) { if(Get-NetTCPConnection -LocalPort 8004 -State Listen -ErrorAction SilentlyContinue){$budgetReady=$true;break}; Start-Sleep -Milliseconds 100 }
|
||||
if(!$budgetReady){throw 'Proof server did not start.'}
|
||||
Push-Location $budgetRoot
|
||||
try { & 'C:\laragon\tools\sgf-tempo\node-v24.22.1-win-arm64\node.exe' scripts/budget-workspace-http-proof.mjs; if($LASTEXITCODE){throw 'HTTP budget workspace checks failed.'} } finally {Pop-Location}
|
||||
} finally {
|
||||
Remove-Item Env:BUDGET_DEMO_SETTINGS_FILE -ErrorAction SilentlyContinue
|
||||
if($budgetProofProcess -and !$budgetProofProcess.HasExited){Stop-Process -Id $budgetProofProcess.Id}
|
||||
& $budgetProvisionPhp (Join-Path $PSScriptRoot 'budget-demo-provision.php') --cleanup-proof
|
||||
}
|
||||
Reference in New Issue
Block a user