diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8edb6fd..9c3cf19 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,9 +7,10 @@ on: branches: [main] jobs: - build: + build-github: runs-on: ubuntu-latest container: ghcr.io/xu-cheng/texlive-alpine:latest + if: github.server_url == 'https://github.com' steps: - name: Install system dependencies run: apk add --no-cache git make bash nodejs @@ -47,29 +48,66 @@ jobs: pdflatex -output-directory=build -interaction=nonstopmode proposal.tex cp build/proposal.pdf output/proposal.pdf - - name: Upload Thesis PDF (GitHub) - if: github.server_url == 'https://github.com' + - name: Upload Thesis PDF uses: actions/upload-artifact@v4 with: name: thesis-pdf path: thesis/out/thesis.pdf - - name: Upload Thesis PDF (Gitea) - if: github.server_url != 'https://github.com' - uses: actions/upload-artifact@v3 - with: - name: thesis-pdf - path: thesis/out/thesis.pdf - - - name: Upload Proposal PDF (GitHub) - if: github.server_url == 'https://github.com' + - name: Upload Proposal PDF uses: actions/upload-artifact@v4 with: name: proposal-pdf path: proposal/output/proposal.pdf - - name: Upload Proposal PDF (Gitea) - if: github.server_url != 'https://github.com' + build-gitea: + runs-on: ubuntu-latest + container: ghcr.io/xu-cheng/texlive-alpine:latest + if: github.server_url != 'https://github.com' + steps: + - name: Install system dependencies + run: apk add --no-cache git make bash nodejs + + - uses: actions/checkout@v4 + + - name: Cache TeX Live + uses: actions/cache@v4 + with: + path: | + /tmp/texlive + ~/.texlive* + key: texlive-${{ runner.os }}-${{ hashFiles('**/*.tex') }} + restore-keys: | + texlive-${{ runner.os }}- + + - name: Create TeX Live directory + run: mkdir -p /tmp/texlive + + - name: Build Thesis + run: | + make -C thesis + + - name: Build Proposal + working-directory: proposal + run: | + mkdir -p build + mkdir -p output + pdflatex -output-directory=build -interaction=nonstopmode proposal.tex + # Run bibtex if aux file exists + if [ -f build/proposal.aux ]; then + bibtex build/proposal || true + fi + pdflatex -output-directory=build -interaction=nonstopmode proposal.tex + pdflatex -output-directory=build -interaction=nonstopmode proposal.tex + cp build/proposal.pdf output/proposal.pdf + + - name: Upload Thesis PDF + uses: actions/upload-artifact@v3 + with: + name: thesis-pdf + path: thesis/out/thesis.pdf + + - name: Upload Proposal PDF uses: actions/upload-artifact@v3 with: name: proposal-pdf