website/.forgejo/workflows/deploy.yml
kleines Filmröllchen 04f2fb9eb0
Some checks failed
/ Build LaTeX documents (push) Has been cancelled
/ Build and deploy website (push) Has been cancelled
use latex container
2025-01-27 18:33:14 +01:00

83 lines
2.8 KiB
YAML

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-latex
defaults:
run:
shell: ash -eo pipefail {0}
steps:
- name: Install dependencies
run: apk add --no-cache nodejs git openssh
- 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: Move PDFs to output directory
working-directory: satzung
run: |
mv build/*.pdf output
mv output/Mitgliedsantrag_Lastschriftmandat_klein.pdf output/Mitgliedsantrag.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 }}