website/.forgejo/workflows/deploy.yml
kleines Filmröllchen b6bbc6ff0d
All checks were successful
/ Build and deploy website (push) Successful in 4m20s
Retain docs subfolder in CD
also document CI/CD
2025-10-09 15:37:33 +02:00

30 lines
918 B
YAML

on:
push:
branches:
- main
env:
SERVER_URL: ${{ vars.SERVER_URL }}
FTP_USER: ${{ vars.FTP_USER }}
SITE_URL: ${{ vars.SITE_URL }}
jobs:
build-website:
name: Build and deploy website
runs-on: alpine
defaults:
run:
shell: ash -eo pipefail {0}
steps:
- name: Install dependencies
run: apk add --no-cache curl nodejs git zola openssh minify lftp
- name: Checkout repository
uses: actions/checkout@v4
- name: Build web
run: zola build --base-url ${{ env.SITE_URL }}
- name: Minify files
run: minify --all -r -o . public
- name: Transfer built files
run: lftp -e 'mirror --delete --no-perms httpdocs/docs ./public/docs; mirror --reverse --delete --no-perms --overwrite ./public httpdocs; exit' ftp://${{ env.FTP_USER }}:${{ secrets.FTP_PASSWORD }}@${{ env.SERVER_URL }}/