website/.forgejo/workflows/deploy.yml
2024-12-15 12:49:59 +01:00

90 lines
3.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

on:
push:
branches:
- main
env:
SERVER_URL: ${{ vars.SERVER_URL }}
jobs:
# TODO: belongs in the other repo
build-latex:
name: Build LaTeX documents
runs-on: alpine
# for some reason this is required to make Forgejo Actions realize we dont have bash in alpine
container:
image: alpine:edge
defaults:
run:
shell: ash -eo pipefail {0}
steps:
- name: Install dependencies
run: apk add --no-cache nodejs git openssh texlive texlive-xetex texmf-dist-latexrecommended texmf-dist-latexextra texmf-dist-langgerman
- name: Checkout LaTeX repository
run: git clone https://git.p-schwarz.de/ctbk/ctbk-satzung.git satzung
# uses: actions/checkout@v4
- name: Clone main repo for scripts
run: git clone https://github.com/${{ github.repository }} website
- run: mkdir satzung/build satzung/output
- name: Make LaTeX script executable
run: chmod +x website/.forgejo/workflows/latex.sh
- name: Build Satzung
working-directory: satzung
run: ../website/.forgejo/workflows/latex.sh Satzung.tex build
- name: Build Geschäftsordnung
working-directory: satzung
run: ../website/.forgejo/workflows/latex.sh Geschaeftsordnung.tex build
- name: Build Gebührenordnung
working-directory: satzung
run: ../website/.forgejo/workflows/latex.sh Gebuehrenordnung.tex build
- name: Build Mitgliedsantrag
working-directory: satzung/Mitgliedsantrag-main
run: ../../website/.forgejo/workflows/latex.sh Mitgliedsantrag_Lastschriftmandat_klein.tex ../build
- name: Build Mitgliedsantrag Fördermitglied
working-directory: satzung/Mitgliedsantrag-main
run: ../../website/.forgejo/workflows/latex.sh Mitgliedsantrag_Foerder_Lastschriftmandat.tex ../build
- name: Move PDFs to output directory
working-directory: satzung
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
working-directory: satzung
run: |
echo "${{ secrets.SSH_KEY }}" > ssh_id
chmod 0600 ssh_id
- name: Transfer built files
working-directory: satzung
run: scp -i ssh_id -o StrictHostKeyChecking=accept-new -r ./output/. ${{ env.SERVER_URL }}/docs
build-website:
name: Build and deploy website
# needs:
# - build-latex
runs-on: alpine
container:
image: alpine:edge
defaults:
run:
shell: ash -eo pipefail {0}
steps:
- name: Install dependencies
run: apk add --no-cache curl nodejs git zola openssh minify
- name: Checkout repository
uses: actions/checkout@v4
- name: Build web
run: zola build
- name: Minify files
run: minify --all -r -o . public
- name: Output SSH key to file
run: |
echo "${{ secrets.SSH_KEY }}" > ssh_id
chmod 0600 ssh_id
- name: Transfer built files
run: scp -i ssh_id -o StrictHostKeyChecking=accept-new -r ./public/. ${{ env.SERVER_URL }}