# .github/workflows/voice-tests.yml # Runs the CallQA suite after each deploy to staging, and every night. # The job fails when the suite score is under 80 or a call errors or is blocked. # # Setup: # 1. Copy examples/ci/github-action/ to .github/actions/callqa/ and # examples/cli/callqa to .github/actions/callqa/callqa # 2. Add the repository secret CALLQA_API_KEY (scopes: read, run) # 3. Add the repository variable CALLQA_SCENARIO_ID name: Voice tests on: workflow_dispatch: schedule: - cron: "0 6 * * *" deployment_status: jobs: callqa: if: github.event_name != 'deployment_status' || github.event.deployment_status.state == 'success' runs-on: ubuntu-latest timeout-minutes: 40 steps: - uses: actions/checkout@v4 - id: callqa uses: ./.github/actions/callqa with: api-key: ${{ secrets.CALLQA_API_KEY }} scenario-id: ${{ vars.CALLQA_SCENARIO_ID }} threshold: "80" version: ${{ github.sha }} git-sha: ${{ github.sha }} tags: "ci,${{ github.ref_name }}" - if: always() run: echo "CallQA report ${{ steps.callqa.outputs.run-url }} (score ${{ steps.callqa.outputs.score }})"