From dcba8d7c08832116cf35bf3b8be91d9d92ea239d Mon Sep 17 00:00:00 2001 From: Vijay Janapa Reddi Date: Thu, 21 Aug 2025 23:04:31 -0400 Subject: [PATCH] fix(workflow): correct PDF compression script paths - Fix relative path from quarto/_build/pdf to ../../publish/compress_pdf.py - Update both Linux and Windows PDF compression steps - Add debug output to verify script location - Matches EPUB compression path fix pattern - Resolves 'No such file or directory' errors in PDF builds --- .github/workflows/quarto-build-container.yml | 39 +++++++++++++++++--- 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/.github/workflows/quarto-build-container.yml b/.github/workflows/quarto-build-container.yml index 0c318bc14..323ddd716 100644 --- a/.github/workflows/quarto-build-container.yml +++ b/.github/workflows/quarto-build-container.yml @@ -269,11 +269,29 @@ jobs: run: | if [ -f "Machine-Learning-Systems.pdf" ]; then echo "📉 Compressing PDF with professional compression tool..." - python3 ${{ github.workspace }}/quarto/publish/compress_pdf.py \ - --input "Machine-Learning-Systems.pdf" \ - --output "compressed.pdf" \ - --quality minimal \ - --verbose + echo "🔍 DEBUG: PWD=$(pwd)" + echo "🔍 DEBUG: Checking for compress script:" + ls -la ../../publish/compress_pdf.py || echo "❌ Script not found at ../../publish/" + + # Use relative path from current working directory (quarto/_build/pdf) + SCRIPT_PATH="../../publish/compress_pdf.py" + if [ -f "$SCRIPT_PATH" ]; then + echo "✅ Using script at: $SCRIPT_PATH" + python3 "$SCRIPT_PATH" \ + --input "Machine-Learning-Systems.pdf" \ + --output "compressed.pdf" \ + --quality minimal \ + --verbose + else + # Fallback to absolute path via github.workspace + SCRIPT_PATH="${{ github.workspace }}/quarto/publish/compress_pdf.py" + echo "🔄 Trying fallback path: $SCRIPT_PATH" + python3 "$SCRIPT_PATH" \ + --input "Machine-Learning-Systems.pdf" \ + --output "compressed.pdf" \ + --quality minimal \ + --verbose + fi mv compressed.pdf Machine-Learning-Systems.pdf echo "✅ PDF compression completed" else @@ -288,7 +306,16 @@ jobs: docker run --rm -v "$($PWD.Path):C:\workspace" -w "C:\workspace\quarto\${{ matrix.output_dir }}" ${{ env.CONTAINER_IMAGE }} powershell -Command " if (Test-Path 'Machine-Learning-Systems.pdf') { Write-Host '📉 Compressing PDF with professional compression tool...' - python C:\workspace\quarto\publish\compress_pdf.py --input 'Machine-Learning-Systems.pdf' --output 'compressed.pdf' --quality minimal --verbose + Write-Host '🔍 DEBUG: Current directory:' + Get-Location + Write-Host '🔍 DEBUG: Checking for script at relative path:' + if (Test-Path '..\..\publish\compress_pdf.py') { + Write-Host '✅ Found script at ..\..\publish\compress_pdf.py' + python ..\..\publish\compress_pdf.py --input 'Machine-Learning-Systems.pdf' --output 'compressed.pdf' --quality minimal --verbose + } else { + Write-Host '🔄 Trying fallback path: C:\workspace\quarto\publish\compress_pdf.py' + python C:\workspace\quarto\publish\compress_pdf.py --input 'Machine-Learning-Systems.pdf' --output 'compressed.pdf' --quality minimal --verbose + } if (Test-Path 'compressed.pdf') { Move-Item -Force 'compressed.pdf' 'Machine-Learning-Systems.pdf' Write-Host '✅ PDF compression completed'