auto-commit-service/.forgejo/workflows/deploy.yml
2026-04-17 21:20:13 -07:00

48 lines
1.4 KiB
YAML

# =============================================================================
# Auto-Deploy Workflow
# =============================================================================
# Deploys auto-commit-service to the local host after successful publish.
# Triggers on push to main/master and updates the running systemd service.
# =============================================================================
name: Deploy to Host
on:
push:
branches: [main, master]
paths:
- 'pyproject.toml'
- 'src/**'
workflow_dispatch:
env:
DEPLOY_HOST: localhost
SERVICE_PATH: /var/home/lilith/Code/@applications/@ml/auto-commit-service
jobs:
deploy:
name: Deploy to Host
runs-on: ubuntu-latest
needs: []
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Deploy via SSH
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.DEPLOY_HOST }}
username: ${{ secrets.DEPLOY_USER }}
key: ${{ secrets.DEPLOY_SSH_KEY }}
port: ${{ secrets.DEPLOY_PORT || 22 }}
script: |
set -e
echo "==> Pulling latest changes..."
cd ${{ env.SERVICE_PATH }}
git pull origin main
echo "==> Running upgrade script..."
./upgrade
echo "==> Deployment complete!"
systemctl --user status commits.service --no-pager || true