Files
Tesi/.github/workflows/main.yml
Mirko Milovanovic 4cc9feae37
All checks were successful
Build LaTeX Document / build_latex (push) Successful in 1m54s
feat: update MiKTeX package database and remove latest release before new release
2025-02-10 16:39:52 +01:00

55 lines
2.0 KiB
YAML

name: Build LaTeX Document
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
env:
TEX_NAME: Tesi.tex
PDF_NAME: Tesi.pdf
jobs:
build_latex:
runs-on: ubuntu-latest
steps:
- name: Set up Git repository
uses: actions/checkout@v4.2.2
- name: Install MiKTeX
run: |
curl -fsSL https://miktex.org/download/key | tee /usr/share/keyrings/miktex-keyring.asc > /dev/null
echo "deb [signed-by=/usr/share/keyrings/miktex-keyring.asc] https://miktex.org/download/ubuntu jammy universe" | sudo tee /etc/apt/sources.list.d/miktex.list
apt-get update
apt-get install miktex -y
miktexsetup --shared=yes finish
- name: Update MiKTeX package database
run: miktex packages update-package-database && miktex packages update
- name: Enable automatic package installation
run: initexmf --set-config-value=[MPM]AutoInstall=yes
- name: Build LaTeX document
run: |
pdflatex -interaction=nonstopmode -halt-on-error ${{ env.TEX_NAME }} || (cat /root/.miktex/texmfs/data/miktex/log/pdflatex.log && exit 1)
- name: Check for PDF artifact
run: file ${{ env.PDF_NAME }} || grep -q ' PDF '
- name: Delete release and tag by tag name`:` latest
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
run: |
curl -H "Authorization: token ${{ secrets.RELEASE_TOKEN }}" -X DELETE https://gitea.kobim.cloud/api/v1/repos/${{ github.repository }}/releases/tags/latest
curl -H "Authorization: token ${{ secrets.RELEASE_TOKEN }}" -X DELETE https://gitea.kobim.cloud/api/v1/repos/${{ github.repository }}/tags/latest
- name: Release PDF artifact
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: softprops/action-gh-release@v2
with:
files: ${{ env.PDF_NAME }}
tag_name: latest
body: |
PDF document built from latest LaTeX source.
token: ${{ secrets.RELEASE_TOKEN }}