Deploy ASR Pipeline
Workflow: .github/workflows/deploy-asr.yml
Тригер
- Push в
mainс промени вserver/** workflow_dispatchза ръчен деплой
Runner
Изпълнява се на self-hosted runner с label [dgx-spark] — директно на DGX Spark машината (10.42.9.37).
Стъпки
- Checkout —
actions/checkout@v4 - GPU проверка —
nvidia-smi --query-gpu=name,memory.total - Pull images —
docker compose pull proxy node-exporter dcgm-exporter promtail - Build & restart —
docker compose up -d --build --force-recreate --remove-orphans - Health check — до 30 опита с 5-секунден интервал на
http://localhost:8765/health - Show containers —
docker compose ps(винаги, дори при грешка)
Environment variables
SERVER_API_KEY: ${{ secrets.ASR_SERVER_API_KEY }}
CLOUDFLARE_TUNNEL_TOKEN: ${{ secrets.CLOUDFLARE_TUNNEL_TOKEN }}
HF_TOKEN: ${{ secrets.HF_TOKEN }}
POSTPROCESS_ENABLED: ${{ vars.POSTPROCESS_ENABLED || 'true' }}
POSTPROCESS_MODEL: ${{ vars.POSTPROCESS_MODEL || 'google/gemma-3-12b-it' }}
AZURE_STORAGE_CONNECTION_STRING: ${{ secrets.AZURE_STORAGE_CONNECTION_STRING }}
LOG_ANALYTICS_DCE_ENDPOINT: ${{ secrets.LOG_ANALYTICS_DCE_ENDPOINT }}
LOG_ANALYTICS_DCR_RULE_ID: ${{ secrets.LOG_ANALYTICS_DCR_RULE_ID }}
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
При грешка
Ако health check-ът не мине:
- Workflow-ът показва последните 50 реда от ASR логовете
- Проверете
docker compose logs asrна DGX Spark - Най-честа причина: GPU паметта е заета от предишен процес