fix(perception): run Worker build interactively
This commit is contained in:
@@ -0,0 +1,62 @@
|
|||||||
|
[CmdletBinding()]
|
||||||
|
param(
|
||||||
|
[Parameter(Mandatory = $true)]
|
||||||
|
[string]$ReleaseRoot,
|
||||||
|
[Parameter(Mandatory = $true)]
|
||||||
|
[ValidatePattern("^[A-Za-z0-9._-]{1,96}$")]
|
||||||
|
[string]$RunId
|
||||||
|
)
|
||||||
|
|
||||||
|
$ErrorActionPreference = "Stop"
|
||||||
|
$taskName = "MissionCore-M49T1GSeg3D"
|
||||||
|
$release = (Resolve-Path -LiteralPath $ReleaseRoot).Path
|
||||||
|
$payload = Join-Path $release "payload"
|
||||||
|
$runner = Join-Path $payload "Invoke-M49T1GSeg3DQualification.ps1"
|
||||||
|
if (-not (Test-Path -LiteralPath $runner -PathType Leaf)) {
|
||||||
|
throw "M49 T1 runner is missing"
|
||||||
|
}
|
||||||
|
|
||||||
|
$existing = Get-ScheduledTask -TaskName $taskName -ErrorAction SilentlyContinue
|
||||||
|
if ($existing -and $existing.State -eq "Running") {
|
||||||
|
throw "$taskName is already running"
|
||||||
|
}
|
||||||
|
|
||||||
|
$powerShell = "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell.exe"
|
||||||
|
$arguments = @(
|
||||||
|
"-NoLogo", "-NoProfile", "-NonInteractive", "-ExecutionPolicy", "Bypass",
|
||||||
|
"-File", "`"$runner`"",
|
||||||
|
"-BuildContext", "`"$payload`"",
|
||||||
|
"-RunId", "`"$RunId`""
|
||||||
|
) -join " "
|
||||||
|
$userId = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
|
||||||
|
$action = New-ScheduledTaskAction `
|
||||||
|
-Execute $powerShell `
|
||||||
|
-Argument $arguments `
|
||||||
|
-WorkingDirectory $payload
|
||||||
|
$principal = New-ScheduledTaskPrincipal `
|
||||||
|
-UserId $userId `
|
||||||
|
-LogonType Interactive `
|
||||||
|
-RunLevel Limited
|
||||||
|
$trigger = New-ScheduledTaskTrigger -Once -At ((Get-Date).AddMinutes(30))
|
||||||
|
$settings = New-ScheduledTaskSettingsSet `
|
||||||
|
-AllowStartIfOnBatteries `
|
||||||
|
-DontStopIfGoingOnBatteries `
|
||||||
|
-StartWhenAvailable `
|
||||||
|
-ExecutionTimeLimit ([TimeSpan]::FromHours(3))
|
||||||
|
|
||||||
|
Register-ScheduledTask `
|
||||||
|
-TaskName $taskName `
|
||||||
|
-Action $action `
|
||||||
|
-Principal $principal `
|
||||||
|
-Trigger $trigger `
|
||||||
|
-Settings $settings `
|
||||||
|
-Description "One-shot M49 T1 pinned GSeg3D upstream qualification." `
|
||||||
|
-Force | Out-Null
|
||||||
|
Start-ScheduledTask -TaskName $taskName
|
||||||
|
|
||||||
|
[pscustomobject]@{
|
||||||
|
task_name = $taskName
|
||||||
|
run_id = $RunId
|
||||||
|
release_root = $release
|
||||||
|
state = (Get-ScheduledTask -TaskName $taskName).State.ToString()
|
||||||
|
} | ConvertTo-Json -Compress
|
||||||
@@ -19,6 +19,10 @@ SOURCES = (
|
|||||||
Path("experiments/perception/worker/m49_t1_gseg3d/Dockerfile"),
|
Path("experiments/perception/worker/m49_t1_gseg3d/Dockerfile"),
|
||||||
Path("experiments/perception/worker/m49_t1_gseg3d/qualify.sh"),
|
Path("experiments/perception/worker/m49_t1_gseg3d/qualify.sh"),
|
||||||
Path("experiments/perception/worker/Invoke-M49T1GSeg3DQualification.ps1"),
|
Path("experiments/perception/worker/Invoke-M49T1GSeg3DQualification.ps1"),
|
||||||
|
Path(
|
||||||
|
"experiments/perception/worker/"
|
||||||
|
"Invoke-M49T1GSeg3DQualificationAsInteractiveUser.ps1"
|
||||||
|
),
|
||||||
Path("config/perception/m49-traversability-candidate-manifest-v1.json"),
|
Path("config/perception/m49-traversability-candidate-manifest-v1.json"),
|
||||||
Path("config/perception/m49-camera-lidar-traversability-v1.json"),
|
Path("config/perception/m49-camera-lidar-traversability-v1.json"),
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user