mirror of
https://github.com/harvard-edge/cs249r_book.git
synced 2026-03-08 23:03:55 -05:00
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:
26
.github/workflows/book-build-container.yml
vendored
26
.github/workflows/book-build-container.yml
vendored
@@ -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)\" }
|
||||
|
||||
Reference in New Issue
Block a user