[npm] Bump next from 16.1.5 to 16.1.6 in /tts/tts-next-js-agora #696
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
| name: test-examples | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| push: | |
| branches: [main, master] | |
| workflow_dispatch: | |
| schedule: | |
| # Run tests for all packages that have tests daily | |
| - cron: '0 12 * * *' | |
| permissions: | |
| contents: read | |
| jobs: | |
| detect-changes: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| evi_py_quickstart: ${{ steps.filter.outputs.evi_py_quickstart }} | |
| evi_py_chat_history: ${{ steps.filter.outputs.evi_py_chat_history }} | |
| evi_py_clm_sse: ${{ steps.filter.outputs.evi_py_clm_sse }} | |
| evi_py_clm_wss: ${{ steps.filter.outputs.evi_py_clm_wss }} | |
| evi_py_control_plane: ${{ steps.filter.outputs.evi_py_control_plane }} | |
| evi_py_phone_calling: ${{ steps.filter.outputs.evi_py_phone_calling }} | |
| evi_py_webhooks: ${{ steps.filter.outputs.evi_py_webhooks }} | |
| evi_py_wss_clm_endpoint: ${{ steps.filter.outputs.evi_py_wss_clm_endpoint }} | |
| tts_py_livekit: ${{ steps.filter.outputs.tts_py_livekit }} | |
| tts_py_quickstart: ${{ steps.filter.outputs.tts_py_quickstart }} | |
| evi_app_router: ${{ steps.filter.outputs.evi_app_router }} | |
| evi_function_calling: ${{ steps.filter.outputs.evi_function_calling }} | |
| evi_pages_router: ${{ steps.filter.outputs.evi_pages_router }} | |
| evi_react_native: ${{ steps.filter.outputs.evi_react_native }} | |
| evi_ts_chat_history: ${{ steps.filter.outputs.evi_ts_chat_history }} | |
| evi_ts_function_calling: ${{ steps.filter.outputs.evi_ts_function_calling }} | |
| evi_ts_quickstart: ${{ steps.filter.outputs.evi_ts_quickstart }} | |
| evi_ts_webhooks: ${{ steps.filter.outputs.evi_ts_webhooks }} | |
| evi_vue_widget: ${{ steps.filter.outputs.evi_vue_widget }} | |
| tts_next_agora: ${{ steps.filter.outputs.tts_next_agora }} | |
| tts_next_vercel_ai_sdk: ${{ steps.filter.outputs.tts_next_vercel_ai_sdk }} | |
| tts_ts_lipsync: ${{ steps.filter.outputs.tts_ts_lipsync }} | |
| tts_ts_quickstart: ${{ steps.filter.outputs.tts_ts_quickstart }} | |
| evi_dotnet_quickstart: ${{ steps.filter.outputs.evi_dotnet_quickstart }} | |
| tts_dotnet_quickstart: ${{ steps.filter.outputs.tts_dotnet_quickstart }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Detect changed folders | |
| id: filter | |
| uses: dorny/paths-filter@v3 | |
| with: | |
| filters: | | |
| evi_py_quickstart: | |
| - 'evi/evi-python-quickstart/**' | |
| evi_py_chat_history: | |
| - 'evi/evi-python-chat-history/**' | |
| evi_py_clm_sse: | |
| - 'evi/evi-python-clm-sse/**' | |
| evi_py_clm_wss: | |
| - 'evi/evi-python-clm-wss/**' | |
| evi_py_control_plane: | |
| - 'evi/evi-python-control-plane/**' | |
| evi_py_phone_calling: | |
| - 'evi/evi-python-phone-calling-proxy-server/**' | |
| evi_py_webhooks: | |
| - 'evi/evi-python-webhooks/**' | |
| evi_py_wss_clm_endpoint: | |
| - 'evi/evi-python-wss-clm-endpoint/**' | |
| tts_py_livekit: | |
| - 'tts/tts-python-livekit/**' | |
| tts_py_quickstart: | |
| - 'tts/tts-python-quickstart/**' | |
| evi_app_router: | |
| - 'evi/evi-next-js-app-router-quickstart/**' | |
| evi_function_calling: | |
| - 'evi/evi-next-js-function-calling/**' | |
| evi_pages_router: | |
| - 'evi/evi-next-js-pages-router-quickstart/**' | |
| evi_react_native: | |
| - 'evi/evi-react-native/**' | |
| evi_ts_chat_history: | |
| - 'evi/evi-typescript-chat-history/**' | |
| evi_ts_function_calling: | |
| - 'evi/evi-typescript-function-calling/**' | |
| evi_ts_quickstart: | |
| - 'evi/evi-typescript-quickstart/**' | |
| evi_ts_webhooks: | |
| - 'evi/evi-typescript-webhooks/**' | |
| evi_vue_widget: | |
| - 'evi/evi-vue-widget/**' | |
| tts_next_agora: | |
| - 'tts/tts-next-js-agora/**' | |
| tts_next_vercel_ai_sdk: | |
| - 'tts/tts-next-js-vercel-ai-sdk/**' | |
| tts_ts_lipsync: | |
| - 'tts/tts-typescript-lipsync/**' | |
| tts_ts_quickstart: | |
| - 'tts/tts-typescript-quickstart/**' | |
| evi_dotnet_quickstart: | |
| - 'evi/evi-dotnet-quickstart/**' | |
| tts_dotnet_quickstart: | |
| - 'tts/tts-dotnet-quickstart/**' | |
| test-evi-typescript-quickstart: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || github.event_name == 'schedule' || needs.detect-changes.outputs.evi_ts_quickstart == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 20 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10.20.0 | |
| - name: Install deps (EVI quickstart) | |
| working-directory: evi/evi-typescript-quickstart | |
| run: pnpm install --frozen-lockfile | |
| - name: Build | |
| working-directory: evi/evi-typescript-quickstart | |
| run: pnpm run build | |
| - name: Run tests in evi-typescript-quickstart | |
| working-directory: evi/evi-typescript-quickstart | |
| env: | |
| TEST_HUME_API_KEY: ${{ secrets.TEST_HUME_API_KEY }} | |
| TEST_HUME_SECRET_KEY: ${{ secrets.TEST_HUME_SECRET_KEY }} | |
| run: pnpm run test | |
| test-tts-typescript-quickstart: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || github.event_name == 'schedule' || needs.detect-changes.outputs.tts_ts_quickstart == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 20 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10.20.0 | |
| - name: Install deps (TTS quickstart) | |
| working-directory: tts/tts-typescript-quickstart | |
| run: pnpm install --frozen-lockfile | |
| - name: Build | |
| working-directory: tts/tts-typescript-quickstart | |
| run: pnpm run build | |
| - name: Run tests in tts-typescript-quickstart | |
| working-directory: tts/tts-typescript-quickstart | |
| env: | |
| TEST_HUME_API_KEY: ${{ secrets.TEST_HUME_API_KEY }} | |
| TEST_HUME_SECRET_KEY: ${{ secrets.TEST_HUME_SECRET_KEY }} | |
| run: pnpm run test | |
| test-evi-python-quickstart: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || github.event_name == 'schedule' || needs.detect-changes.outputs.evi_py_quickstart == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Set up python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.11' | |
| - name: Bootstrap poetry | |
| run: | | |
| curl -sSL https://install.python-poetry.org | python - -y --version 1.8.5 | |
| echo "$HOME/.local/bin" >> $GITHUB_PATH | |
| - name: Install system dependencies for audio | |
| run: | | |
| sudo apt-get --yes update | |
| sudo apt-get --yes install libportaudio2 | |
| - name: Install uv | |
| run: | | |
| curl -LsSf https://astral.sh/uv/install.sh | sh | |
| echo "$HOME/.cargo/bin" >> $GITHUB_PATH | |
| shell: bash | |
| - name: Run tests in evi-python-quickstart | |
| working-directory: evi/evi-python-quickstart | |
| run: uv run pytest test_quickstart.py -v | |
| env: | |
| TEST_HUME_API_KEY: ${{ secrets.TEST_HUME_API_KEY }} | |
| test-tts-python-quickstart: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || github.event_name == 'schedule' || needs.detect-changes.outputs.tts_py_quickstart == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Set up python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.11' | |
| - name: Bootstrap poetry | |
| run: | | |
| curl -sSL https://install.python-poetry.org | python - -y --version 1.8.5 | |
| echo "$HOME/.local/bin" >> $GITHUB_PATH | |
| - name: Install system dependencies for audio | |
| run: | | |
| sudo apt-get --yes update | |
| sudo apt-get --yes install libportaudio2 | |
| - name: Install uv | |
| run: | | |
| curl -LsSf https://astral.sh/uv/install.sh | sh | |
| echo "$HOME/.cargo/bin" >> $GITHUB_PATH | |
| shell: bash | |
| - name: Run tests in tts-python-quickstart | |
| working-directory: tts/tts-python-quickstart | |
| run: uv run pytest test_app.py -v | |
| env: | |
| TEST_HUME_API_KEY: ${{ secrets.TEST_HUME_API_KEY }} | |
| evi-python-chat-history: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || needs.detect-changes.outputs.evi_py_chat_history == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.11' | |
| - name: Install Poetry | |
| run: | | |
| curl -sSL https://install.python-poetry.org | python - -y --version 1.8.5 | |
| echo "$HOME/.local/bin" >> $GITHUB_PATH | |
| - name: Install dependencies | |
| working-directory: evi/evi-python-chat-history | |
| run: poetry install --no-interaction --no-root | |
| - name: Verify | |
| working-directory: evi/evi-python-chat-history | |
| run: poetry run python -c "print('OK')" | |
| evi-python-clm-sse: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || needs.detect-changes.outputs.evi_py_clm_sse == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.11' | |
| - name: Install uv | |
| run: | | |
| curl -LsSf https://astral.sh/uv/install.sh | sh | |
| echo "$HOME/.cargo/bin" >> $GITHUB_PATH | |
| shell: bash | |
| - name: Install dependencies | |
| working-directory: evi/evi-python-clm-sse | |
| run: uv sync | |
| - name: Verify | |
| working-directory: evi/evi-python-clm-sse | |
| run: uv run python -c "print('OK')" | |
| evi-python-clm-wss: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || needs.detect-changes.outputs.evi_py_clm_wss == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.11' | |
| - name: Install uv | |
| run: | | |
| curl -LsSf https://astral.sh/uv/install.sh | sh | |
| echo "$HOME/.cargo/bin" >> $GITHUB_PATH | |
| shell: bash | |
| - name: Install dependencies | |
| working-directory: evi/evi-python-clm-wss | |
| run: uv sync | |
| - name: Verify | |
| working-directory: evi/evi-python-clm-wss | |
| run: uv run python -c "print('OK')" | |
| evi-python-control-plane: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || needs.detect-changes.outputs.evi_py_control_plane == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.11' | |
| - name: Install system dependencies for audio | |
| run: | | |
| sudo apt-get --yes update | |
| sudo apt-get --yes install libportaudio2 | |
| - name: Install uv | |
| run: | | |
| curl -LsSf https://astral.sh/uv/install.sh | sh | |
| echo "$HOME/.cargo/bin" >> $GITHUB_PATH | |
| shell: bash | |
| - name: Install dependencies | |
| working-directory: evi/evi-python-control-plane | |
| run: uv sync | |
| - name: Verify | |
| working-directory: evi/evi-python-control-plane | |
| run: uv run python -c "print('OK')" | |
| evi-python-phone-calling-proxy-server: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || needs.detect-changes.outputs.evi_py_phone_calling == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.11' | |
| - name: Install uv | |
| run: | | |
| curl -LsSf https://astral.sh/uv/install.sh | sh | |
| echo "$HOME/.cargo/bin" >> $GITHUB_PATH | |
| shell: bash | |
| - name: Install dependencies | |
| working-directory: evi/evi-python-phone-calling-proxy-server | |
| run: uv sync | |
| - name: Verify | |
| working-directory: evi/evi-python-phone-calling-proxy-server | |
| run: uv run python -c "print('OK')" | |
| evi-python-webhooks: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || needs.detect-changes.outputs.evi_py_webhooks == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.11' | |
| - name: Install Poetry | |
| run: | | |
| curl -sSL https://install.python-poetry.org | python - -y --version 1.8.5 | |
| echo "$HOME/.local/bin" >> $GITHUB_PATH | |
| - name: Install dependencies | |
| working-directory: evi/evi-python-webhooks | |
| run: poetry install --no-interaction --no-root | |
| - name: Verify | |
| working-directory: evi/evi-python-webhooks | |
| run: poetry run python -c "print('OK')" | |
| evi-python-wss-clm-endpoint: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || needs.detect-changes.outputs.evi_py_wss_clm_endpoint == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.11' | |
| - name: Install Poetry | |
| run: | | |
| curl -sSL https://install.python-poetry.org | python - -y --version 1.8.5 | |
| echo "$HOME/.local/bin" >> $GITHUB_PATH | |
| - name: Install dependencies | |
| working-directory: evi/evi-python-wss-clm-endpoint | |
| run: poetry install --no-interaction --no-root | |
| - name: Verify | |
| working-directory: evi/evi-python-wss-clm-endpoint | |
| run: poetry run python -c "print('OK')" | |
| tts-python-livekit: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || needs.detect-changes.outputs.tts_py_livekit == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.11' | |
| - name: Install system dependencies for audio | |
| run: | | |
| sudo apt-get --yes update | |
| sudo apt-get --yes install libportaudio2 libasound2-dev | |
| - name: Install uv | |
| run: | | |
| curl -LsSf https://astral.sh/uv/install.sh | sh | |
| echo "$HOME/.cargo/bin" >> $GITHUB_PATH | |
| shell: bash | |
| - name: Install dependencies | |
| working-directory: tts/tts-python-livekit | |
| run: uv sync | |
| - name: Verify | |
| working-directory: tts/tts-python-livekit | |
| run: uv run python -c "print('OK')" | |
| evi-dotnet-quickstart: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || github.event_name == 'schedule' || needs.detect-changes.outputs.evi_dotnet_quickstart == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v5 | |
| with: | |
| dotnet-version: '9.0.x' | |
| - name: Restore | |
| working-directory: evi/evi-dotnet-quickstart | |
| run: dotnet restore evi-csharp-quickstart.tests.csproj | |
| - name: Build | |
| working-directory: evi/evi-dotnet-quickstart | |
| run: dotnet build evi-csharp-quickstart.tests.csproj --no-restore -c Release | |
| - name: Run tests | |
| working-directory: evi/evi-dotnet-quickstart | |
| run: dotnet test evi-csharp-quickstart.tests.csproj --no-build -c Release -v normal | |
| tts-dotnet-quickstart: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || github.event_name == 'schedule' || needs.detect-changes.outputs.tts_dotnet_quickstart == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup .NET | |
| uses: actions/setup-dotnet@v5 | |
| with: | |
| dotnet-version: '9.0.x' | |
| - name: Restore | |
| working-directory: tts/tts-dotnet-quickstart | |
| run: dotnet restore tts-csharp-quickstart.tests.csproj | |
| - name: Build | |
| working-directory: tts/tts-dotnet-quickstart | |
| run: dotnet build tts-csharp-quickstart.tests.csproj --no-restore -c Release | |
| - name: Run tests | |
| working-directory: tts/tts-dotnet-quickstart | |
| run: dotnet test tts-csharp-quickstart.tests.csproj --no-build -c Release -v normal | |
| evi-next-js-app-router-quickstart: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || github.event_name == 'schedule' || needs.detect-changes.outputs.evi_app_router == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 20 | |
| cache: 'npm' | |
| cache-dependency-path: evi/evi-next-js-app-router-quickstart/package-lock.json | |
| - name: Install dependencies | |
| working-directory: evi/evi-next-js-app-router-quickstart | |
| run: npm ci | |
| - name: Build | |
| working-directory: evi/evi-next-js-app-router-quickstart | |
| run: npm run build | |
| - name: Install Playwright browsers | |
| working-directory: evi/evi-next-js-app-router-quickstart | |
| run: npx playwright install --with-deps chromium | |
| - name: Run tests | |
| working-directory: evi/evi-next-js-app-router-quickstart | |
| env: | |
| TEST_HUME_API_KEY: ${{ secrets.TEST_HUME_API_KEY }} | |
| TEST_HUME_SECRET_KEY: ${{ secrets.TEST_HUME_SECRET_KEY }} | |
| HUME_API_KEY: ${{ secrets.TEST_HUME_API_KEY }} | |
| HUME_SECRET_KEY: ${{ secrets.TEST_HUME_SECRET_KEY }} | |
| run: npm run test | |
| # Notifies Slack when the daily (cron) test run finishes. Add repo secret SLACK_WEBHOOK_URL (Incoming Webhook URL). | |
| notify-slack-cron: | |
| needs: | |
| - test-evi-typescript-quickstart | |
| - test-tts-typescript-quickstart | |
| - test-evi-python-quickstart | |
| - test-tts-python-quickstart | |
| - evi-dotnet-quickstart | |
| - tts-dotnet-quickstart | |
| - evi-next-js-app-router-quickstart | |
| # always() ensures we run even when one of the test jobs failed, so we can post the result to Slack | |
| if: always() && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch') | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Notify Slack | |
| env: | |
| SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} | |
| EVI_TS: ${{ needs.test-evi-typescript-quickstart.result }} | |
| TTS_TS: ${{ needs.test-tts-typescript-quickstart.result }} | |
| EVI_PY: ${{ needs.test-evi-python-quickstart.result }} | |
| TTS_PY: ${{ needs.test-tts-python-quickstart.result }} | |
| EVI_DOTNET: ${{ needs.evi-dotnet-quickstart.result }} | |
| TTS_DOTNET: ${{ needs.tts-dotnet-quickstart.result }} | |
| EVI_APP: ${{ needs.evi-next-js-app-router-quickstart.result }} | |
| run: | | |
| if [ -z "$SLACK_WEBHOOK_URL" ]; then | |
| echo "::warning::SLACK_WEBHOOK_URL secret is not set. Add it in repo Settings → Secrets and variables → Actions to get Slack notifications." | |
| echo "## Slack notification skipped" >> $GITHUB_STEP_SUMMARY | |
| echo "Add the **SLACK_WEBHOOK_URL** repository secret (Settings → Secrets and variables → Actions) to enable Slack notifications." >> $GITHUB_STEP_SUMMARY | |
| exit 0 | |
| fi | |
| status() { [ "$1" = "success" ] && echo "✅ $1" || echo "❌ $1"; } | |
| text="*Daily tests (cron) finished* | |
| • evi-typescript-quickstart: $(status "$EVI_TS") | |
| • tts-typescript-quickstart: $(status "$TTS_TS") | |
| • evi-python-quickstart: $(status "$EVI_PY") | |
| • tts-python-quickstart: $(status "$TTS_PY") | |
| • evi-dotnet-quickstart: $(status "$EVI_DOTNET") | |
| • tts-dotnet-quickstart: $(status "$TTS_DOTNET") | |
| • evi-next-js-app-router-quickstart: $(status "$EVI_APP") | |
| <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|View run>" | |
| payload=$(jq -n --arg text "$(echo "$text" | sed 's/^[[:space:]]*//')" '{text: $text}') | |
| res=$(curl -sS -w "%{http_code}" -o /tmp/slack_resp -X POST -H "Content-Type: application/json" --data "$payload" "$SLACK_WEBHOOK_URL") || true | |
| if [ "$res" = "200" ]; then | |
| echo "Slack notification sent successfully." | |
| echo "## Slack notification sent" >> $GITHUB_STEP_SUMMARY | |
| else | |
| echo "::warning::Slack webhook returned HTTP $res. Check the webhook URL and channel." | |
| echo "## Slack notification failed (HTTP $res)" >> $GITHUB_STEP_SUMMARY | |
| fi | |
| evi-next-js-function-calling: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || needs.detect-changes.outputs.evi_function_calling == 'true' | |
| runs-on: ubuntu-latest | |
| env: | |
| HUME_API_KEY: ${{ secrets.TEST_HUME_API_KEY }} | |
| HUME_SECRET_KEY: ${{ secrets.TEST_HUME_SECRET_KEY }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 20 | |
| cache: 'npm' | |
| cache-dependency-path: evi/evi-next-js-function-calling/package-lock.json | |
| - name: Install dependencies | |
| working-directory: evi/evi-next-js-function-calling | |
| run: npm ci | |
| - name: Build | |
| working-directory: evi/evi-next-js-function-calling | |
| run: npm run build | |
| evi-next-js-pages-router-quickstart: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || needs.detect-changes.outputs.evi_pages_router == 'true' | |
| runs-on: ubuntu-latest | |
| env: | |
| HUME_API_KEY: ${{ secrets.TEST_HUME_API_KEY }} | |
| HUME_SECRET_KEY: ${{ secrets.TEST_HUME_SECRET_KEY }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 20 | |
| cache: 'npm' | |
| cache-dependency-path: evi/evi-next-js-pages-router-quickstart/package-lock.json | |
| - name: Install dependencies | |
| working-directory: evi/evi-next-js-pages-router-quickstart | |
| run: npm ci | |
| - name: Build | |
| working-directory: evi/evi-next-js-pages-router-quickstart | |
| run: npm run build | |
| evi-react-native: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || needs.detect-changes.outputs.evi_react_native == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 20 | |
| cache: 'npm' | |
| cache-dependency-path: evi/evi-react-native/package-lock.json | |
| - name: Install dependencies | |
| working-directory: evi/evi-react-native | |
| run: npm ci | |
| - name: Lint | |
| working-directory: evi/evi-react-native | |
| run: npm run lint | |
| evi-typescript-chat-history: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || needs.detect-changes.outputs.evi_ts_chat_history == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 20 | |
| - name: Install dependencies | |
| working-directory: evi/evi-typescript-chat-history | |
| run: npm install | |
| - name: Build | |
| working-directory: evi/evi-typescript-chat-history | |
| run: npm run build | |
| evi-typescript-function-calling: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || needs.detect-changes.outputs.evi_ts_function_calling == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 20 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10.20.0 | |
| - name: Install dependencies | |
| working-directory: evi/evi-typescript-function-calling | |
| run: pnpm install --frozen-lockfile | |
| - name: Build | |
| working-directory: evi/evi-typescript-function-calling | |
| run: pnpm run build | |
| evi-typescript-webhooks: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || needs.detect-changes.outputs.evi_ts_webhooks == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 20 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10.20.0 | |
| - name: Install dependencies | |
| working-directory: evi/evi-typescript-webhooks | |
| run: pnpm install --frozen-lockfile | |
| evi-vue-widget: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || needs.detect-changes.outputs.evi_vue_widget == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 20 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10.20.0 | |
| - name: Install dependencies | |
| working-directory: evi/evi-vue-widget | |
| run: pnpm install --frozen-lockfile | |
| - name: Build | |
| working-directory: evi/evi-vue-widget | |
| run: pnpm run build | |
| tts-next-js-agora: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || needs.detect-changes.outputs.tts_next_agora == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 20 | |
| cache: 'npm' | |
| cache-dependency-path: tts/tts-next-js-agora/package-lock.json | |
| - name: Install dependencies | |
| working-directory: tts/tts-next-js-agora | |
| run: npm ci | |
| - name: Build | |
| working-directory: tts/tts-next-js-agora | |
| run: npm run build | |
| tts-next-js-vercel-ai-sdk: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || needs.detect-changes.outputs.tts_next_vercel_ai_sdk == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| - name: Install dependencies | |
| working-directory: tts/tts-next-js-vercel-ai-sdk | |
| run: bun install --frozen-lockfile | |
| - name: Build | |
| working-directory: tts/tts-next-js-vercel-ai-sdk | |
| run: bun run build | |
| tts-typescript-lipsync: | |
| needs: detect-changes | |
| if: github.event_name == 'workflow_dispatch' || needs.detect-changes.outputs.tts_ts_lipsync == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 20 | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10.20.0 | |
| - name: Install dependencies | |
| working-directory: tts/tts-typescript-lipsync | |
| run: pnpm install --frozen-lockfile | |
| - name: Build | |
| working-directory: tts/tts-typescript-lipsync | |
| run: pnpm run build |