name: Build PolyPaper on: [push, pull_request, workflow_dispatch] jobs: build: runs-on: ubuntu-latest strategy: fail-fast: false matrix: { venue: [arxiv, ieee, elsevier, acm] } steps: - uses: actions/checkout@v4 - name: Build Docker image run: docker build -f Dockerfile.full -t polypaper:full . - name: Validate metadata (in container) run: docker run --rm -v ${{ github.workspace }}:/work -w /work polypaper:full bash -lc 'chmod +x scripts/check_metadata.py && scripts/check_metadata.py' - name: Build PDFs and HTML (${{ matrix.venue }}) run: | docker run --rm -v ${{ github.workspace }}:/work -w /work polypaper:full bash -lc 'make VENUE=${{ matrix.venue }}' docker run --rm -v ${{ github.workspace }}:/work -w /work polypaper:full bash -lc 'make supplement VENUE=${{ matrix.venue }}' docker run --rm -v ${{ github.workspace }}:/work -w /work polypaper:full bash -lc 'make camera-ready VENUE=${{ matrix.venue }}' docker run --rm -v ${{ github.workspace }}:/work -w /work polypaper:full bash -lc 'make site VENUE=${{ matrix.venue }}' - name: Upload artifacts uses: actions/upload-artifact@v4 with: name: polypaper-${{ matrix.venue }} path: | paper-${{ matrix.venue }}.pdf paper-supplement-${{ matrix.venue }}.pdf paper-camera-ready-${{ matrix.venue }}.pdf public/paper.html