Files
kb-anhonesthost/.gitea/workflows/deploy.yml
Josh ebbb75d7f5
All checks were successful
Build and deploy / deploy (push) Successful in 38s
ci: bump runner Node to 22 (Astro 6 requires >=22.12)
2026-05-17 18:21:36 -07:00

64 lines
1.6 KiB
YAML

name: Build and deploy
on:
push:
branches: [main]
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- name: Install dependencies
run: npm ci
- name: Type and link check
run: npm run check
- name: Build
run: npm run build
- name: Install lftp
run: |
sudo apt-get update -qq
sudo apt-get install -y --no-install-recommends lftp
- name: SFTP mirror via lftp
env:
SFTP_HOST: ${{ secrets.SFTP_HOST }}
SFTP_PORT: ${{ secrets.SFTP_PORT }}
SFTP_USER: ${{ secrets.SFTP_USER }}
SFTP_PASS: ${{ secrets.SFTP_PASS }}
SFTP_PATH: ${{ secrets.SFTP_PATH }}
run: |
lftp -e "
set sftp:auto-confirm yes;
set ssl:verify-certificate no;
open -u '$SFTP_USER,$SFTP_PASS' sftp://$SFTP_HOST:$SFTP_PORT;
mirror --reverse --delete --parallel=4 --verbose \
--exclude-glob '.well-known/' \
./dist/ $SFTP_PATH;
bye
"
- name: Summary
if: always()
run: |
{
echo "### Deployed"
echo ""
echo "- Commit: ${{ github.sha }}"
echo "- Page count: $(find dist -name '*.html' 2>/dev/null | wc -l)"
echo "- Build size: $(du -sh dist 2>/dev/null | cut -f1)"
} >> "$GITHUB_STEP_SUMMARY"