name: Build PolyPaper (Forgejo) on: [push, pull_request, workflow_dispatch] jobs: build: runs-on: docker 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 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: Archive outputs run: | mkdir -p artifacts/${{ matrix.venue }} mv paper-${{ matrix.venue }}.pdf artifacts/${{ matrix.venue }}/ || true mv paper-supplement-${{ matrix.venue }}.pdf artifacts/${{ matrix.venue }}/ || true mv paper-camera-ready-${{ matrix.venue }}.pdf artifacts/${{ matrix.venue }}/ || true cp -a public artifacts/${{ matrix.venue }}/ || true