diff --git a/.forgejo/workflows/deploy.yml b/.forgejo/workflows/deploy.yml index 147c72e..c5469cf 100644 --- a/.forgejo/workflows/deploy.yml +++ b/.forgejo/workflows/deploy.yml @@ -3,55 +3,77 @@ on: branches: - main +env: + SERVER_URL: ${{ vars.SERVER_URL }} + jobs: # TODO: belongs in the other repo build-latex: name: Build LaTeX documents - runs-on: alpine:edge + runs-on: alpine + # for some reason this is required to make Forgejo Actions realize we don’t have bash in alpine + container: + image: alpine:edge + defaults: + run: + shell: ash -eo pipefail {0} steps: - name: Install dependencies - run: apk add nodejs git openssh texlive texlive-xetex texmf-dist-latexrecommended texmf-dist-latexextra texmf-dist-langgerman + run: apk add --no-cache 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 + 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 ${{ github.repository }} website - - run: mkdir build output + 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 - run: website/.forgejo/workflows/latex.sh Satzung.tex build + working-directory: satzung + run: ../website/.forgejo/workflows/latex.sh Satzung.tex build - name: Build Geschäftsordnung - run: website/.forgejo/workflows/latex.sh Geschaeftsordnung.tex build + working-directory: satzung + run: ../website/.forgejo/workflows/latex.sh Geschaeftsordnung.tex build - name: Build Gebührenordnung - run: website/.forgejo/workflows/latex.sh Gebuehrenordnung.tex build + working-directory: satzung + 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 + working-directory: satzung/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 + 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 - run: echo ${{ secrets.SSH_KEY }} > ssh_id + working-directory: satzung + 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 ./output/ ${{ vars.SERVER_URL }}/docs + 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:edge + runs-on: alpine + container: + image: alpine:edge + defaults: + run: + shell: ash -eo pipefail {0} steps: - name: Install dependencies - run: apk add curl nodejs git zola openssh minify texlive + run: apk add --no-cache curl nodejs git zola openssh minify - name: Checkout repository uses: actions/checkout@v4 @@ -61,6 +83,8 @@ jobs: run: minify --all -r -o . public - name: Output SSH key to file - run: echo ${{ secrets.SSH_KEY }} > ssh_id + 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/ ${{ vars.SERVER_URL }} + run: scp -i ssh_id -o StrictHostKeyChecking=accept-new -r ./public/. ${{ env.SERVER_URL }} diff --git a/.forgejo/workflows/latex.sh b/.forgejo/workflows/latex.sh old mode 100644 new mode 100755