mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-05-05 09:46:30 +00:00
Escape backslashes before injecting combo stream tags so tagged SSE payloads remain valid JSON, and call the provider models handler directly during sync to avoid internal fetch SSRF warnings. Also restore crypto UUID generation for Gemini request translation, tighten dashboard error sanitization, and update tests to use stricter URL matching and UUID-based fixture keys.
43 lines
1.3 KiB
YAML
43 lines
1.3 KiB
YAML
name: Deploy to VPS
|
|
|
|
on:
|
|
workflow_run:
|
|
workflows: ["Publish to Docker Hub"]
|
|
types: [completed]
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
deploy:
|
|
if: >-
|
|
(github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success')
|
|
&& vars.DEPLOY_ENABLED == 'true'
|
|
name: Deploy OmniRoute to VPS
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Deploy via SSH
|
|
uses: appleboy/ssh-action@v1
|
|
continue-on-error: true
|
|
with:
|
|
host: ${{ secrets.VPS_HOST }}
|
|
username: ${{ secrets.VPS_USER }}
|
|
key: ${{ secrets.VPS_SSH_KEY }}
|
|
port: 22
|
|
timeout: 30s
|
|
command_timeout: 5m
|
|
script: |
|
|
echo "=== Updating OmniRoute ==="
|
|
npm install -g omniroute@latest 2>&1
|
|
INSTALLED_VERSION=$(omniroute --version 2>/dev/null || echo "unknown")
|
|
echo "Installed version: $INSTALLED_VERSION"
|
|
|
|
echo "=== Restarting PM2 ==="
|
|
pm2 restart omniroute || pm2 start omniroute --name omniroute -- --port 20128
|
|
pm2 save
|
|
|
|
echo "=== Health Check ==="
|
|
sleep 3
|
|
curl -sf http://localhost:20128/api/settings > /dev/null && echo "✅ OmniRoute is healthy" || echo "❌ Health check failed"
|
|
echo "=== Deploy complete ==="
|