Merge pull request #1983 from jlowin/a-better-martian

Improve the Martian
This commit is contained in:
William Easton 2025-10-02 12:37:02 -05:00 committed by GitHub
commit d55cd086a1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,22 +1,18 @@
name: The Martian Issue Triage
name: Martian Issue Triage
on:
issues:
types: [opened]
workflow_dispatch:
inputs:
issue_number:
description: "Issue to triage"
required: true
type: string
types: [opened, labeled]
concurrency:
group: triage-issue-${{ github.event.issue.number || inputs.issue_number }}
group: triage-martian-${{ github.event.issue.number }}
cancel-in-progress: true
jobs:
marvin-issue-triage:
if: github.actor == 'strawgate'
martian-issue-triage:
if: |
(github.event.action == 'opened' && github.actor == 'strawgate') ||
(github.event.action == 'labeled' && github.event.label.name == 'triage-martian')
runs-on: ubuntu-latest
timeout-minutes: 10
permissions:
@ -32,6 +28,13 @@ jobs:
repository: ${{ github.repository }}
ref: ${{ github.event.repository.default_branch }}
# Install UV package manager
- name: Install UV
uses: astral-sh/setup-uv@v6
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
- name: Generate Marvin App token
id: marvin-token
uses: actions/create-github-app-token@v2
@ -50,7 +53,7 @@ jobs:
# Lay of the land
1. Call the generate_agents_md tool to get a high-level summary of the project you're working in
2. Get the issue ${{ github.event.issue.number || inputs.issue_number }} in the GitHub repository: ${{ github.repository }}.
2. Get the issue ${{ github.event.issue.number }} in the GitHub repository: ${{ github.repository }}.
3. Use the issue and pull request search tools to scour the repository for related issues and pull requests
3. Call the code-search, get_files, etc. tools to search the repository to identify the related classes, methods, tests, etc that are relevant to the issue.
@ -109,12 +112,13 @@ jobs:
"url": "https://github-code-search.fastmcp.app/mcp"
},
"github-research": {
"type": "stdio",
"command": "uvx",
"args": [
"github-research-mcp"
],
"env": {
"DISABLE_SUMMARIES": true,
"DISABLE_SUMMARIES": "true",
"GITHUB_PERSONAL_ACCESS_TOKEN": "${{ steps.marvin-token.outputs.token }}"
}
}
@ -122,16 +126,17 @@ jobs:
}
EOF
- name: Run Marvin for Issue Triage
- name: Run Martian for Issue Triage
uses: anthropics/claude-code-action@v1
with:
github_token: ${{ steps.marvin-token.outputs.token }}
bot_name: "Marvin Context Protocol"
prompt: ${{ steps.triage-prompt.outputs.PROMPT }}
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY_FOR_CI }}
track_progress: true
claude_args: |
--model claude-sonnet-4-5-20250929
--allowedTools WebSearch,WebFetch,mcp__repository-summary,mcp__code-search,mcp__github-research
--allowedTools mcp__repository-summary,mcp__code-search__search_code,mcp__github-research__get_repository,mcp__github-research__get_issue,mcp__github-research__get_pull_request,mcp__github-research__search_issues,mcp__github-research__search_pull_requests,mcp__github-research__get_files,
--mcp-config /tmp/mcp-config/mcp-servers.json
settings: |
{