-
Notifications
You must be signed in to change notification settings - Fork 11
ci: add tmate #206
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
ci: add tmate #206
Conversation
|
✔️ bff7eb2 - Conventional commits check succeeded. |
WalkthroughAdded a new CI step "Setup tmate session" using mxschmitt/action-tmate@v3 in the test workflow, positioned between the musl cargo build and Windows test steps to enable interactive debugging during CI runs. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/test.yml(1 hunks)
⏰ 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). (7)
- GitHub Check: Test (windows-latest)
- GitHub Check: test (x86_64, 33, 26.0.10792818, go-pion)
- GitHub Check: test (x86_64, 33, 26.0.10792818, datachannel)
- GitHub Check: test (x86_64, 29, 26.0.10792818, datachannel)
- GitHub Check: test (x86_64, 29, 26.0.10792818, go-pion)
- GitHub Check: Test (macos-latest)
- GitHub Check: Test (ubuntu-latest)
| - name: Setup tmate session | ||
| uses: mxschmitt/action-tmate@v3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🚨 Critical: tmate will block ALL CI runs indefinitely.
The mxschmitt/action-tmate@v3 action is an interactive SSH debugging session that pauses workflow execution and waits for user input. Adding it unconditionally (without an if condition) across all three matrix OS configurations will:
- Block the test steps from ever running—workflows will hang waiting for manual input
- Waste runner resources across all three OS platforms on every PR and commit
- Break CI if merged to main, preventing any PRs from merging
Given the branch name test/debug-macos, this appears to be experimental. Before merging, either:
- Restrict tmate to specific conditions (e.g.,
if: failure()or a manual workflow_dispatch trigger) - Remove it entirely and use a dedicated debug workflow instead
- Add a timeout via the
timeout-minutesjob setting to prevent indefinite hangs
Please confirm the intended use case and apply an appropriate guard condition (or remove before merge).
I'll verify the claims by examining the actual workflow file and researching the tmate action behavior.
🏁 Script executed:
#!/bin/bash
# Examine the test.yml workflow file, focusing on context around lines 55-75
cat .github/workflows/test.yml | head -80 | tail -30Length of output: 907
🏁 Script executed:
#!/bin/bash
# Get full context of the tmate step and surrounding steps
cat .github/workflows/test.ymlLength of output: 2104
🏁 Script executed:
#!/bin/bash
# Check for any conditional statements or timeout settings in the workflow
rg -n "if:|timeout|tmate" .github/workflows/test.yml -C5Length of output: 1431
🌐 Web query:
mxschmitt action-tmate behavior default timeout interaction mode
💡 Result:
-
Behavior: mxschmitt/action-tmate starts a tmate session on the runner so you can SSH or use a web shell to interactively debug the job. By default the step blocks (waits) while the session is active unless you enable detached mode. [1]
-
Default interaction mode: blocking (not detached). If you set with: detached: true the action starts the session and continues the workflow; the action will then wait at the end of the job for the session to end. [1]
-
Default timeout behavior: if you do not set a specific timeout, the tmate session will remain open until the workflow/job times out. In detached mode there is an extra safety: if no user has connected within 10 minutes after the post-job step started, the session will be terminated. You can also set a job-level timeout using timeout-minutes on the step/job. [1]
Source: action documentation for mxschmitt/action-tmate. [1]
🚨 Critical: tmate will block ALL CI runs indefinitely.
The mxschmitt/action-tmate@v3 action is an interactive SSH debugging session that pauses workflow execution and waits for user input. Adding it unconditionally (without an if condition) across all three matrix OS configurations will:
- Block the test steps from ever running—workflows will hang waiting for manual input
- Waste runner resources across all three OS platforms on every PR and commit
- Break CI if merged to main, preventing any PRs from merging
Given the branch name test/debug-macos, this appears to be experimental. Before merging, either:
- Restrict tmate to specific conditions (e.g.,
if: failure()or a manual workflow_dispatch trigger) - Remove it entirely and use a dedicated debug workflow instead
- Add a timeout via the
timeout-minutesjob setting to prevent indefinite hangs
🤖 Prompt for AI Agents
.github/workflows/test.yml around lines 61-62: the workflow unconditionally adds
the interactive mxschmitt/action-tmate@v3 step which will pause CI and block
runs; to fix it either remove the tmate step from this workflow entirely, or
guard it with a conditional so it only runs for explicit debugging (for example
only on workflow_dispatch or on failure), or move it into a separate debug-only
workflow, and/or add a job-level timeout-minutes to prevent indefinite hanging;
apply one of these changes so tmate does not run unconditionally across the
matrix.
Summary by CodeRabbit
Note: This release contains no user-facing changes. Updates are limited to development and testing processes.