From faa9089e7a0c856052aa2c1f6b1efa98ca0a49ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?kleines=20Filmr=C3=B6llchen?= Date: Sun, 15 Dec 2024 01:15:50 +0100 Subject: [PATCH] latex files CI --- .forgejo/workflows/deploy.yml | 55 +++++++++++++++++++++++++++++++---- .forgejo/workflows/latex.sh | 2 ++ 2 files changed, 51 insertions(+), 6 deletions(-) create mode 100644 .forgejo/workflows/latex.sh diff --git a/.forgejo/workflows/deploy.yml b/.forgejo/workflows/deploy.yml index 870f3a7..147c72e 100644 --- a/.forgejo/workflows/deploy.yml +++ b/.forgejo/workflows/deploy.yml @@ -4,20 +4,63 @@ on: - main jobs: - build-website: - name: Build and deploy website + # TODO: belongs in the other repo + build-latex: + name: Build LaTeX documents runs-on: alpine:edge steps: - - name: Checkout repository - uses: actions/checkout@v4 - name: Install dependencies - run: apk add curl nodejs git zola openssh minify + run: apk add nodejs git openssh texlive texlive-xetex texmf-dist-latexrecommended texmf-dist-latexextra texmf-dist-langgerman + - name: Checkout LaTeX repository + uses: actions/checkout@v4 + with: + # todo: repo path + repository: https://git.p-schwarz.de/ctbk/ctbk-satzung + - name: Clone main repo for scripts + run: git clone ${{ github.repository }} website + - run: mkdir build output + + - name: Build Satzung + run: website/.forgejo/workflows/latex.sh Satzung.tex build + - name: Build Geschäftsordnung + run: website/.forgejo/workflows/latex.sh Geschaeftsordnung.tex build + - name: Build Gebührenordnung + run: website/.forgejo/workflows/latex.sh Gebuehrenordnung.tex build + - name: Build Mitgliedsantrag + working-directory: Mitgliedsantrag-main + run: ../website/.forgejo/workflows/latex.sh Mitgliedsantrag_Lastschriftmandat_klein.tex ../build + - name: Build Mitgliedsantrag Fördermitglied + working-directory: Mitgliedsantrag-main + run: ../website/.forgejo/workflows/latex.sh Mitgliedsantrag_Foerder_Lastschriftmandat.tex ../build + + - name: Move PDFs to output directory + run: | + mv build/*.pdf output + mv output/Mitgliedsantrag_Lastschriftmandat_klein.pdf output/Mitgliedsantrag.pdf + mv output/Mitgliedsantrag_Foerder_Lastschriftmandat.pdf output/Mitgliedsantrag_Foerder.pdf + - name: Output SSH key to file run: echo ${{ secrets.SSH_KEY }} > ssh_id + - name: Transfer built files + run: scp -i ssh_id -o StrictHostKeyChecking=accept-new -r ./output/ ${{ vars.SERVER_URL }}/docs + + build-website: + name: Build and deploy website + # needs: + # - build-latex + runs-on: alpine:edge + steps: + - name: Install dependencies + run: apk add curl nodejs git zola openssh minify texlive + - name: Checkout repository + uses: actions/checkout@v4 + - name: Build web run: zola build - name: Minify files run: minify --all -r -o . public - # TODO: this is where the LaTeX build would go... + + - name: Output SSH key to file + run: echo ${{ secrets.SSH_KEY }} > ssh_id - name: Transfer built files run: scp -i ssh_id -o StrictHostKeyChecking=accept-new -r ./public/ ${{ vars.SERVER_URL }} diff --git a/.forgejo/workflows/latex.sh b/.forgejo/workflows/latex.sh new file mode 100644 index 0000000..b84cf09 --- /dev/null +++ b/.forgejo/workflows/latex.sh @@ -0,0 +1,2 @@ +#!/bin/sh +latexmk -pdfxe -xelatex -synctex=1 -interaction=nonstopmode -file-line-error -outdir=$2 $1