Configure agentic workflow for new crashes report#2783
Configure agentic workflow for new crashes report#2783
Conversation
There was a problem hiding this comment.
Pull request overview
This PR configures an automated triage workflow for server crash reports. The workflow uses GitHub's agentic workflow framework to automatically analyze crash reports filed by typescript-bot and match them against existing issues in the repository.
Changes:
- Adds a new agentic workflow that triggers when issues are opened, specifically targeting crash reports from typescript-bot
- The workflow reads crash signatures from issue comments and searches for matching open issues
- Produces a summary comment linking crashes to potentially related existing issues
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
.github/workflows/server-errors-crash-triage.md |
Workflow definition specifying the agent's task: verify issue criteria, gather crash data from comments, search for matching issues, and produce a summary comment |
.github/workflows/server-errors-crash-triage.lock.yml |
Auto-generated compiled workflow (1011 lines) containing the full GitHub Actions configuration with security controls, MCP servers, and safe outputs |
.github/aw/actions-lock.json |
Locks action versions for reproducibility (actions/github-script@v8 and gh-aw/actions/setup@v0.43.20) |
.gitattributes |
Marks .lock.yml files as linguist-generated and sets merge strategy to 'ours' for auto-generated files |
| 1. The issue title starts with `[ServerErrors][TypeScript]`. | ||
| 2. The issue was opened by the user `typescript-bot`. | ||
|
|
||
| If **either** condition is not met, call the `noop` safe output with the message: "Issue does not match criteria (must be opened by typescript-bot with title starting with [ServerErrors][TypeScript])." and stop. |
There was a problem hiding this comment.
| If **either** condition is not met, call the `noop` safe output with the message: "Issue does not match criteria (must be opened by typescript-bot with title starting with [ServerErrors][TypeScript])." and stop. | |
| If **either** condition is not met, call the `noop` safe output with the message: "Issue does not match criteria (must be opened by typescript-bot with title starting with `[ServerErrors][TypeScript]`)." and stop. |
|
|
||
| 1. Read the issue body for summary information. | ||
| 2. Read **all comments** on the issue. Each comment from `typescript-bot` contains one or more crash reports. Each crash report includes: | ||
| - An error heading (e.g., `Server exited prematurely with code unknown and signal SIGABRT`). |
There was a problem hiding this comment.
This one is pretty specific to something harder to diagnose - maybe add another example as well?
| - A list of affected repos, each inside a `<details>` block with: | ||
| - A link to the affected repository. | ||
| - Raw error text artifact references. | ||
| - The last few tsserver requests (JSON). |
There was a problem hiding this comment.
| - The last few tsserver requests (JSON). | |
| - The last few LSP requests (JSON). |
|
|
||
| Before doing any work, verify **both** of the following: | ||
|
|
||
| 1. The issue title starts with `[ServerErrors][TypeScript]`. |
There was a problem hiding this comment.
Maybe
| 1. The issue title starts with `[ServerErrors][TypeScript]`. | |
| 1. The issue title starts with `[ServerErrors]`. |
?
Be sure to update the below as well if you do this
There was a problem hiding this comment.
I think my thinking here is that in the future we'll likely run this for JavaScript as well, so those issues would be titled [ServerErrors][JavaScript]
|
|
||
| ### Step 4: Produce Summary Comment | ||
|
|
||
| Create a single summary comment on the issue using the `add-comment` safe output. The comment should be formatted as follows: |
There was a problem hiding this comment.
| Create a single summary comment on the issue using the `add-comment` safe output. The comment should be formatted as follows: | |
| Create a single summary comment on the original report's issue using the `add-comment` safe output. The comment should be formatted as follows: |
|
|
||
| | Crash Signature | Affected Repos | Matching Issues | Created Issue | | ||
| |----------------|----------------|-----------------|---------------| | ||
| | <error heading> | repo1, repo2, ... | #123, #456 or "No matching issues found" | #789 or "-" | |
There was a problem hiding this comment.
The problem with using markdown here is that these placeholders will appear incorrectly when rendered
Maybe
| | <error heading> | repo1, repo2, ... | #123, #456 or "No matching issues found" | #789 or "-" | | |
| | \[error heading] | [repo1](link-to-repo1), [repo2](link-to-repo2), ... | #123, #456 or "No matching issues found" | #789 or "None" | |
Or maybe it's fine.
I want to set up a workflow so that every new errors report from typescript-bot also gets a summary of the reported errors vs existing issues, like this: #2778 (comment).
Not entirely sure if this will work since agentic workflows are new.