Loading...
No commits yet
Not committed History
Blame
compilation-demo.yml • 1.7 KB
name: Compilation Demo

on:
  push:
    branches: [ main, develop ]
  pull_request:
    branches: [ main, develop ]
  workflow_dispatch:

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  compile:
    runs-on: ubuntu-latest
    timeout-minutes: 20

    steps:
    - uses: actions/checkout@v4

    - name: Install dependencies
      run: |
        sudo apt-get update

        # Install Apptainer from PPA (for container support)
        sudo add-apt-repository -y ppa:apptainer/ppa 2>/dev/null || true
        sudo apt-get update 2>/dev/null || true
        sudo apt-get install -y apptainer 2>/dev/null || true

        # Always install TeXLive and required tools for native compilation
        echo "Installing TeXLive and dependencies for manuscript compilation..."
        sudo apt-get install -y texlive-full latexdiff ghostscript imagemagick perl parallel 2>/dev/null || \
        echo "Warning: Some dependencies may not be available"

    - name: Install Python dependencies
      run: |
        python3 -m pip install --upgrade pip
        pip install xlsx2csv csv2latex bibtexparser || echo "Warning: Some Python dependencies may not be available"

    - name: Run manuscript compilation
      run: ./compile.sh manuscript

    - name: Upload compiled PDF
      uses: actions/upload-artifact@v4
      if: success()
      with:
        name: compiled-manuscript
        path: 01_manuscript/manuscript.pdf
        retention-days: 30

    - name: Upload diff PDF
      uses: actions/upload-artifact@v4
      if: success()
      with:
        name: compiled-diff
        path: 01_manuscript/manuscript_diff.pdf
        retention-days: 30