PolyPaper/.forgejo/workflows/build.yml

26 lines
1.5 KiB
YAML
Executable File

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