-
Notifications
You must be signed in to change notification settings - Fork 3.3k
API Review Process: Add ADO Work Item metadata and assign architects to Review PRs at creation time #47534
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
base: main
Are you sure you want to change the base?
API Review Process: Add ADO Work Item metadata and assign architects to Review PRs at creation time #47534
Changes from all commits
ed4efb4
391e671
f7feb6d
c9abdb9
0ba5238
34c4fbf
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| # Instructions for ARCHITECTS file format: | ||
| # This file follows the CODEOWNERS pattern style. Each non-comment line maps a | ||
| # repository path pattern to the GitHub user or team responsible for API architecture review. | ||
| # Owners may be individual users like @octocat or teams like @Azure/sdk-arch. | ||
|
|
||
| ########### | ||
| # SDK | ||
| ########### | ||
|
|
||
| # Catch all | ||
| /sdk/ @kashifkhan | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This file currently doesn't add the architects, intended to be added later?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @kashifkhan is the Python architect. The idea is that each language repo will have this file in its |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -18,6 +18,7 @@ If the user asks to create an API review PR for a new package, explain that new | |
| 3. Python 3.10 or later must be available. | ||
| 4. `azpysdk` must be installed (`pip install -e ./eng/tools/azure-sdk-tools`). | ||
| 5. ApiView stub generator dependencies must be installed (`pip install -r ./eng/apiview_reqs.txt`). | ||
| 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. | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @praveenkuttappan should we ideally just have a single script to detect azsdk and if not install?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Perhaps. But this particular script is very temporary. I'll soon (within a week I hope!) be replace this script with a proper command in the azsdk-cli, so this will become a moot point :) The reason the skill says this is because originally it would try to proactively check for install and do exactly what you suggest, but I found that even after the script installed the CLI, it wouldn't be able to find it.... but when I would run the script manually it had no problems. So, since this is temporary I basically told the skill to just try to run the command and if it fails, only then do the install and retry. |
||
|
|
||
| ## Information to Gather | ||
|
|
||
|
|
@@ -47,6 +48,8 @@ Before running the script: | |
| 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>"`. | ||
| 4. **Confirm the working tree is clean**: Run `git status --porcelain` and warn if there are uncommitted changes. | ||
|
|
||
| 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. | ||
|
|
||
| ## Execution | ||
|
|
||
| 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. | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -363,6 +363,7 @@ | |
| "oauthlib", | ||
| "objs", | ||
| "odata", | ||
| "octocat", | ||
| "oidc", | ||
| "onboarded", | ||
| "onmicrosoft", | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When this goes to C# use this method to get a list of owners https://github.com/Azure/azure-sdk-tools/blob/main/tools/codeowners-utils/Azure.Sdk.Tools.CodeownersUtils/Parsing/CodeownersParser.cs#L224