Describe the bug
SDK generation can fail during the APIStub breaking-change check when downloading a previously released wheel. The command says it is downloading from PyPI, but it inherits the Azure SDK Azure Artifacts index. If that feed cannot serve the upstream wheel, the command exits without trying public PyPI.
Pipeline failure: Pipelines - Run 20260813.14 logs
Observed behavior
The azure-mgmt-scvmm breaking-change check invokes:
python -m pip download azure-mgmt-scvmm==1.0.0 --no-deps --only-binary=:all: -d <staging-directory>
The log reports Downloading azure-mgmt-scvmm==1.0.0 from PyPI, but pip uses:
https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-python/pypi/simple/
The download returns exit status 2 and fails the breaking-change check. Version 1.0.0 has a compatible, non-yanked py3-none-any wheel on public PyPI, and a later normal installation in the same pipeline succeeds.
Expected behavior
- Try the Azure SDK package feed first.
- If that download fails, retry the same wheel from public PyPI.
- If both indexes fail, report the final error and fail the check.
- Log which index is being used so the failure is diagnosable.
Proposed fix
Draft PR #48571 implements the feed-first/public-PyPI fallback and adds tests for primary success, fallback success, and both indexes failing.
Describe the bug
SDK generation can fail during the APIStub breaking-change check when downloading a previously released wheel. The command says it is downloading from PyPI, but it inherits the Azure SDK Azure Artifacts index. If that feed cannot serve the upstream wheel, the command exits without trying public PyPI.
Pipeline failure: Pipelines - Run 20260813.14 logs
Observed behavior
The
azure-mgmt-scvmmbreaking-change check invokes:The log reports
Downloading azure-mgmt-scvmm==1.0.0 from PyPI, but pip uses:The download returns exit status 2 and fails the breaking-change check. Version
1.0.0has a compatible, non-yankedpy3-none-anywheel on public PyPI, and a later normal installation in the same pipeline succeeds.Expected behavior
Proposed fix
Draft PR #48571 implements the feed-first/public-PyPI fallback and adds tests for primary success, fallback success, and both indexes failing.