Fix container preflight checks across Linux and Windows.

Make pandoc preflight succeed when only Quarto-bundled pandoc is available, and harden Windows error logging to avoid PowerShell interpolation failures in catch blocks.
This commit is contained in:
Vijay Janapa Reddi
2026-03-06 07:38:00 -05:00
parent 4494e30e71
commit 3f88e2a89b

View File

@@ -403,8 +403,8 @@ jobs:
run_check "quarto on PATH" "command -v quarto >/dev/null"
run_check "quarto version" "quarto --version | sed -n '1p'"
run_check "pandoc on PATH" "command -v pandoc >/dev/null"
run_check "pandoc version" "pandoc --version | sed -n '1p'"
run_check "pandoc available" "command -v pandoc >/dev/null || quarto pandoc --version >/dev/null 2>&1"
run_check "pandoc version" "if command -v pandoc >/dev/null; then pandoc --version | sed -n '1p'; else quarto pandoc --version | sed -n '1p'; fi"
run_check "python3 on PATH" "command -v python3 >/dev/null"
run_check "python3 version" "python3 --version"
run_check "mlsysim import" "python3 -c \"import mlsysim,sys; print('mlsysim:', mlsysim.__file__); print('python:', sys.executable)\""
@@ -446,15 +446,31 @@ jobs:
if (-not `$?) { throw 'Command returned non-zero status' }
Write-Host \"✅ preflight: `$Name\"
} catch {
Write-Error \"❌ preflight failed: `$Name -- `$(`$_.Exception.Message)\"
`$errorMessage = `$_.Exception.Message
Write-Error (\"❌ preflight failed: `$Name -- {0}\" -f `$errorMessage)
throw
}
}
Invoke-Check 'quarto on PATH' { `$resolved = Get-Command quarto -ErrorAction Stop; Write-Host \" quarto -> `$(`$resolved.Source)\" }
Invoke-Check 'quarto version' { quarto --version | Select-Object -First 1 }
Invoke-Check 'pandoc on PATH' { `$resolved = Get-Command pandoc -ErrorAction Stop; Write-Host \" pandoc -> `$(`$resolved.Source)\" }
Invoke-Check 'pandoc version' { pandoc --version | Select-Object -First 1 }
Invoke-Check 'pandoc available' {
`$pandocCmd = Get-Command pandoc -ErrorAction SilentlyContinue
if (`$pandocCmd) {
Write-Host \" pandoc -> `$(`$pandocCmd.Source)\"
} else {
quarto pandoc --version | Select-Object -First 1 | Out-Null
Write-Host \" pandoc -> bundled via quarto\"
}
}
Invoke-Check 'pandoc version' {
`$pandocCmd = Get-Command pandoc -ErrorAction SilentlyContinue
if (`$pandocCmd) {
pandoc --version | Select-Object -First 1
} else {
quarto pandoc --version | Select-Object -First 1
}
}
Invoke-Check 'python on PATH' { `$resolved = Get-Command python -ErrorAction Stop; Write-Host \" python -> `$(`$resolved.Source)\" }
Invoke-Check 'python version' { python --version }
Invoke-Check 'python3 on PATH' { `$resolved = Get-Command python3 -ErrorAction Stop; Write-Host \" python3 -> `$(`$resolved.Source)\" }