Skip to content

Commit 82f9ce9

Browse files
Copilotjliusan
andauthored
Merge origin/main and resolve conflicts
Co-authored-by: jliusan <6267860+jliusan@users.noreply.github.com>
2 parents 593483b + 99312a7 commit 82f9ce9

7,567 files changed

Lines changed: 846091 additions & 528064 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
# Set the default behavior, in case people don't have core.autocrlf set.
22
* text=auto
3+
4+
.github/workflows/*.lock.yml linguist-generated=true merge=ours

.github/CODEOWNERS

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77

88
/** @jhendrixMSFT @rickwinter
99

10-
/sdk/ @chlowell @richardpark-msft @rickwinter
10+
/sdk/ @richardpark-msft @rickwinter
1111

12-
/sdk/samples/ @chlowell @jhendrixMSFT @richardpark-msft @rickwinter
12+
/sdk/samples/ @jhendrixMSFT @richardpark-msft @rickwinter
1313

1414
# PRLabel: %App Configuration
1515
/sdk/data/azappconfig/ @jhendrixMSFT @linglingye001 @RichardChen820
@@ -22,18 +22,18 @@
2222
# ServiceOwners: @avanigupta @shenmuxiaosen
2323

2424
# PRLabel: %Azure.Core
25-
/sdk/azcore/ @chlowell @jhendrixMSFT @richardpark-msft @rickwinter
25+
/sdk/azcore/ @jhendrixMSFT @richardpark-msft @rickwinter
2626

2727
# AzureSdkOwners: @jhendrixMSFT
2828
# ServiceLabel: %Azure.Core
29-
# ServiceOwners: @chlowell @jhendrixMSFT @richardpark-msft @rickwinter
29+
# ServiceOwners: @jhendrixMSFT @richardpark-msft @rickwinter
3030

3131
# PRLabel: %Azure.Identity
32-
/sdk/azidentity/ @Azure/azure-sdk-write-identity @chlowell @jhendrixMSFT @rickwinter
32+
/sdk/azidentity/ @Azure/azure-sdk-write-identity @jhendrixMSFT @rickwinter
3333

34-
# AzureSdkOwners: @chlowell
34+
# AzureSdkOwners: @jhendrixMSFT
3535
# ServiceLabel: %Azure.Identity
36-
# ServiceOwners: @Azure/azure-sdk-write-identity @chlowell @jhendrixMSFT @rickwinter
36+
# ServiceOwners: @Azure/azure-sdk-write-identity @rickwinter
3737

3838
# PRLabel: %Cosmos
3939
/sdk/data/azcosmos/ @Azure/azure-cosmos-go-sdk
@@ -66,11 +66,11 @@
6666
# ServiceOwners: @axisc @hmlam @sjkwak
6767

6868
# PRLabel: %Internal
69-
/sdk/internal/ @chlowell @jhendrixMSFT @richardpark-msft @rickwinter
69+
/sdk/internal/ @jhendrixMSFT @richardpark-msft @rickwinter
7070

7171
# AzureSdkOwners: @jhendrixMSFT
7272
# ServiceLabel: %Internal
73-
# ServiceOwners: @chlowell @jhendrixMSFT @richardpark-msft @rickwinter
73+
# ServiceOwners: @jhendrixMSFT @richardpark-msft @rickwinter
7474

7575
# PRLabel: %KeyVault
7676
/sdk/security/keyvault/ @Azure/azure-sdk-write-keyvault
@@ -79,7 +79,7 @@
7979
# ServiceOwners: @Azure/azure-sdk-write-keyvault
8080

8181
# PRLabel: %Monitor
82-
/sdk/monitor/ @Azure/azure-sdk-write-monitor-data-plane @Azure/azure-sdk-write-monitor-query-logs @chlowell @gracewilcox @jhendrixMSFT
82+
/sdk/monitor/ @Azure/azure-sdk-write-monitor-data-plane @Azure/azure-sdk-write-monitor-query-logs @gracewilcox @jhendrixMSFT
8383

8484
# PRLabel: %Monitor
8585
/sdk/monitor/ingestion/azlogs/ @Azure/azure-sdk-write-monitor-data-plane
@@ -89,17 +89,17 @@
8989

9090
# AzureSdkOwners: @gracewilcox
9191
# ServiceLabel: %Monitor
92-
# ServiceOwners: @Azure/azure-sdk-write-monitor-data-plane @chlowell @gracewilcox @jhendrixMSFT
92+
# ServiceOwners: @Azure/azure-sdk-write-monitor-data-plane @gracewilcox @jhendrixMSFT
9393

9494
# ServiceLabel: %Monitor
9595
# ServiceOwners: @AzmonActionG @AzmonAlerts @AzMonEssential @AzmonLogA @dadunl @SameergMS
9696

9797
# PRLabel: %OpenAI
98-
/sdk/ai @achauhan-scc @chlowell @glecaros @jhendrixMSFT @kingernupur @PratibhaShrivastav18 @richardpark-msft
98+
/sdk/ai @achauhan-scc @glecaros @jhendrixMSFT @kingernupur @PratibhaShrivastav18 @richardpark-msft
9999

100100
# AzureSdkOwners: @richardpark-msft
101101
# ServiceLabel: %OpenAI
102-
# ServiceOwners: @achauhan-scc @chlowell @glecaros @jhendrixMSFT @kingernupur @PratibhaShrivastav18 @richardpark-msft
102+
# ServiceOwners: @achauhan-scc @glecaros @jhendrixMSFT @kingernupur @PratibhaShrivastav18 @richardpark-msft
103103

104104
# PRLabel: %OpenTelemetry
105105
/sdk/tracing/azotel @jhendrixMSFT @rickwinter
@@ -118,7 +118,7 @@
118118
# ServiceOwners: @EldertGrootenboer @skarri-microsoft
119119

120120
# PRLabel: %Storage
121-
/sdk/storage/ @gapra-msft @jhendrixMSFT @souravgupta-msft @tanyasethi-msft @vibhansa-msft
121+
/sdk/storage/ @gapra-msft @jhendrixMSFT @souravgupta-msft @tanyasethi-msft
122122

123123
# AzureSdkOwners: @jhendrixMSFT
124124
# ServiceLabel: %Storage
@@ -328,7 +328,7 @@
328328
# ServiceOwners: @TiagoCrewGitHubIssues
329329

330330
# ServiceLabel: %Custom Providers
331-
# ServiceOwners: @manoharp @MSEvanhi
331+
# ServiceOwners: @manoharp
332332

333333
# ServiceLabel: %Customer Insights
334334
# ServiceOwners: @shefymk
@@ -655,7 +655,7 @@
655655
###########
656656
/eng/ @benbp @weshaggard
657657
/eng/common/ @Azure/azure-sdk-eng
658-
/eng/config.json @richardpark-msft @jhendrixMSFT @rickwinter @chlowell @gracewilcox
658+
/eng/config.json @richardpark-msft @jhendrixMSFT @rickwinter @gracewilcox
659659
/.config/1espt/ @benbp @weshaggard
660660
/.github/workflows/ @Azure/azure-sdk-eng
661661
/.github/CODEOWNERS @rickwinter @sandeep-sen @Azure/azure-sdk-eng
@@ -669,8 +669,8 @@
669669
/eng/swagger_to_sdk_config.json @lirenhe @tadelesh @JiaqiZhang-Dev
670670

671671
# Add owners for typespec emitter config
672-
/eng/emitter-package-lock.json @lirenhe @tadelesh @JiaqiZhang-Dev @richardpark-msft @jhendrixMSFT @rickwinter @chlowell @gracewilcox
673-
/eng/emitter-package.json @lirenhe @tadelesh @JiaqiZhang-Dev @richardpark-msft @jhendrixMSFT @rickwinter @chlowell @gracewilcox
672+
/eng/emitter-package-lock.json @lirenhe @tadelesh @JiaqiZhang-Dev @richardpark-msft @jhendrixMSFT @rickwinter @gracewilcox
673+
/eng/emitter-package.json @lirenhe @tadelesh @JiaqiZhang-Dev @richardpark-msft @jhendrixMSFT @rickwinter @gracewilcox
674674

675675

676676
# Add owners for notifications for specific pipelines
Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
---
2+
description: GitHub Agentic Workflows (gh-aw) - Create, debug, and upgrade AI-powered workflows with intelligent prompt routing
3+
disable-model-invocation: true
4+
---
5+
6+
# GitHub Agentic Workflows Agent
7+
8+
This agent helps you work with **GitHub Agentic Workflows (gh-aw)**, a CLI extension for creating AI-powered workflows in natural language using markdown files.
9+
10+
## What This Agent Does
11+
12+
This is a **dispatcher agent** that routes your request to the appropriate specialized prompt based on your task:
13+
14+
- **Creating new workflows**: Routes to `create` prompt
15+
- **Updating existing workflows**: Routes to `update` prompt
16+
- **Debugging workflows**: Routes to `debug` prompt
17+
- **Upgrading workflows**: Routes to `upgrade-agentic-workflows` prompt
18+
- **Creating report-generating workflows**: Routes to `report` prompt — consult this whenever the workflow posts status updates, audits, analyses, or any structured output as issues, discussions, or comments
19+
- **Creating shared components**: Routes to `create-shared-agentic-workflow` prompt
20+
- **Fixing Dependabot PRs**: Routes to `dependabot` prompt — use this when Dependabot opens PRs that modify generated manifest files (`.github/workflows/package.json`, `.github/workflows/requirements.txt`, `.github/workflows/go.mod`). Never merge those PRs directly; instead update the source `.md` files and rerun `gh aw compile --dependabot` to bundle all fixes
21+
- **Analyzing test coverage**: Routes to `test-coverage` prompt — consult this whenever the workflow reads, analyzes, or reports on test coverage data from PRs or CI runs
22+
23+
Workflows may optionally include:
24+
25+
- **Project tracking / monitoring** (GitHub Projects updates, status reporting)
26+
- **Orchestration / coordination** (one workflow assigning agents or dispatching and coordinating other workflows)
27+
28+
## Files This Applies To
29+
30+
- Workflow files: `.github/workflows/*.md` and `.github/workflows/**/*.md`
31+
- Workflow lock files: `.github/workflows/*.lock.yml`
32+
- Shared components: `.github/workflows/shared/*.md`
33+
- Configuration: https://github.com/github/gh-aw/blob/v0.67.1/.github/aw/github-agentic-workflows.md
34+
35+
## Problems This Solves
36+
37+
- **Workflow Creation**: Design secure, validated agentic workflows with proper triggers, tools, and permissions
38+
- **Workflow Debugging**: Analyze logs, identify missing tools, investigate failures, and fix configuration issues
39+
- **Version Upgrades**: Migrate workflows to new gh-aw versions, apply codemods, fix breaking changes
40+
- **Component Design**: Create reusable shared workflow components that wrap MCP servers
41+
42+
## How to Use
43+
44+
When you interact with this agent, it will:
45+
46+
1. **Understand your intent** - Determine what kind of task you're trying to accomplish
47+
2. **Route to the right prompt** - Load the specialized prompt file for your task
48+
3. **Execute the task** - Follow the detailed instructions in the loaded prompt
49+
50+
## Available Prompts
51+
52+
### Create New Workflow
53+
**Load when**: User wants to create a new workflow from scratch, add automation, or design a workflow that doesn't exist yet
54+
55+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.67.1/.github/aw/create-agentic-workflow.md
56+
57+
**Use cases**:
58+
- "Create a workflow that triages issues"
59+
- "I need a workflow to label pull requests"
60+
- "Design a weekly research automation"
61+
62+
### Update Existing Workflow
63+
**Load when**: User wants to modify, improve, or refactor an existing workflow
64+
65+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.67.1/.github/aw/update-agentic-workflow.md
66+
67+
**Use cases**:
68+
- "Add web-fetch tool to the issue-classifier workflow"
69+
- "Update the PR reviewer to use discussions instead of issues"
70+
- "Improve the prompt for the weekly-research workflow"
71+
72+
### Debug Workflow
73+
**Load when**: User needs to investigate, audit, debug, or understand a workflow, troubleshoot issues, analyze logs, or fix errors
74+
75+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.67.1/.github/aw/debug-agentic-workflow.md
76+
77+
**Use cases**:
78+
- "Why is this workflow failing?"
79+
- "Analyze the logs for workflow X"
80+
- "Investigate missing tool calls in run #12345"
81+
82+
### Upgrade Agentic Workflows
83+
**Load when**: User wants to upgrade workflows to a new gh-aw version or fix deprecations
84+
85+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.67.1/.github/aw/upgrade-agentic-workflows.md
86+
87+
**Use cases**:
88+
- "Upgrade all workflows to the latest version"
89+
- "Fix deprecated fields in workflows"
90+
- "Apply breaking changes from the new release"
91+
92+
### Create a Report-Generating Workflow
93+
**Load when**: The workflow being created or updated produces reports — recurring status updates, audit summaries, analyses, or any structured output posted as a GitHub issue, discussion, or comment
94+
95+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.67.1/.github/aw/report.md
96+
97+
**Use cases**:
98+
- "Create a weekly CI health report"
99+
- "Post a daily security audit to Discussions"
100+
- "Add a status update comment to open PRs"
101+
102+
### Create Shared Agentic Workflow
103+
**Load when**: User wants to create a reusable workflow component or wrap an MCP server
104+
105+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.67.1/.github/aw/create-shared-agentic-workflow.md
106+
107+
**Use cases**:
108+
- "Create a shared component for Notion integration"
109+
- "Wrap the Slack MCP server as a reusable component"
110+
- "Design a shared workflow for database queries"
111+
112+
### Fix Dependabot PRs
113+
**Load when**: User needs to close or fix open Dependabot PRs that update dependencies in generated manifest files (`.github/workflows/package.json`, `.github/workflows/requirements.txt`, `.github/workflows/go.mod`)
114+
115+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.67.1/.github/aw/dependabot.md
116+
117+
**Use cases**:
118+
- "Fix the open Dependabot PRs for npm dependencies"
119+
- "Bundle and close the Dependabot PRs for workflow dependencies"
120+
- "Update @playwright/test to fix the Dependabot PR"
121+
122+
### Analyze Test Coverage
123+
**Load when**: The workflow reads, analyzes, or reports test coverage — whether triggered by a PR, a schedule, or a slash command. Always consult this prompt before designing the coverage data strategy.
124+
125+
**Prompt file**: https://github.com/github/gh-aw/blob/v0.67.1/.github/aw/test-coverage.md
126+
127+
**Use cases**:
128+
- "Create a workflow that comments coverage on PRs"
129+
- "Analyze coverage trends over time"
130+
- "Add a coverage gate that blocks PRs below a threshold"
131+
132+
## Instructions
133+
134+
When a user interacts with you:
135+
136+
1. **Identify the task type** from the user's request
137+
2. **Load the appropriate prompt** from the GitHub repository URLs listed above
138+
3. **Follow the loaded prompt's instructions** exactly
139+
4. **If uncertain**, ask clarifying questions to determine the right prompt
140+
141+
## Quick Reference
142+
143+
```bash
144+
# Initialize repository for agentic workflows
145+
gh aw init
146+
147+
# Generate the lock file for a workflow
148+
gh aw compile [workflow-name]
149+
150+
# Debug workflow runs
151+
gh aw logs [workflow-name]
152+
gh aw audit <run-id>
153+
154+
# Upgrade workflows
155+
gh aw fix --write
156+
gh aw compile --validate
157+
```
158+
159+
## Key Features of gh-aw
160+
161+
- **Natural Language Workflows**: Write workflows in markdown with YAML frontmatter
162+
- **AI Engine Support**: Copilot, Claude, Codex, or custom engines
163+
- **MCP Server Integration**: Connect to Model Context Protocol servers for tools
164+
- **Safe Outputs**: Structured communication between AI and GitHub API
165+
- **Strict Mode**: Security-first validation and sandboxing
166+
- **Shared Components**: Reusable workflow building blocks
167+
- **Repo Memory**: Persistent git-backed storage for agents
168+
- **Sandboxed Execution**: All workflows run in the Agent Workflow Firewall (AWF) sandbox, enabling full `bash` and `edit` tools by default
169+
170+
## Important Notes
171+
172+
- Always reference the instructions file at https://github.com/github/gh-aw/blob/v0.67.1/.github/aw/github-agentic-workflows.md for complete documentation
173+
- Use the MCP tool `agentic-workflows` when running in GitHub Copilot Cloud
174+
- Workflows must be compiled to `.lock.yml` files before running in GitHub Actions
175+
- **Bash tools are enabled by default** - Don't restrict bash commands unnecessarily since workflows are sandboxed by the AWF
176+
- Follow security best practices: minimal permissions, explicit network access, no template injection
177+
- **Network configuration**: Use ecosystem identifiers (`node`, `python`, `go`, etc.) or explicit FQDNs in `network.allowed`. Bare shorthands like `npm` or `pypi` are **not** valid. See https://github.com/github/gh-aw/blob/v0.67.1/.github/aw/network.md for the full list of valid ecosystem identifiers and domain patterns.
178+
- **Single-file output**: When creating a workflow, produce exactly **one** workflow `.md` file. Do not create separate documentation files (architecture docs, runbooks, usage guides, etc.). If documentation is needed, add a brief `## Usage` section inside the workflow file itself.

.github/aw/actions-lock.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"entries": {
3+
"actions/github-script@v9": {
4+
"repo": "actions/github-script",
5+
"version": "v9",
6+
"sha": "373c709c69115d41ff229c7e5df9f8788daa9553"
7+
},
8+
"github/gh-aw-actions/setup@v0.68.3": {
9+
"repo": "github/gh-aw-actions/setup",
10+
"version": "v0.68.3",
11+
"sha": "ba90f2186d7ad780ec640f364005fa24e797b360"
12+
}
13+
}
14+
}

.github/copilot-instructions.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ You are an expert Go programmer that attempts to answer questions and provide co
55
- To contact a member of the Go team use the "Language - Go" Teams channel, under the "Azure SDK" team.
66
- To determine who owns a module, use the [CODEOWNERS file](https://github.com/Azure/azure-sdk-for-go/tree/main/.github/CODEOWNERS), and find the line that matches the module path. It's possible, due to wildcards, that the line that matches will only have the parent folder, instead of the entire module name.
77

8+
## Generated Code — DO NOT suggest changes
9+
10+
When performing a code review, if a file contains the header `// Code generated by Microsoft (R) Go Code Generator.`, do NOT suggest any changes to the generated patterns. All patterns in generated code are intentional and by design. For the full list of rules, see [`.github/instructions/go-code.instructions.md`](instructions/go-code.instructions.md).
11+
812
## Prerequisites
913
- To use Azure SDK MCP tool calls, users must have PowerShell installed. Provide [PowerShell installation instructions](https://learn.microsoft.com/powershell/scripting/install/installing-powershell) if not installed, and recommend restarting the IDE to start the MCP server.
1014
- When using Copilot from Visual Studio or VS Code (not applicable when using Coding Agent on Github.com):

.github/workflows/event-processor.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ jobs:
3232
runs-on: ubuntu-latest
3333
steps:
3434
- name: 'Az CLI login'
35-
uses: azure/login@v2
35+
uses: azure/login@v3
3636
if: ${{ github.event_name == 'issues' && github.event.action == 'opened' }}
3737
with:
38-
client-id: a6dd2dfe-7352-41a7-9020-05301c3bca1a
38+
client-id: e4cb9fd5-0875-4ca1-bc43-56196f5dfb8f
3939
tenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
4040
allow-no-subscriptions: true
4141

@@ -49,7 +49,7 @@ jobs:
4949
--query value)
5050
5151
echo "::add-mask::$LABEL_SERVICE_API_KEY"
52-
echo "LABEL_SERVICE_API_KEY=$LABEL_SERVICE_API_KEY" >> $GITHUB_ENV
52+
echo "LABEL_SERVICE_API_KEY=$LABEL_SERVICE_API_KEY" >> "$GITHUB_ENV"
5353
5454
APP_CONFIG_ENDPOINT=$(az keyvault secret show \
5555
--vault-name issue-labeler \
@@ -58,7 +58,7 @@ jobs:
5858
--query value)
5959
6060
echo "::add-mask::$APP_CONFIG_ENDPOINT"
61-
echo "APP_CONFIG_ENDPOINT=$APP_CONFIG_ENDPOINT" >> $GITHUB_ENV
61+
echo "APP_CONFIG_ENDPOINT=$APP_CONFIG_ENDPOINT" >> "$GITHUB_ENV"
6262
6363
# To run github-event-processor built from source, for testing purposes, uncomment everything
6464
# in between the Start/End-Build From Source comments and comment everything in between the

0 commit comments

Comments
 (0)