Add --timeout option to logs command for MCP server timeout prevention#2058
Merged
Add --timeout option to logs command for MCP server timeout prevention#2058
Conversation
- Add --timeout flag to logs command in pkg/cli/logs.go - Implement timeout handling in DownloadWorkflowLogs function - Set default timeout to 50 seconds in MCP server logs tool - Add comprehensive unit tests for timeout functionality - Update existing tests to include timeout parameter Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Contributor
|
Copilot
AI
changed the title
[WIP] Add --timeout option to logs command for execution limit
Add --timeout option to logs command for MCP server timeout prevention
Oct 21, 2025
pelikhan
approved these changes
Oct 21, 2025
Contributor
|
Agentic Changeset Generator triggered by this pull request. |
github-actions bot
added a commit
that referenced
this pull request
Oct 21, 2025
Update CLI and MCP server documentation to reflect recent feature additions: - Add --timeout option documentation for logs command with caching details - Add --parse option documentation for audit command - Add URL support documentation for audit command (cross-repo, GitHub Enterprise) - Document continuation field in MCP server logs tool for pagination - Document large output automatic file handling in MCP server (16K token threshold) These changes document features from PRs #2066, #2064, #2060, #2058, #2052, and #2051. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The
logscommand can take a long time to download workflow artifacts, especially when fetching logs for multiple runs or workflows with large artifacts. When running as an MCP server, this can cause timeouts that prevent the tool from completing successfully.Solution
This PR adds a
--timeoutoption to thelogscommand that limits execution time by stopping the download process when the specified time limit is reached. Any runs that were successfully downloaded before the timeout are processed and returned, providing partial results rather than failing completely.Key Changes
--timeoutflag: Accepts timeout value in seconds (0 = no timeout, default)Implementation Details
The timeout is implemented using
time.Since()to track elapsed time at the start of each download iteration. When the elapsed time exceeds the specified timeout:In the MCP server, the logs tool automatically applies a 50-second timeout unless explicitly overridden via the
timeoutparameter in the tool arguments.Usage Examples
Command Line:
MCP Server:
{ "workflow_name": "test-workflow", "count": 10 // Uses 50 second timeout by default }Or override the default:
{ "workflow_name": "test-workflow", "count": 10, "timeout": 120 }Testing
Fixes the issue where long-running log downloads could timeout when running as an MCP server.
Original prompt
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.