Skip to content

Commit ff35565

Browse files
authored
API Review Process: Add ADO Work Item metadata and assign architects to Review PRs at creation time (Azure#47534)
* Add ADO work item metadata to review PR creation. * Add ARCHITECTS file that works like CODEOWNERS but only for review PRs. * Code review feedback. * Update unit tests. * Code review feedback. * Fix cspell
1 parent 3cb1a2e commit ff35565

5 files changed

Lines changed: 1114 additions & 126 deletions

File tree

.github/ARCHITECTS

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Instructions for ARCHITECTS file format:
2+
# This file follows the CODEOWNERS pattern style. Each non-comment line maps a
3+
# repository path pattern to the GitHub user or team responsible for API architecture review.
4+
# Owners may be individual users like @octocat or teams like @Azure/sdk-arch.
5+
6+
###########
7+
# SDK
8+
###########
9+
10+
# Catch all
11+
/sdk/ @kashifkhan

.github/skills/create-api-review-pr/SKILL.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ If the user asks to create an API review PR for a new package, explain that new
1818
3. Python 3.10 or later must be available.
1919
4. `azpysdk` must be installed (`pip install -e ./eng/tools/azure-sdk-tools`).
2020
5. ApiView stub generator dependencies must be installed (`pip install -r ./eng/apiview_reqs.txt`).
21+
6. `azsdk` CLI may be needed for package work item lookup. Do not proactively check or install it before running `create_api_review_pr.py`; the script detects supported install locations and reports when installation or update is necessary.
2122

2223
## Information to Gather
2324

@@ -47,6 +48,8 @@ Before running the script:
4748
3. **Validate the target tag when applicable**: If the user provided a target version or tag, construct or validate the full tag as `<package-name>_<version>` and run `git tag -l "<tag>"`.
4849
4. **Confirm the working tree is clean**: Run `git status --porcelain` and warn if there are uncommitted changes.
4950

51+
Do not proactively run `azsdk --help`, `azsdk package find-work-item --help`, or the `azure-sdk-mcp.ps1` installer as a validation step. If `create_api_review_pr.py` fails with an error saying the `azsdk` CLI is not found or the `package find-work-item` command is unavailable, then run `pwsh ./eng/common/mcp/azure-sdk-mcp.ps1` from the repository root to install or update it, and rerun the same `create_api_review_pr.py` command once. If the script still reports an `azsdk` error after that, stop and report the failure.
52+
5053
## Execution
5154

5255
This is a long-running operation. The script may take several minutes because it generates API surfaces for both the baseline and target, creates or reuses review branches, pushes branches, and then opens the draft PR. Do not treat quiet terminal periods during `apistub` generation as failure unless the command exits, prints an error, or waits for input.

.vscode/cspell.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,7 @@
363363
"oauthlib",
364364
"objs",
365365
"odata",
366+
"octocat",
366367
"oidc",
367368
"onboarded",
368369
"onmicrosoft",

0 commit comments

Comments
 (0)