49 lines
1.4 KiB
YAML
49 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
|