Преминете към основното съдържание

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).

Стъпки

  1. Checkoutactions/checkout@v4
  2. GPU проверкаnvidia-smi --query-gpu=name,memory.total
  3. Pull imagesdocker compose pull proxy node-exporter dcgm-exporter promtail
  4. Build & restartdocker compose up -d --build --force-recreate --remove-orphans
  5. Health check — до 30 опита с 5-секунден интервал на http://localhost:8765/health
  6. Show containersdocker 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-ът не мине:

  1. Workflow-ът показва последните 50 реда от ASR логовете
  2. Проверете docker compose logs asr на DGX Spark
  3. Най-честа причина: GPU паметта е заета от предишен процес