diff --git a/.github/workflows/book-build-container.yml b/.github/workflows/book-build-container.yml index 875ee1c8b..7a1193140 100644 --- a/.github/workflows/book-build-container.yml +++ b/.github/workflows/book-build-container.yml @@ -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)\" }