[Azure SDK Agent] Readiness precheck (checkReady:true) falsely reports "APIView not approved"
- Dominant language
- C#
- Stars
- 135
- Forks
- 260
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 144
Description
While releasing the first GA of Microsoft Discovery Python SDK, the `azsdk_release_sdk` readiness check (`checkReady: true`) repeatedly failed with "API view is not approved for GA release", even though the referenced APIView revision was fully approved (as confirmed via APIView web UI). This issue was traced to a parser-version mismatch between the approved revision and the release-time `api.md`. The actual release path (`checkReady: false`) does not enforce the same check and triggered the release pipeline successfully against the identical repo/APIView state.
## Environment
- Package: `azure-ai-discovery (Python), first GA release, 1.0.0`
- SDK PR: Azure/azure-sdk-for-python#48265, merged to main (7c2afb34)
- Release plan: 2205 (work item 34103)
- APIView review: 9609f7876a9a41ed81a025866dbf3017
- Revision: f3a16df62cec4971b0e34dc7130a9019
## Observed Behavior
- The `azsdk_release_sdk` tool with `checkReady: true` returned:
```
Package is not ready for release. API view is not approved for GA release of package
'azure-ai-discovery'. API Review required at https://spa.apiview.dev/review/9609f787...
```
- APIView UI showed `Approved` and `First Release Approved` for the same revision listed in the error message.
- The approved revision `f3a16df6` was generated with `apiview-stub-generator 0.3.28, Python 3.10.20` (per the revision's own diagnostic comment)
- The shipped GA api.md was regenerated with the CI-pinned version `0.3.30, Python 3.12.3`
- The api.md markdown is byte-identical between `0.3.28` and `0.3.30`
- The APIView token stream embeds the line
`parsed using apiview-stub-generator(version:0.3.30), Python version: 3.12.3`
- It seems that the issue stems from APIView's content comparison concluding that the `0.3.28` approved revision and the `0.3.30` release-time surface are different documents, causing the readiness check to fail
## Impact
- Invoking the actual release path `azsdk_release_sdk` with `checkReady: false` succeeds/triggers the release pipeline whereas this same repo was rejected with `checkReady: true` set (i.e., readiness precheck and release trigger have different APIView approval logic)
Contributor guide
Assessment
This issue has not been assessed yet.