-
Notifications
You must be signed in to change notification settings - Fork 857
ci: add automated issue labeling workflow #2359
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
Open
yonib05
wants to merge
3
commits into
strands-agents:main
Choose a base branch
from
yonib05:feat/issue-labeler
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,45 @@ | ||
| # .github/labelers/area.yml | ||
| # Classifies issues by technical area/subsystem. | ||
|
|
||
| instructions: | | ||
| This is the Strands Agents SDK repository (Python + TypeScript monorepo). | ||
| CI dependency bumps (dependabot, renovate) should be labeled area-community. | ||
| MCP tools should be labeled area-mcp, not area-tool. | ||
| Provider-specific async/streaming bugs belong to area-provider, not area-async. | ||
| Issues about hook lifecycle events belong to area-hooks even if they mention tools or agents. | ||
|
|
||
| labels: | ||
| area-a2a: | ||
| description: "Agent-to-Agent protocol, A2AAgent, A2AClient, A2AServer, agent cards" | ||
| area-async: | ||
| description: "Asynchronous flows, multi-threading, asyncio, concurrent execution, event loops" | ||
| area-bidirectional-streaming: | ||
| description: "Bidirectional streaming, BidiAgent, real-time audio/video, WebRTC, WebSocket, Nova Sonic" | ||
| area-community: | ||
| description: "Community health, monorepo consolidation, contributor guides, governance, CI dependency bumps" | ||
| area-config: | ||
| description: "Config-based agents, agent config files, mcp-config, declarative definitions" | ||
| area-context: | ||
| description: "Conversation management, context windows, context reduction, sliding window, token management" | ||
| area-devx: | ||
| description: "Developer experience, better APIs, ergonomics, helper methods, error messages, usability" | ||
| area-hil: | ||
| description: "Human-in-the-loop, interrupt/resume, suspend/resume, approval workflows" | ||
| area-hooks: | ||
| description: "Hook events, hook registry, callbacks, lifecycle events, BeforeEvent/AfterEvent" | ||
| area-language: | ||
| description: "New language SDKs (Ruby, .NET, Rust, Go, etc.)" | ||
| area-mcp: | ||
| description: "Model Context Protocol, MCP servers/clients/transport/tools" | ||
| area-multiagent: | ||
| description: "Multi-agent patterns, swarm, graph, orchestrator, agent-as-tool, arena" | ||
| area-otel: | ||
| description: "OpenTelemetry, tracing, metrics, spans, observability, OTLP" | ||
| area-persistence: | ||
| description: "Session storage, checkpointing, S3SessionManager, DynamoDB sessions, state serialization" | ||
| area-provider: | ||
| description: "Model providers (Bedrock, OpenAI, Anthropic, Ollama, LiteLLM, SageMaker, vLLM, Mistral)" | ||
| area-structured-output: | ||
| description: "Structured output API, JSON schema enforcement, Pydantic output models" | ||
| area-tool: | ||
| description: "Tool behavior, tool definitions, tool execution, @tool decorator, tool results" | ||
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| # .github/labelers/language.yml | ||
| # Identifies which SDK language the issue relates to. | ||
| # Use max_labels: 1 since most issues target one language. | ||
|
yonib05 marked this conversation as resolved.
|
||
|
|
||
| instructions: | | ||
| This is a monorepo with Python and TypeScript SDKs. | ||
| Look for language-specific keywords: Python paths (strands-py/, .py files, pip, pyproject.toml), | ||
| TypeScript paths (strands-ts/, .ts files, npm, package.json). | ||
| If the issue clearly targets both languages equally, prefer the language where the bug or feature originates. | ||
| If the issue is language-agnostic or unclear, do not assign a label. | ||
|
|
||
| labels: | ||
| python: | ||
| description: "Issue relates to the Python SDK (strands-py/, .py files, pip, pyproject.toml)" | ||
| javascript: | ||
| description: "Issue relates to the TypeScript/JavaScript SDK (strands-ts/, .ts files, npm, package.json)" | ||
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| # .github/labelers/type.yml | ||
| # Classifies issues by type (bug, feature, etc.) | ||
| # Use max_labels: 1 in the workflow since these are mutually exclusive. | ||
|
|
||
| instructions: | | ||
| Choose exactly one type. If the title starts with [BUG] it is a bug. | ||
| If the title starts with [FEATURE] it is an enhancement. | ||
| CI/dependency PRs that open as issues are chores. | ||
|
|
||
| labels: | ||
| bug: | ||
| description: "Something is broken or not working as documented" | ||
| enhancement: | ||
| description: "New feature request or improvement to existing functionality" | ||
| question: | ||
| description: "User asking for help, clarification, or how to do something" | ||
| chore: | ||
| description: "Maintenance tasks, dependency updates, CI changes, refactoring with no user-facing impact" |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,56 @@ | ||
| name: Issue Labeler | ||
|
|
||
| on: | ||
| issues: | ||
| types: [opened] | ||
|
|
||
| permissions: | ||
| issues: write | ||
| id-token: write | ||
| contents: read | ||
|
|
||
| jobs: | ||
| label-area: | ||
| name: "Label: Area" | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 2 | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| with: | ||
| sparse-checkout: .github/labelers | ||
| sparse-checkout-cone-mode: false | ||
| # max_labels omitted: issues may span multiple areas | ||
| - uses: strands-agents/devtools/issue-labeler@main | ||
| with: | ||
| aws_role_arn: ${{ secrets.AWS_ROLE_ARN }} | ||
| config_path: '.github/labelers/area.yml' | ||
|
yonib05 marked this conversation as resolved.
|
||
|
|
||
| label-type: | ||
| name: "Label: Type" | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 2 | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| with: | ||
| sparse-checkout: .github/labelers | ||
| sparse-checkout-cone-mode: false | ||
| - uses: strands-agents/devtools/issue-labeler@main | ||
| with: | ||
| aws_role_arn: ${{ secrets.AWS_ROLE_ARN }} | ||
| config_path: '.github/labelers/type.yml' | ||
| max_labels: '1' | ||
|
|
||
| label-language: | ||
| name: "Label: Language" | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 2 | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| with: | ||
| sparse-checkout: .github/labelers | ||
| sparse-checkout-cone-mode: false | ||
| - uses: strands-agents/devtools/issue-labeler@main | ||
| with: | ||
| aws_role_arn: ${{ secrets.AWS_ROLE_ARN }} | ||
| config_path: '.github/labelers/language.yml' | ||
| max_labels: '1' | ||
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.