Add timeout and strict mode configuration to 8 workflows#4861
Conversation
Added timeout-minutes and strict mode to: - ai-triage-campaign.md: timeout-minutes: 10, strict: true - daily-team-status.md: timeout-minutes: 10, strict: true - dev.md: timeout-minutes: 5, strict: false (dev/test workflow) - example-permissions-warning.md: timeout-minutes: 5 (strict: false already) - github-mcp-structural-analysis.md: timeout-minutes: 15 (strict: false already) - issue-triage-agent.md: timeout-minutes: 5, strict: true - notion-issue-summary.md: timeout-minutes: 5 (strict: true already) - weekly-issue-summary.md: timeout-minutes: 20, strict: true Timeouts set based on workflow complexity: - 5 min: Simple/standard workflows - 10-15 min: Complex analysis - 20 min: Data-intensive reporting Closes #458 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR adds timeout protection and strict mode configuration to 8 workflows that previously lacked these safeguards. The changes aim to prevent runaway costs by enforcing execution time limits and enabling stricter validation during compilation.
Key changes:
- Added
timeout-minutesto 8 workflows with values ranging from 5-20 minutes based on complexity - Added or retained
strict: truefor workflows using Copilot engine - Retained
strict: falsefor workflows using Claude engine or requiring write permissions - Updated corresponding
.lock.ymlfiles to reflect the timeout changes
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/ai-triage-campaign.md |
Added 10-minute timeout and strict mode for issue triage workflow |
.github/workflows/ai-triage-campaign.lock.yml |
Updated compiled workflow with 10-minute timeout |
.github/workflows/daily-team-status.md |
Added 10-minute timeout and strict mode for daily status reporting |
.github/workflows/daily-team-status.lock.yml |
Updated compiled workflow with 10-minute timeout |
.github/workflows/dev.md |
Added 5-minute timeout with strict: false for experimental Claude engine testing |
.github/workflows/dev.lock.yml |
Updated compiled workflow with 5-minute timeout |
.github/workflows/example-permissions-warning.md |
Added 5-minute timeout for example/demo workflow |
.github/workflows/example-permissions-warning.lock.yml |
Updated compiled workflow with 5-minute timeout |
.github/workflows/github-mcp-structural-analysis.md |
Added 15-minute timeout for complex structural analysis workflow |
.github/workflows/github-mcp-structural-analysis.lock.yml |
Updated compiled workflow with 15-minute timeout |
.github/workflows/issue-triage-agent.md |
Added 5-minute timeout and strict mode for simple triage automation |
.github/workflows/issue-triage-agent.lock.yml |
Updated compiled workflow with 5-minute timeout |
.github/workflows/notion-issue-summary.md |
Added 5-minute timeout for Notion integration workflow |
.github/workflows/notion-issue-summary.lock.yml |
Updated compiled workflow with 5-minute timeout |
.github/workflows/weekly-issue-summary.md |
Added 20-minute timeout and strict mode for data-intensive weekly reporting |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.
| @@ -1,4 +1,6 @@ | |||
| --- | |||
There was a problem hiding this comment.
[nitpick] Inconsistent placement of timeout-minutes and strict fields. In this workflow, they are placed at the very top of the frontmatter, while in other workflows in this PR (e.g., ai-triage-campaign.md, weekly-issue-summary.md), they are placed after the description field.
For consistency across all 8 workflows, consider using a consistent ordering pattern. The recommended order based on the schema documentation would be:
---
description: ...
timeout-minutes: 5
strict: true
on:
...| --- | |
| --- | |
| description: List open issues with no labels and add appropriate labels. |
| timeout-minutes: 10 | ||
| strict: true |
There was a problem hiding this comment.
[nitpick] Inconsistent placement of timeout-minutes and strict fields. In this workflow, they are placed at the very top of the frontmatter, while in other workflows in this PR (e.g., ai-triage-campaign.md, weekly-issue-summary.md), they are placed after the description or name fields.
For consistency across all 8 workflows, consider using a consistent ordering pattern. The recommended order based on the schema documentation would be:
---
description: ...
timeout-minutes: 10
strict: true
on:
...
8 workflows lacked timeout protection, risking runaway costs. Added
timeout-minutesandstrict: truebased on workflow complexity.Changes
Example
Workflows using Claude engine or requiring write permissions retain
strict: falseas expected.Closes #458
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.