fix(#488): log voice adapter and ffmpeg disconnect failures at WARNING #1079
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Always-run workflow with internal path gating + aggregator. See #364. | |
| # | |
| # Why: branch protection on `main` requires specific checks to pass on | |
| # every PR. A top-level `paths:` filter would make this workflow silently | |
| # absent on unrelated PRs, leaving any required check stuck pending. So | |
| # the workflow always runs; `changes` decides whether jobs do real work | |
| # or skip; `javascript-complete` aggregates and reports one final status | |
| # that branch protection requires. | |
| name: javascript-ci | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| workflow_dispatch: | |
| env: | |
| CI: true | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| changes: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| relevant: ${{ steps.detect.outputs.relevant }} | |
| steps: | |
| - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 | |
| - uses: ./.github/actions/detect-changes | |
| id: detect | |
| with: | |
| filters: | | |
| relevant: | |
| - 'javascript/**' | |
| - '.github/workflows/javascript-ci.yml' | |
| ci-checks: | |
| needs: changes | |
| if: needs.changes.outputs.relevant == 'true' && github.event.pull_request.draft == false | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node-version: [24.x] | |
| steps: | |
| - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 | |
| - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5 | |
| with: | |
| version: 10.22.0 | |
| - name: Use Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| cache-dependency-path: "javascript/pnpm-lock.yaml" | |
| node-version: ${{ matrix.node-version }} | |
| cache: "pnpm" | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| working-directory: javascript | |
| # Covers typecheck | |
| - name: Build | |
| run: pnpm build:all | |
| working-directory: javascript | |
| - name: Lint | |
| run: pnpm lint:all | |
| working-directory: javascript | |
| - name: Type check | |
| run: pnpm typecheck:all | |
| working-directory: javascript | |
| - name: Tests | |
| run: pnpm run test:ci | |
| working-directory: javascript | |
| # Examples — skipped for Dependabot PRs since they don't have access to repo secrets | |
| - name: Test (Examples) | |
| if: github.actor != 'dependabot[bot]' | |
| run: pnpm -F vitest-examples test | |
| env: | |
| LANGWATCH_API_KEY: ${{ secrets.LANGWATCH_API_KEY }} | |
| OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} | |
| working-directory: javascript | |
| # One required check for the whole workflow. Reports success if every | |
| # upstream job either passed or was legitimately skipped (paths didn't | |
| # match). Reports failure if any upstream job failed. | |
| javascript-complete: | |
| needs: [changes, ci-checks] | |
| if: always() | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Verify all needs succeeded or were legitimately skipped | |
| run: | | |
| echo '${{ toJSON(needs) }}' | jq -e 'to_entries | all(.value.result == "success" or .value.result == "skipped")' |