index-website-static/.forgejo/workflows/deploy.yml

37 lines
1.3 KiB
YAML
Raw Normal View History

name: Deploy
on:
push:
branches:
- main
jobs:
deploy:
name: Deploy to pre-production
runs-on: docker
steps:
- name: Checkout code
run: |
git clone --depth 1 --branch main https://forge.studio-variable.com/${{ github.repository }}.git .
ls -la
- name: Deploy via FTP
env:
USERNAME: ${{ secrets.USERNAME }}
PASSWORD: ${{ secrets.PASSWORD }}
PRODUCTION_HOST: ${{ secrets.PRODUCTION_HOST }}
run: |
apt-get update -qq && apt-get install -y -qq lftp
cat > /tmp/lftp-script.txt <<SCRIPT
set ftp:ssl-allow no
open -u $USERNAME,$PASSWORD $PRODUCTION_HOST
2025-12-18 18:24:53 +01:00
# Mirror everything except hidden files/folders and assets/css directory
2025-12-18 18:33:57 +01:00
mirror --reverse --delete --verbose --ignore-time --parallel=10 --exclude-glob '.git/' --exclude-glob '.forgejo/' --exclude-glob '.gitignore' --exclude-glob '.DS_Store' --exclude-glob 'assets/css/' . .
# Create assets/css directory and sync only style.css and style.css.map
mkdir -p assets/css
put assets/css/style.css -o assets/css/style.css
put assets/css/style.css.map -o assets/css/style.css.map
quit
SCRIPT
lftp -f /tmp/lftp-script.txt