43 lines
1.2 KiB
YAML
43 lines
1.2 KiB
YAML
name: Update Status Page
|
|
|
|
on:
|
|
workflow_dispatch: # manual trigger only — status updates run via Hetzner cron + SCP
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
update:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.12"
|
|
|
|
- name: Run status checks
|
|
run: python3 scripts/check_status.py
|
|
|
|
- name: Commit updated status.json
|
|
run: |
|
|
git config user.name "github-actions[bot]"
|
|
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
git add public/status.json
|
|
git diff --cached --quiet && echo "No changes" && exit 0
|
|
git commit -m "chore: status update $(date -u '+%Y-%m-%d %H:%M UTC')"
|
|
git push
|
|
|
|
- name: Deploy to Hostinger via FTP
|
|
uses: SamKirkland/FTP-Deploy-Action@v4.3.5
|
|
with:
|
|
server: ${{ secrets.FTP_SERVER }}
|
|
username: ${{ secrets.FTP_USERNAME }}
|
|
password: ${{ secrets.FTP_PASSWORD }}
|
|
local-dir: ./public/
|
|
server-dir: /public_html/
|
|
exclude: |
|
|
**/.git*
|
|
**/.git*/**
|