mirror of
https://github.com/harvard-edge/cs249r_book.git
synced 2026-03-09 07:15:51 -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 on PATH" "command -v quarto >/dev/null"
|
||||||
run_check "quarto version" "quarto --version | sed -n '1p'"
|
run_check "quarto version" "quarto --version | sed -n '1p'"
|
||||||
run_check "pandoc on PATH" "command -v pandoc >/dev/null"
|
run_check "pandoc available" "command -v pandoc >/dev/null || quarto pandoc --version >/dev/null 2>&1"
|
||||||
run_check "pandoc version" "pandoc --version | sed -n '1p'"
|
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 on PATH" "command -v python3 >/dev/null"
|
||||||
run_check "python3 version" "python3 --version"
|
run_check "python3 version" "python3 --version"
|
||||||
run_check "mlsysim import" "python3 -c \"import mlsysim,sys; print('mlsysim:', mlsysim.__file__); print('python:', sys.executable)\""
|
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' }
|
if (-not `$?) { throw 'Command returned non-zero status' }
|
||||||
Write-Host \"✅ preflight: `$Name\"
|
Write-Host \"✅ preflight: `$Name\"
|
||||||
} catch {
|
} catch {
|
||||||
Write-Error \"❌ preflight failed: `$Name -- `$(`$_.Exception.Message)\"
|
`$errorMessage = `$_.Exception.Message
|
||||||
|
Write-Error (\"❌ preflight failed: `$Name -- {0}\" -f `$errorMessage)
|
||||||
throw
|
throw
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Invoke-Check 'quarto on PATH' { `$resolved = Get-Command quarto -ErrorAction Stop; Write-Host \" quarto -> `$(`$resolved.Source)\" }
|
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 '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 available' {
|
||||||
Invoke-Check 'pandoc version' { pandoc --version | Select-Object -First 1 }
|
`$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 on PATH' { `$resolved = Get-Command python -ErrorAction Stop; Write-Host \" python -> `$(`$resolved.Source)\" }
|
||||||
Invoke-Check 'python version' { python --version }
|
Invoke-Check 'python version' { python --version }
|
||||||
Invoke-Check 'python3 on PATH' { `$resolved = Get-Command python3 -ErrorAction Stop; Write-Host \" python3 -> `$(`$resolved.Source)\" }
|
Invoke-Check 'python3 on PATH' { `$resolved = Get-Command python3 -ErrorAction Stop; Write-Host \" python3 -> `$(`$resolved.Source)\" }
|
||||||
|
|||||||
Reference in New Issue
Block a user