Skip to content

Conversation

@magiconair
Copy link

@magiconair magiconair commented Oct 21, 2025

Summary by CodeRabbit

  • Chores
    • Updated CI workflow to use a different build runner for lint and test jobs.
    • Added a global environment variable to control link behavior.
    • Expanded the test environment to include additional API keys for external integrations used during testing.

@coderabbitai
Copy link

coderabbitai bot commented Oct 21, 2025

Walkthrough

The CI workflow \.github/workflows/run_tests.yml was updated: both lint and test jobs now run on the build1 runner, UV_LINK_MODE was added, and the test job gained several new environment variables for external APIs.

Changes

Cohort / File(s) Change Summary
CI workflow
\.github/workflows/run_tests.yml
Added global env UV_LINK_MODE: copy. Changed runs-on for lint and test jobs from ubuntu-latest to build1. Expanded test job environment with DEEPGRAM_API_KEY, ELEVENLABS_API_KEY, FAL_KEY, GOOGLE_API_KEY, OPENAI_API_KEY, OPENAI_MODEL, STREAM_API_KEY, STREAM_API_SECRET, XAI_API_KEY. No workflow triggers or concurrency changes.

Sequence Diagram(s)

sequenceDiagram
  participant Dev as Developer (push/PR)
  participant GH as GitHub Actions
  participant Runner as Runner (build1)
  participant Job as Job (lint/test)

  Dev->>GH: Push / open PR
  GH->>Runner: Schedule workflow (run_tests)
  Runner->>Job: Start job (lint) on `build1`
  Runner->>Job: Start job (test) on `build1` with env:
  Note right of Job #f7f3e9: UV_LINK_MODE=copy\nDEEPGRAM_API_KEY, ELEVENLABS_API_KEY,\nFAL_KEY, GOOGLE_API_KEY, OPENAI_API_KEY,\nOPENAI_MODEL, STREAM_API_KEY, STREAM_API_SECRET, XAI_API_KEY
  Job-->>Runner: Execute steps
  Runner-->>GH: Report job status
  GH-->>Dev: Status / checks complete
  note right of Runner #eef6f9: Runner image changed to `build1` (was `ubuntu-latest`)
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

The workflow breathes a sterile light,
variables like teeth arranged and named,
a quiet copying of purpose into place—
the runner shifts its slow, patient face,
and tests go on, thin candles in a sealed room.

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title Check ❓ Inconclusive The title "use stream ci" is vague and lacks specificity about what changes are being made to the pull request. While it does reference "Stream CI" which appears to be relevant to the workflow configuration changes (the changeset adds Stream API keys and changes the runner to a Stream-based infrastructure), the title does not clearly communicate the actual modifications being performed. A reader scanning commit history would struggle to understand what specific CI/workflow updates are included without reading the full PR description. The title uses a non-descriptive term that doesn't convey meaningful information about the changeset's technical content.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch pla-26-use-stream-ci

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 124b769 and d24336a.

📒 Files selected for processing (1)
  • .github/workflows/run_tests.yml (2 hunks)
🧰 Additional context used
🪛 actionlint (1.7.8)
.github/workflows/run_tests.yml

20-20: label "build1" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)


34-34: label "build1" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: unit / Test "not integration"
🔇 Additional comments (3)
.github/workflows/run_tests.yml (3)

14-15: Clarify intent of UV_LINK_MODE: copy setting.

The global environment variable UV_LINK_MODE: copy changes how the uv package manager handles dependency linking. While this is a valid uv configuration option, please confirm this change aligns with your dependency management strategy—it may increase disk usage or affect performance compared to the default behavior.


36-46: Verify that all referenced GitHub secrets are configured.

The test job now references eleven GitHub secrets (ANTHROPIC_API_KEY, CARTESIA_API_KEY, DEEPGRAM_API_KEY, ELEVENLABS_API_KEY, FAL_KEY, GOOGLE_API_KEY, OPENAI_API_KEY, OPENAI_MODEL, STREAM_API_KEY, STREAM_API_SECRET, XAI_API_KEY). Before merging, ensure all of these secrets exist in your GitHub repository settings; missing secrets will cause the workflow to silently pass empty values to the tests, potentially masking test failures or enabling unintended behavior.


20-20: Verify that the build1 runner is configured at the organization level.

The review comment's concern is valid but incomplete. The workflow file does use build1 on lines 20 and 34 as claimed. However, runner configuration validation cannot be done at the repository level—build1 must be verified as an active self-hosted runner in your GitHub organization's settings.

If this is an intentional migration to a custom self-hosted runner, confirm:

  • The runner build1 is registered and online in your org's Actions settings
  • Appropriate permissions and labels are assigned
  • No actionlint.yaml is needed unless you want to suppress warnings for non-standard runners

If this is unintended, revert to ubuntu-latest or another standard GitHub runner label.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
.github/workflows/run_tests.yml (1)

16-16: Consider documenting or configuring the custom runner label.

To suppress the actionlint warning and document the custom runner for the team, add or update an actionlint.yaml configuration file in the repository root:

self-hosted-runner-labels:
  - build

This helps CI tooling recognize the custom label and keeps configuration explicit.

Also applies to: 30-30

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between ab27e48 and 3a4b691.

📒 Files selected for processing (1)
  • .github/workflows/run_tests.yml (2 hunks)
🧰 Additional context used
🪛 actionlint (1.7.8)
.github/workflows/run_tests.yml

16-16: label "build" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)


30-30: label "build" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)

🔇 Additional comments (1)
.github/workflows/run_tests.yml (1)

16-16: ---

Verify the "build" custom runner is registered in GitHub settings and add documentation.

The workflow redirects both lint and test jobs to a custom build runner. This runner is not documented anywhere in the codebase and cannot be verified via code inspection alone.

To proceed, confirm:

  1. The "build" runner is registered in your GitHub organization or repository settings (Settings → Actions → Runners)
  2. The runner has necessary tools installed: Python, uv, pytest, ruff, mypy
  3. Consider adding a .github/RUNNER_SETUP.md or similar to document the custom runner for team awareness

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant